画像処理装置及び画像処理方法、並びに当該画像処理方法を用いたプログラム
【課題】並列演算プロセッサに適した手法で、大きな欠損の形状補正処理を繰り返し複数回実行することができる。
【解決手段】処理対象の欠損を含む図形画像に対して膨張フィルタ及び収縮フィルタを含む画像処理フィルタを用いて上記欠損を埋めるように当該図形画像の形状を補正する形状補正処理を行う画像処理装置において、上記画像処理フィルタを回転し、もしくは上記図形画像を回転して上記形状補正処理を繰り返し複数回実行する。ここで、互いに異なる形状を有する複数の画像処理フィルタを用いる。また、1×複数画素の棒形状を有する画像処理フィルタを用いて、SIMD(Single Instruction Multi Data)単位で上記形状補正処理を行う。
【解決手段】処理対象の欠損を含む図形画像に対して膨張フィルタ及び収縮フィルタを含む画像処理フィルタを用いて上記欠損を埋めるように当該図形画像の形状を補正する形状補正処理を行う画像処理装置において、上記画像処理フィルタを回転し、もしくは上記図形画像を回転して上記形状補正処理を繰り返し複数回実行する。ここで、互いに異なる形状を有する複数の画像処理フィルタを用いる。また、1×複数画素の棒形状を有する画像処理フィルタを用いて、SIMD(Single Instruction Multi Data)単位で上記形状補正処理を行う。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、処理対象の欠損を含む図形の画像データに対して欠損を埋める形状補正処理を実行する画像処理装置及び画像処理方法、上記画像処理方法を用いたコンピュータにより実行可能なプログラム関する。
【背景技術】
【0002】
濃淡画像の復元が十分でないときに、二値画像は雑音を含み、その後の特徴抽出に悪影響を与える場合があり、平滑化などの処理が必要となる。二値画像では、値は1又は0であり、平滑化は値を反転させることになるので、図形を変形させる(以下、図形変形処理という。)。図形変形処理には、収縮と膨張、細線化、距離変換などの処理が含まれる(例えば、非特許文献1参照。)。これらの処理は図形の形状を補正するので、「形状補正処理」とも呼ばれる。
【0003】
雑音の定義である、緩やかに変化している部分での急峻な濃度変化や滑らかな形状の変形は、二値画像では図3に示すように、大きな面積を占有する図形中の小さな背景(図形)や境界部分における小さな凹凸として出現する。このような雑音を除去する方法として、収縮や膨張がある。ここで、収縮は浸食とも呼ばれ、膨張は拡大とも呼ばれる。ここで、図3のように、収縮処理を実行した後膨張処理を実行するか、もしくは、膨張処理を実行した後収縮処理を実行することで、図形を所定の元の形状に修正することが知られている。
【0004】
膨張は1の画素の近傍を1に変換し、収縮は0の画素の近傍を0に変換する操作である。基本的な操作は1画素分の収縮・膨張であり、近傍としては例えば4−近傍形、又は8−近傍形のいずれかがよく用いられている。これらの操作は多画素に拡張することができ、図4において中心画素Pの影響範囲を示す。図4において、1は1画素操作、2と1は2画素操作の範囲を示す(例えば、非特許文献1参照。)。
【0005】
図6は図4の収縮フィルタ・膨張フィルタの具体例(3×3画素フィルタ)を示す図である。図6において、膨張フィルタでは、3×3の中心画素の輝度を周りの9個(中心画素を含む)の画素の中での最大輝度に置き換える処理を行う。特に、黒いノイズ成分を除去する効果を有している。また、収縮フィルタとは、逆に中心画素の輝度を周りの9個(中心画素を含む)の画素の中で最小輝度に置き換える処理をいう。特に、白いノイズ成分を除去する効果を有している。すなわち、画像にゴミや汚れなどの細かいノイズ成分が含まれるとき、このような膨張フィルタ又は収縮フィルタを用いて、そのノイズを除去することができ、クリーンな画像を得ることができる。
【0006】
【特許文献1】特開2002−203207号公報。
【特許文献2】特開2008−052468号公報。
【特許文献3】特開2008−258980号公報。
【非特許文献1】土屋裕ほか,「画像処理」,コロナ社,94−95頁,1990年1月25日発行。
【発明の開示】
【発明が解決しようとする課題】
【0007】
例えば、特許文献1及び2においては、膨張フィルタ又は収縮フィルタを用いて形状補正処理を実行することで、対象画像の小さな欠損を除去することができるが、大きな欠損の除去ができないという問題点があった。ここで、膨張フィルタを用いた処理した後、収縮フィルタを用いて処理すると、白画素中の黒のノイズ成分を削除することができ、収縮フィルタを用いた処理した後、膨張フィルタを用いて処理すると、反対のノイズ削除が可能である。
【0008】
また、例えば、特許文献3においては、原稿から画像を読み取る装置において、読み取った原稿画像の傾斜角度を高速で検出でき、かつその処理のために大きなメモリ容量も必要としないようにするために以下の構成を有している。すなわち、SIMD(Single Instruction Multi Data)処理部は、読み取り動作と並行して、読み取られた画像データから主走査ライン方向に配列された所定数の画素データのそれぞれを並行して取得し、取得した所定数の画素データのそれぞれについて並行して画素データ値の変化点を検出し、検出された変化点の位置情報としてその変化点の画素位置情報とライン位置情報との対を少なくとも2つの位置で記録しておき、記録された画素位置情報の差分値とライン位置情報の差分値とを用いて画像の傾斜角度を算出する。
【0009】
当該傾斜角度の算出方法を用いて、微分係数をエッジに沿って演算し極大・極小値(傾きが急激に変化する所)から判別し形状補正処理を実行していた。ところが、この処理は並列演算プロセッサ向きでない。その理由は当該処理が逐次処理であることであり、浮動少数点演算機能が必要となり処理が複雑であるという問題点があった。
【0010】
本発明の目的は以上の問題点を解決し、並列演算プロセッサに適した手法で、大きな欠損の形状補正処理を実行することができる画像処理装置及び画像処理方法、並びに当該画像処理方法を用いたプログラムを提供することにある。
【課題を解決するための手段】
【0011】
第1の発明に係る画像処理装置は、処理対象の欠損を含む図形画像に対して膨張フィルタ及び収縮フィルタを含む画像処理フィルタを用いて上記欠損を埋めるように当該図形画像の形状を補正する形状補正処理を行う画像処理装置において、
上記画像処理フィルタを回転し、もしくは上記図形画像を回転して上記形状補正処理を繰り返し複数回実行することを特徴とする。
【0012】
上記画像処理装置において、上記形状補正処理において、互いに異なる形状を有する複数の画像処理フィルタを用いることを特徴とする。
【0013】
また、上記画像処理装置において、上記画像処理フィルタは、1×複数画素の棒形状を有することを特徴とする。ここで、上記棒形状を有する画像処理フィルタを用いてSIMD(Single Instruction Multi Data)単位で上記形状補正処理を行うことを特徴とする。
【0014】
さらに、上記画像処理装置において、上記画像処理フィルタは、実質的に多角形状を有することを特徴とする。ここで、上記画像処理フィルタは、矩形形状を有することを特徴とする。
【0015】
またさらに、上記画像処理装置において、上記画像処理フィルタは、実質的に円形形状を有することを特徴とする。
【0016】
第2の発明に係る画像処理方法は、処理対象の欠損を含む図形画像に対して膨張フィルタ及び収縮フィルタを含む画像処理フィルタを用いて上記欠損を埋めるように当該図形画像の形状を補正する形状補正処理を行う画像処理方法において、
上記画像処理フィルタを回転し、もしくは上記図形画像を回転して上記形状補正処理を繰り返し複数回実行することを特徴とする。
【0017】
上記画像処理方法において、上記形状補正処理において、互いに異なる形状を有する複数の画像処理フィルタを用いることを特徴とする。
【0018】
また、上記画像処理方法において、上記画像処理フィルタは、1×複数画素の棒形状を有することを特徴とする。ここで、上記棒形状を有する画像処理フィルタを用いてSIMD(Single Instruction Multi Data)単位で上記形状補正処理を行うことを特徴とする。
【0019】
さらに、上記画像処理方法において、上記画像処理フィルタは、実質的に多角形状を有することを特徴とする。ここで、上記画像処理フィルタは、矩形形状を有することを特徴とする。
【0020】
またさらに、上記画像処理方法において、上記画像処理フィルタは、実質的に円形形状を有することを特徴とする。
【0021】
第3の発明に係るコンピュータにより実行可能なプログラムは、上記画像処理方法の処理ステップを含むことを特徴とする。
【発明の効果】
【0022】
本発明に係る画像処理装置及び画像処理方法によれば、上記画像処理フィルタを回転し、もしくは上記図形画像を回転して上記形状補正処理を繰り返し複数回実行することにより、1回の処理では補正不可能な部分の補間をすることができ、また、参照ライン数が減る、並列処理が可能となるので高速に処理することができる。それ故、上記形状補正処理の処理性能を従来技術に比較して大幅に向上できる。
【0023】
また、上記形状補正処理において、互いに異なる形状を有する複数の画像処理フィルタを用いることで、特定の方向を得意とする画像処理フィルタを必要最小限実施することで、上記形状補正処理の処理性能を従来技術に比較して大幅に向上できる。
【0024】
さらに、1×複数画素の棒形状を有する画像処理フィルタを用いて、SIMD(Single Instruction Multi Data)単位で上記形状補正処理を行うことで従来技術に比較してきわめて高速で画像処理を実行することができる。
【発明を実施するための最良の形態】
【0025】
以下、本発明に係る実施形態について図面を参照して説明する。なお、以下の各実施形態において、同様の構成要素については同一の符号を付している。
【0026】
図1は本発明の一実施形態に係る、例えばデジタル複写機である画像処理装置の構成を示すブロック図である。図1において、当該画像処理装置は、所定のプログラムに従って、この装置の全体を制御するCPU1と、そのプログラムや固定データなどが書き込まれているROM2と、原稿上の画像を読み取る画像読み取り部3と、画像読み取り部3を制御して読み取られた画像データを取り込む読み取りインタフェース(I/F)部4と、取り込まれた画像データに対して後述するSIMD単位の処理を施すSIMD処理部5と、読み取りI/F部4又はSIMD処理部5から出力された画像データなど各種データを記憶するRAM6と、RAM6に取り込まれた画像データを用いて記録紙上に画像を形成する画像形成部7と、画像形成部7を制御する画像形成インタフェース(I/F)部8と、表示装置や操作キーを有して利用者が装置側に指示情報を入力したりする操作部9などを備えて構成される。なお、SIMD処理部5は専用のプロセッサ及びバッファメモリなどを有し、例えば傾斜角度を算出する処理や、形状補正処理などを実行する。以下の実施形態において、SIMD処理部5によりSIMD単位で画像処理を実行しているが、本発明はこれに限らず、複数行の単位でCPU1により画像処理を実行してもよい。
【0027】
図2は図1の画像処理装置において取り扱う画像データのデータ構成を示す説明図である。ここで、図2(a)は、フレームの画像データが、副走査方向に並んだ複数のラインデータから成り、そのラインデータが主走査方向に配列された複数の画素データから成ることを示している。ラインデータは、図2(b)に示すように、複数のSIMD(Single Instruction Multi Data)から成る。なお、ここで、「SIMD」とは、1つの処理単位として処理される所定数の画素データである。このようなSIMDを処理単位とする演算処理、つまりSIMD単位処理では、SIMD単位を構成している複数の画素データを一度に入力し、入力した複数の画素データを並列的に処理するので、一度に大量のデータを処理することができ、演算処理を短時間で行うことができるという利点がある。
【0028】
図3は図1の画像処理装置のSIMD処理部5により実行される画像処理を示すフローチャートである。図3の処理では、主走査方向に対する傾斜角度を算出する場合について以下説明する。
【0029】
図1の操作部9内のコピースタートキーが押下され、原稿読み取りが始まると、SIMD処理部5のプロセッサはまず、フレーム単位処理を行う(ステップS1)。例えばこの時点ではこれから処理しようとするラインの番号として「1」をSIMD処理部5内メモリの所定アドレスAに設定する。
【0030】
次いで、SIMD処理部5のプロセッサはライン単位処理を行う(ステップS2)。例えばこの時点ではこれから処理しようとするSIMDの番号として「1」をSIMD処理部5内メモリの所定アドレスBに設定する。そして、読み取りI/F部4を介してSIMD処理部5内のバッファメモリに第1ラインの画像データが入ってくると、SIMD1のSIMD単位処理が行なわれる(ステップS3)。専用回路を用いて例えば352個の画素データを並行して所定の値と比較する処理を行うわけである。また、その結果、所定の画素位置(例えば3画素目)の画素データの値が所定の値を超えていたならば変化点と判定し、所定アドレスAに設定されているライン番号をそのときのSIMD番号に対応付けてSIMD処理部5内メモリの所定アドレスCに記録する。但し、同一SIMDですでに記録が行なわれているならば所定の値を超えていても変化点ではないので記録しない。
【0031】
こうして、そのSIMDの処理が終了すると(ステップS4でYES)、SIMD処理部5のプロセッサはSIMD処理部5内メモリの所定アドレスGに設定されている1ラインのSIMD数と所定アドレスBに設定されているSIMD番号を比較することによりそのときのラインの処理がすべて終了したか否かを判定する(ステップS5)。そして、終了していないと判定されたならば(ステップS5でNO)、ステップS2に戻り、SIMD番号の値を1だけ増やし(ステップS2)、次のステップS3へ進む。
【0032】
このような繰り返しの後、そのときのラインのすべてのSIMD単位処理が終了したと判定されたならば(ステップS5でYES)、SIMD処理部5はSIMD処理部5内メモリの所定アドレスHに設定されている1フレームのライン数と所定アドレスAに設定されているライン番号を比較することにより、フレーム単位処理が終了か否かを判定する(ステップS6)。そして、終了でないならば(ステップS6でNO)、ステップS1に戻り、ライン番号の値を1だけ増やして(ステップS1)、以降の処理を繰り返す。
【0033】
こうして、フレーム単位処理が終了したならば(ステップS6でYES)、SIMD処理部5のプロセッサは記録しておいたライン番号を前述した計算式に代入して傾斜角度を算出する(ステップS7)。
【0034】
なお、ステップS6においてはライン番号が所定数以上記録されたか否かを判定し、所定数以上記録されたならばフレーム単位処理終了と判定してもよい。また、3個以上のライン番号が記録されていたならば、最も離れた2つのSIMD番号に対応づけられた2つのライン番号を用いて傾斜角度を算出する。そのほうが主走査方向の差分値、副走査方向の差分値とも大きな値となり、傾斜角度の精度が向上する。
【0035】
また、以上の説明は主走査方向に対する原稿画像横辺の傾斜角度を算出する場合であるが、副走査方向に対する原稿画像縦辺の傾斜角度を算出する場合も基本的には主走査方向と同様で、例えば所定の2つのラインについてそれぞれのSIMD単位内に原稿画像左端側から変化点があるか否かを調べ、あればその変化点の画素位置を記録する。その際、SIMD処理部5では、1つのSIMD単位の画素数分のレジスタを持ち、個々の画素データに対応して並列に処理された比較結果をそのレジスタ内の対応する位置に書き込むので(例えば、所定値未満ならば「0」、所定値以上であれば「1」と書き込む)、SIMD処理部5内のプロセッサはレジスタを1画素目から順に調べて初めて「1」になった画素位置を変化点とする。そして、記録された2つのラインの変化点の値を用い、次の計算式から傾斜角度を算出する。
【0036】
[数1]
傾斜角度=(主走査方向画素位置差分)/(副走査方向のライン番号差分) (1)
【0037】
以上説明したように、図1ないし図3の実施形態によれば、SIMD単位内の各画素データを並列に処理するので、傾斜角度を高速に算出でき、且つ第1ラインから順に変化点を記録するだけで傾斜角度を算出できるので、バッファメモリの容量は数ライン分だけでよい。図3の処理フローでは、傾斜角度の計算をSIMD処理部5により実行しているが、同様の処理フローにより、以下に詳細後述する形状補正処理を実行することもできる。
【0038】
次いで、元画像の欠損を検出及び穴埋め方法について以下に説明する。図7は図形の修正処理を行う、欠損11を含む円形の元画像10を示す平面図であり、図8は図7の欠損11付近の拡大図である。また、図9は図7及び図8の欠損11を検出する方法を示すグラフであって、元画像の輪郭線上の位置の角度に対する傾きを示すグラフである。図7及び図8において、一点鎖線は欠損11無しの場合の代表点での接線であり、点線は欠損11有りの場合の代表点での接線である。
【0039】
元画像10の形状補正処理(穴埋め)を処理する場合、図7及び図8に示すように、微分係数(傾き)を円形の元画像10のエッジに沿って演算し、極大値・極小値(図9の傾きが急激に変化する所:図9参照。)を算出し、算出値から欠損111(補正対象部分)を判別し、対象部分の欠損を補正していた。そこで、矩形の膨張フィルタ又は収縮フィルタを用いて形状補正処理を実行すると、効率的に欠損11の穴埋めを行うことができかつ実質的にその穴埋めを行うことができる得意な方向と、欠損11の穴埋めをあまり効率的に行うことができない不得意な方向があることを発明者は以下のように発見した。なお、以下の実施例においては、種々の形状のフィルタ(収縮フィルタ及び膨張フィルタ)を用いて形状補正処理を行って欠損を埋める処理について説明する。ここで、形状補正処理は、処理対象の図形画像に対して収縮フィルタを用いて収縮処理を実行した後、膨張フィルタを用いて膨張処理を実行して行い、もしくは、処理対象の図形画像に対して膨張フィルタを用いて膨張処理を実行した後、収縮フィルタを用いて収縮処理を実行して行う。
【実施例1】
【0040】
図10は実施形態に係る画像処理装置を用いて矩形フィルタ処理(実施例1)を行う、複数の欠損12を含む元画像10を示す平面図である。また、図11(a)は図10の元画像10に対して矩形フィルタ処理を実行した後の画像を示す平面図であり、図11(b)は当該矩形フィルタ処理で用いる矩形フィルタ21の形状を示す平面図である。
【0041】
図10において、円形の元画像10は複数の欠損12を有する。図11(b)の矩形フィルタ21を用いて膨張処理及び収縮処理を行うと、図11(a)の41に示すように、矩形フィルタ21の辺に沿っていない方向(不得意な方向)はあまり埋めることができないが、図11(b)の42に示すように、矩形フィルタ11の辺の向きに沿った方向(図11(a)の水平方向及び垂直方向:得意な方向)で効果的にかつ効率的に欠損12を埋めることができる。
【実施例2】
【0042】
図12(a)は図10の元画像10に対して45度だけ回転した矩形フィルタ処理(実施例2)を実行した後の画像を示す平面図であり、図12(b)は当該矩形フィルタ処理で用いる矩形フィルタ21aの形状を示す平面図である。
【0043】
図10(b)の矩形フィルタ21を45度だけ回転させた矩形フィルタ21a(図11(b))を用いて膨張処理及び収縮処理を実行すると、図12(a)に示すように、矩形フィルタ21の場合と同様に、矩形フィルタ21aの辺に沿っていない方向41(不得意な方向)はあまり埋めることができないが、矩形フィルタ21aの辺の向きに沿った方向42(図12の(a)の水平方向及び垂直方向:得意な方向)で効果的にかつ効率的に欠損12を埋めることができる。
【実施例3】
【0044】
図13(a)は図10の元画像10に対して矩形フィルタ処理(実施例1)及び45度だけ回転した矩形フィルタ処理(実施例2)の両方を実行した(実施例3)後の画像を示す平面図であり、図13(b)は当該処理で用いる矩形フィルタ21,21aの形状を示す平面図である。
【0045】
図13に示す実施例3では、矩形フィルタ21の不得意な方向を補うために、矩形フィルタ21と同一の形状を有するが例えば45度だけ回転してなる矩形フィルタ21aを予め用意し、矩形フィルタ21を用いて膨張処理及び収縮処理を実行した後、矩形フィルタ21aを用いて膨張処理及び収縮処理を実行する。そうすることで、図13(a)に示すように欠損を実質的に埋めることができる(符号61参照)。
【0046】
実施例3では、互いに45度回転してなる2つの矩形フィルタ21,21aを用いているが、互いに所定の角度だけ回転してなる複数の矩形フィルタを用いて形状補正処理を実行してもよい。例えば、回転角度が30度であるときは、3つの矩形フィルタを用いて形状補正処理を繰り返し複数回実行する。また、例えば、回転角度が15度であるときは、6つの矩形フィルタを用いて形状補正処理を繰り返し複数回実行する。
【実施例4】
【0047】
図14は実施形態に係る画像処理装置を用いて円形フィルタ処理(実施例4)を行う、複数の欠損13を含む元画像10を示す平面図である。また、図15(a)は図14の元画像10に対して円形フィルタ処理を実行した後の画像を示す平面図であり、図15(b)は当該円形フィルタ処理で用いる円形フィルタ22の形状を示す平面図である。
【0048】
図14及び図15の実施例4では、処理(演算)時間を短縮するために、複数の角度違いの矩形フィルタ21,21aではなく、円形フィルタ22で用いて形状補正処理を繰り返し複数回実行することで処理時間を大幅に削減できる。なお、図15に示すように、矩形フィルタ21,21aよりは外側まで埋めることが可能だが、矩形フィルタ21,21aの得意な向きの欠損については、むしろ補正できる領域が少ない。なお、円形フィルタ22は、五角形以上の多角形であってもよく、実質的に円形状を有する多角形フィルタであっても同様の作用効果を有する。また、補正すべき図形によっては、三角形状のフィルタを用いてもよい。
【実施例5】
【0049】
図16は実施形態に係る画像処理装置を用いて棒状フィルタ処理(実施例5)を行う、複数の欠損14を含む元画像10を示す平面図である。また、図17(a)は図16の元画像10に対して棒状フィルタ処理を実行した後の画像を示す平面図であり、図17(b)は当該棒状フィルタ処理で用いる棒状フィルタ30の形状を示す平面図であり、(c)は当該棒状フィルタ30を種々の回転角度で回転したときの状態を示す平面図である。
【0050】
図17の実施例5においては、上述の各フィルタ21,21a,22の特徴を考慮すると、得意方向部分の演算のみを実施することで対象の図形形状に合わせた、回転角度が異なる棒状フィルタ30(1行×複数N画素)を複数個使用することで少ない演算量でと上記記載の矩形フィルタ21,21aと同等の結果を得ることができると考えられる。図17(c)の具体例では、棒状フィルタ30を22.5度ずつ回転させることにより、8個の棒状フィルタ30〜37を用意して、各棒状フィルタ30〜37を順次用いて形状補正処理を繰り返し複数回実行することにより、概ね360度の範囲をカバーして図形補正することができ、しかも演算処理時間を大幅に削減できる。特に、棒状フィルタ30〜37を用いて図1のSIMD処理部5により形状補正処理を繰り返し複数回実行することで、逐次処理を行わずに、並列演算プロセッサに適した手法で、大きな欠損の形状補正処理を効率的に実行することができる。
【0051】
図18は図16の元画像10に対して円形フィルタ21の処理(比較例)を実行した後の画像を示す平面図である。図17(a)の処理後の図形と、図18の処理後の図形とを比較すると、棒状フィルタ30〜37を用いた形状補正処理に比較して、円形フィルタ22を用いた形状補正処理では、補正できない部分が多いことがわかる。
【実施例6】
【0052】
図19(a)は図16の元画像10に対して横方向棒状フィルタ30の処理(実施例7)を実行した後の画像を示す平面図であり、図19(b)は当該棒状フィルタ30の処理で用いる棒状フィルタ30の形状を示す平面図である。また、図20(a)は図19の画像を22.5度だけ回転して横方向棒状フィルタ30の処理(実施例7)を実行した後の画像を示す平面図であり、図20(b)は当該棒状フィルタ30の処理で用いる棒状フィルタ30の形状を示す平面図である。さらに、図21は図20の処理と同様にして、22.5度の回転と横方向棒状フィルタ処理を7回繰り返して実行し、ここで、元画像から180度だけ回転した向きになっているためにさらに180度だけ回転して元画像と同じ向きにした画像を示す平面図である。
【0053】
すなわち、実施例6では、棒状フィルタ30を用いて形状補正処理を繰り返し複数回実行するが、棒状フィルタ30を回転せずに、対象の図形(元画像10)を回転することで、実施例5と同様の作用効果を得られることを以下に示す。
【0054】
まず、図19(a)に示すように、棒状フィルタ30を用いて元画像10に対して形状補正処理を繰り返し複数回実行する。次いで、図20に示すように、元画像10を22.5度だけ回転して棒状フィルタ30を用いて形状補正処理を実行する。さらに、同様にして、22.5度の回転と横方向棒状フィルタ処理を7回繰り返して形状補正処理を実行する。元画像10から180度だけ回転した向きになっているため、さらに180度だけ回転して元画像10と同じ向きにする。
【0055】
以上説明したように、実施例6によれば、対象画像を回転させて形状補正処理を繰り返し複数回実行することで、参照ライン数が少ないために高速に処理することが可能な角度の棒状フィルタ30だけを用いて、上記角度が異なる複数の棒状フィルタ30〜37を複数個使用した場合と同等の結果を得ることができる。すなわち、実施例6では、複数個の棒状フィルタ30〜37を事前に用意する必要がないという特有の効果を有する。さらに、上記画像処理を、例えばSIMD部5などの並列演算プロセッサを使用することでさらに高速に形状補正処理を実行することができる。
【0056】
変形例.
以上の実施例6においては、対象画像を回転させているが、実施例5のようにフィルタ(収縮フィルタ及び膨張フィルタ)を回転させてもよい。
【0057】
なお、フィルタ(収縮フィルタ及び膨張フィルタ)の形状は円形、矩形を含む多角形、それらの実質的に同様な形状であってもよく、当該フィルタの大きさは処理対象画像のサイズに応じて決定されるが、例えば、3×3、5×5、7×7、9×9などのサイズを用いることができる。
【0058】
上記の各実施例に係る図形補正処理の処理ステップを含むプログラムはコンピュータにより実行可能であって、ROM2に格納されてCPU1により実行され、もしくはSIMD処理部5内の内蔵メモリに格納されてSIMD処理部5により実行される。当該プログラムは例えばCD−ROM、CD−R、DVD、DVD−Rなどのコンピュータにより読み取り可能な記録媒体に記録してもよい。
【産業上の利用可能性】
【0059】
以上詳述したように、本発明に係る画像処理装置及び画像処理方法によれば、上記画像処理フィルタを回転し、もしくは上記図形画像を回転して上記形状補正処理を繰り返し複数回実行することにより、1回の処理では補正不可能な部分の補間をすることができ、また、参照ライン数が減る、並列処理が可能となるので高速に処理することができる。それ故、上記形状補正処理の処理性能を従来技術に比較して大幅に向上できる。
【0060】
また、上記形状補正処理において、互いに異なる形状を有する複数の画像処理フィルタを用いることで、特定の方向を得意とする画像処理フィルタを必要最小限実施することで、上記形状補正処理の処理性能を従来技術に比較して大幅に向上できる。
【0061】
さらに、1×複数画素の棒形状を有する画像処理フィルタを用いて、SIMD(Single Instruction Multi Data)単位で上記形状補正処理を行うことで従来技術に比較してきわめて高速で画像処理を実行することができる。
【図面の簡単な説明】
【0062】
【図1】本発明の一実施形態に係る画像処理装置の構成を示すブロック図である。
【図2】図1の画像処理装置において取り扱う画像データのデータ構成を示す説明図である。
【図3】図1の画像処理装置のSIMD処理部5により実行される画像処理を示すフローチャートである。
【図4】一般的な収縮フィルタ・膨張フィルタによる図形の修正を示す説明図である。
【図5】図4の収縮フィルタ・膨張フィルタの一例を示す図である。
【図6】図4の収縮フィルタ・膨張フィルタの具体例を示す図である。
【図7】図形の修正処理を行う、欠損11を含む元画像10を示す平面図である。
【図8】図7の欠損11付近の拡大図である。
【図9】図7及び図8の欠損11を検出する方法を示すグラフであって、元画像の輪郭線上の位置の角度に対する傾きを示すグラフである。
【図10】実施形態に係る画像処理装置を用いて矩形フィルタ処理(実施例1)を行う、複数の欠損12を含む元画像10を示す平面図である。
【図11】(a)は図10の元画像10に対して矩形フィルタ処理を実行した後の画像を示す平面図であり、(b)は当該矩形フィルタ処理で用いる矩形フィルタ21の形状を示す平面図である。
【図12】(a)は図10の元画像10に対して45度だけ回転した矩形フィルタ処理(実施例2)を実行した後の画像を示す平面図であり、(b)は当該矩形フィルタ処理で用いる矩形フィルタ21aの形状を示す平面図である。
【図13】(a)は図10の元画像10に対して矩形フィルタ処理(実施例1)及び45度だけ回転した矩形フィルタ処理(実施例2)の両方を実行した後の画像を示す平面図であり、(b)は当該処理で用いる矩形フィルタ21,21aの形状を示す平面図である。
【図14】実施形態に係る画像処理装置を用いて円形フィルタ処理(実施例4)を行う、複数の欠損13を含む元画像10を示す平面図である。
【図15】(a)は図14の元画像10に対して円形フィルタ処理を実行した後の画像を示す平面図であり、(b)は当該円形フィルタ処理で用いる円形フィルタ22の形状を示す平面図である。
【図16】実施形態に係る画像処理装置を用いて棒状フィルタ処理(実施例5)を行う、複数の欠損14を含む元画像10を示す平面図である。
【図17】(a)は図16の元画像10に対して棒状フィルタ処理を実行した後の画像を示す平面図であり、(b)は当該棒状フィルタ処理で用いる棒状フィルタ30の形状を示す平面図であり、(c)は当該棒状フィルタ30を種々の回転角度で回転したときの状態を示す平面図である。
【図18】図16の元画像10に対して円形フィルタ21の処理(比較例)を実行した後の画像を示す平面図である。
【図19】(a)は図16の元画像10に対して横方向棒状フィルタ30の処理(実施例6)を実行した後の画像を示す平面図であり、(b)は当該棒状フィルタ30の処理で用いる棒状フィルタ30の形状を示す平面図である。
【図20】(a)は図19の画像を22.5度だけ回転して横方向棒状フィルタ30の処理(実施例7)を実行した後の画像を示す平面図であり、(b)は当該棒状フィルタ30の処理で用いる棒状フィルタ30の形状を示す平面図である。
【図21】図20の処理と同様にして、22.5度の回転と横方向棒状フィルタ処理を7回繰り返して実行し、ここで、元画像から180度だけ回転した向きになっているためにさらに180度だけ回転して元画像と同じ向きにした画像を示す平面図である。
【符号の説明】
【0063】
1…CPU、
2…ROM、
3…画像読み取り部、
4…読み取りインタフェース部、
5…SIMD処理部、
6…RAM、
7…画像形成部、
8…画像形成インタフェース部、
9…操作部、
10…元画像、
11〜14…欠損、
21,21a…矩形フィルタ、
22…円形フィルタ、
30〜37…棒状フィルタ。
【技術分野】
【0001】
本発明は、処理対象の欠損を含む図形の画像データに対して欠損を埋める形状補正処理を実行する画像処理装置及び画像処理方法、上記画像処理方法を用いたコンピュータにより実行可能なプログラム関する。
【背景技術】
【0002】
濃淡画像の復元が十分でないときに、二値画像は雑音を含み、その後の特徴抽出に悪影響を与える場合があり、平滑化などの処理が必要となる。二値画像では、値は1又は0であり、平滑化は値を反転させることになるので、図形を変形させる(以下、図形変形処理という。)。図形変形処理には、収縮と膨張、細線化、距離変換などの処理が含まれる(例えば、非特許文献1参照。)。これらの処理は図形の形状を補正するので、「形状補正処理」とも呼ばれる。
【0003】
雑音の定義である、緩やかに変化している部分での急峻な濃度変化や滑らかな形状の変形は、二値画像では図3に示すように、大きな面積を占有する図形中の小さな背景(図形)や境界部分における小さな凹凸として出現する。このような雑音を除去する方法として、収縮や膨張がある。ここで、収縮は浸食とも呼ばれ、膨張は拡大とも呼ばれる。ここで、図3のように、収縮処理を実行した後膨張処理を実行するか、もしくは、膨張処理を実行した後収縮処理を実行することで、図形を所定の元の形状に修正することが知られている。
【0004】
膨張は1の画素の近傍を1に変換し、収縮は0の画素の近傍を0に変換する操作である。基本的な操作は1画素分の収縮・膨張であり、近傍としては例えば4−近傍形、又は8−近傍形のいずれかがよく用いられている。これらの操作は多画素に拡張することができ、図4において中心画素Pの影響範囲を示す。図4において、1は1画素操作、2と1は2画素操作の範囲を示す(例えば、非特許文献1参照。)。
【0005】
図6は図4の収縮フィルタ・膨張フィルタの具体例(3×3画素フィルタ)を示す図である。図6において、膨張フィルタでは、3×3の中心画素の輝度を周りの9個(中心画素を含む)の画素の中での最大輝度に置き換える処理を行う。特に、黒いノイズ成分を除去する効果を有している。また、収縮フィルタとは、逆に中心画素の輝度を周りの9個(中心画素を含む)の画素の中で最小輝度に置き換える処理をいう。特に、白いノイズ成分を除去する効果を有している。すなわち、画像にゴミや汚れなどの細かいノイズ成分が含まれるとき、このような膨張フィルタ又は収縮フィルタを用いて、そのノイズを除去することができ、クリーンな画像を得ることができる。
【0006】
【特許文献1】特開2002−203207号公報。
【特許文献2】特開2008−052468号公報。
【特許文献3】特開2008−258980号公報。
【非特許文献1】土屋裕ほか,「画像処理」,コロナ社,94−95頁,1990年1月25日発行。
【発明の開示】
【発明が解決しようとする課題】
【0007】
例えば、特許文献1及び2においては、膨張フィルタ又は収縮フィルタを用いて形状補正処理を実行することで、対象画像の小さな欠損を除去することができるが、大きな欠損の除去ができないという問題点があった。ここで、膨張フィルタを用いた処理した後、収縮フィルタを用いて処理すると、白画素中の黒のノイズ成分を削除することができ、収縮フィルタを用いた処理した後、膨張フィルタを用いて処理すると、反対のノイズ削除が可能である。
【0008】
また、例えば、特許文献3においては、原稿から画像を読み取る装置において、読み取った原稿画像の傾斜角度を高速で検出でき、かつその処理のために大きなメモリ容量も必要としないようにするために以下の構成を有している。すなわち、SIMD(Single Instruction Multi Data)処理部は、読み取り動作と並行して、読み取られた画像データから主走査ライン方向に配列された所定数の画素データのそれぞれを並行して取得し、取得した所定数の画素データのそれぞれについて並行して画素データ値の変化点を検出し、検出された変化点の位置情報としてその変化点の画素位置情報とライン位置情報との対を少なくとも2つの位置で記録しておき、記録された画素位置情報の差分値とライン位置情報の差分値とを用いて画像の傾斜角度を算出する。
【0009】
当該傾斜角度の算出方法を用いて、微分係数をエッジに沿って演算し極大・極小値(傾きが急激に変化する所)から判別し形状補正処理を実行していた。ところが、この処理は並列演算プロセッサ向きでない。その理由は当該処理が逐次処理であることであり、浮動少数点演算機能が必要となり処理が複雑であるという問題点があった。
【0010】
本発明の目的は以上の問題点を解決し、並列演算プロセッサに適した手法で、大きな欠損の形状補正処理を実行することができる画像処理装置及び画像処理方法、並びに当該画像処理方法を用いたプログラムを提供することにある。
【課題を解決するための手段】
【0011】
第1の発明に係る画像処理装置は、処理対象の欠損を含む図形画像に対して膨張フィルタ及び収縮フィルタを含む画像処理フィルタを用いて上記欠損を埋めるように当該図形画像の形状を補正する形状補正処理を行う画像処理装置において、
上記画像処理フィルタを回転し、もしくは上記図形画像を回転して上記形状補正処理を繰り返し複数回実行することを特徴とする。
【0012】
上記画像処理装置において、上記形状補正処理において、互いに異なる形状を有する複数の画像処理フィルタを用いることを特徴とする。
【0013】
また、上記画像処理装置において、上記画像処理フィルタは、1×複数画素の棒形状を有することを特徴とする。ここで、上記棒形状を有する画像処理フィルタを用いてSIMD(Single Instruction Multi Data)単位で上記形状補正処理を行うことを特徴とする。
【0014】
さらに、上記画像処理装置において、上記画像処理フィルタは、実質的に多角形状を有することを特徴とする。ここで、上記画像処理フィルタは、矩形形状を有することを特徴とする。
【0015】
またさらに、上記画像処理装置において、上記画像処理フィルタは、実質的に円形形状を有することを特徴とする。
【0016】
第2の発明に係る画像処理方法は、処理対象の欠損を含む図形画像に対して膨張フィルタ及び収縮フィルタを含む画像処理フィルタを用いて上記欠損を埋めるように当該図形画像の形状を補正する形状補正処理を行う画像処理方法において、
上記画像処理フィルタを回転し、もしくは上記図形画像を回転して上記形状補正処理を繰り返し複数回実行することを特徴とする。
【0017】
上記画像処理方法において、上記形状補正処理において、互いに異なる形状を有する複数の画像処理フィルタを用いることを特徴とする。
【0018】
また、上記画像処理方法において、上記画像処理フィルタは、1×複数画素の棒形状を有することを特徴とする。ここで、上記棒形状を有する画像処理フィルタを用いてSIMD(Single Instruction Multi Data)単位で上記形状補正処理を行うことを特徴とする。
【0019】
さらに、上記画像処理方法において、上記画像処理フィルタは、実質的に多角形状を有することを特徴とする。ここで、上記画像処理フィルタは、矩形形状を有することを特徴とする。
【0020】
またさらに、上記画像処理方法において、上記画像処理フィルタは、実質的に円形形状を有することを特徴とする。
【0021】
第3の発明に係るコンピュータにより実行可能なプログラムは、上記画像処理方法の処理ステップを含むことを特徴とする。
【発明の効果】
【0022】
本発明に係る画像処理装置及び画像処理方法によれば、上記画像処理フィルタを回転し、もしくは上記図形画像を回転して上記形状補正処理を繰り返し複数回実行することにより、1回の処理では補正不可能な部分の補間をすることができ、また、参照ライン数が減る、並列処理が可能となるので高速に処理することができる。それ故、上記形状補正処理の処理性能を従来技術に比較して大幅に向上できる。
【0023】
また、上記形状補正処理において、互いに異なる形状を有する複数の画像処理フィルタを用いることで、特定の方向を得意とする画像処理フィルタを必要最小限実施することで、上記形状補正処理の処理性能を従来技術に比較して大幅に向上できる。
【0024】
さらに、1×複数画素の棒形状を有する画像処理フィルタを用いて、SIMD(Single Instruction Multi Data)単位で上記形状補正処理を行うことで従来技術に比較してきわめて高速で画像処理を実行することができる。
【発明を実施するための最良の形態】
【0025】
以下、本発明に係る実施形態について図面を参照して説明する。なお、以下の各実施形態において、同様の構成要素については同一の符号を付している。
【0026】
図1は本発明の一実施形態に係る、例えばデジタル複写機である画像処理装置の構成を示すブロック図である。図1において、当該画像処理装置は、所定のプログラムに従って、この装置の全体を制御するCPU1と、そのプログラムや固定データなどが書き込まれているROM2と、原稿上の画像を読み取る画像読み取り部3と、画像読み取り部3を制御して読み取られた画像データを取り込む読み取りインタフェース(I/F)部4と、取り込まれた画像データに対して後述するSIMD単位の処理を施すSIMD処理部5と、読み取りI/F部4又はSIMD処理部5から出力された画像データなど各種データを記憶するRAM6と、RAM6に取り込まれた画像データを用いて記録紙上に画像を形成する画像形成部7と、画像形成部7を制御する画像形成インタフェース(I/F)部8と、表示装置や操作キーを有して利用者が装置側に指示情報を入力したりする操作部9などを備えて構成される。なお、SIMD処理部5は専用のプロセッサ及びバッファメモリなどを有し、例えば傾斜角度を算出する処理や、形状補正処理などを実行する。以下の実施形態において、SIMD処理部5によりSIMD単位で画像処理を実行しているが、本発明はこれに限らず、複数行の単位でCPU1により画像処理を実行してもよい。
【0027】
図2は図1の画像処理装置において取り扱う画像データのデータ構成を示す説明図である。ここで、図2(a)は、フレームの画像データが、副走査方向に並んだ複数のラインデータから成り、そのラインデータが主走査方向に配列された複数の画素データから成ることを示している。ラインデータは、図2(b)に示すように、複数のSIMD(Single Instruction Multi Data)から成る。なお、ここで、「SIMD」とは、1つの処理単位として処理される所定数の画素データである。このようなSIMDを処理単位とする演算処理、つまりSIMD単位処理では、SIMD単位を構成している複数の画素データを一度に入力し、入力した複数の画素データを並列的に処理するので、一度に大量のデータを処理することができ、演算処理を短時間で行うことができるという利点がある。
【0028】
図3は図1の画像処理装置のSIMD処理部5により実行される画像処理を示すフローチャートである。図3の処理では、主走査方向に対する傾斜角度を算出する場合について以下説明する。
【0029】
図1の操作部9内のコピースタートキーが押下され、原稿読み取りが始まると、SIMD処理部5のプロセッサはまず、フレーム単位処理を行う(ステップS1)。例えばこの時点ではこれから処理しようとするラインの番号として「1」をSIMD処理部5内メモリの所定アドレスAに設定する。
【0030】
次いで、SIMD処理部5のプロセッサはライン単位処理を行う(ステップS2)。例えばこの時点ではこれから処理しようとするSIMDの番号として「1」をSIMD処理部5内メモリの所定アドレスBに設定する。そして、読み取りI/F部4を介してSIMD処理部5内のバッファメモリに第1ラインの画像データが入ってくると、SIMD1のSIMD単位処理が行なわれる(ステップS3)。専用回路を用いて例えば352個の画素データを並行して所定の値と比較する処理を行うわけである。また、その結果、所定の画素位置(例えば3画素目)の画素データの値が所定の値を超えていたならば変化点と判定し、所定アドレスAに設定されているライン番号をそのときのSIMD番号に対応付けてSIMD処理部5内メモリの所定アドレスCに記録する。但し、同一SIMDですでに記録が行なわれているならば所定の値を超えていても変化点ではないので記録しない。
【0031】
こうして、そのSIMDの処理が終了すると(ステップS4でYES)、SIMD処理部5のプロセッサはSIMD処理部5内メモリの所定アドレスGに設定されている1ラインのSIMD数と所定アドレスBに設定されているSIMD番号を比較することによりそのときのラインの処理がすべて終了したか否かを判定する(ステップS5)。そして、終了していないと判定されたならば(ステップS5でNO)、ステップS2に戻り、SIMD番号の値を1だけ増やし(ステップS2)、次のステップS3へ進む。
【0032】
このような繰り返しの後、そのときのラインのすべてのSIMD単位処理が終了したと判定されたならば(ステップS5でYES)、SIMD処理部5はSIMD処理部5内メモリの所定アドレスHに設定されている1フレームのライン数と所定アドレスAに設定されているライン番号を比較することにより、フレーム単位処理が終了か否かを判定する(ステップS6)。そして、終了でないならば(ステップS6でNO)、ステップS1に戻り、ライン番号の値を1だけ増やして(ステップS1)、以降の処理を繰り返す。
【0033】
こうして、フレーム単位処理が終了したならば(ステップS6でYES)、SIMD処理部5のプロセッサは記録しておいたライン番号を前述した計算式に代入して傾斜角度を算出する(ステップS7)。
【0034】
なお、ステップS6においてはライン番号が所定数以上記録されたか否かを判定し、所定数以上記録されたならばフレーム単位処理終了と判定してもよい。また、3個以上のライン番号が記録されていたならば、最も離れた2つのSIMD番号に対応づけられた2つのライン番号を用いて傾斜角度を算出する。そのほうが主走査方向の差分値、副走査方向の差分値とも大きな値となり、傾斜角度の精度が向上する。
【0035】
また、以上の説明は主走査方向に対する原稿画像横辺の傾斜角度を算出する場合であるが、副走査方向に対する原稿画像縦辺の傾斜角度を算出する場合も基本的には主走査方向と同様で、例えば所定の2つのラインについてそれぞれのSIMD単位内に原稿画像左端側から変化点があるか否かを調べ、あればその変化点の画素位置を記録する。その際、SIMD処理部5では、1つのSIMD単位の画素数分のレジスタを持ち、個々の画素データに対応して並列に処理された比較結果をそのレジスタ内の対応する位置に書き込むので(例えば、所定値未満ならば「0」、所定値以上であれば「1」と書き込む)、SIMD処理部5内のプロセッサはレジスタを1画素目から順に調べて初めて「1」になった画素位置を変化点とする。そして、記録された2つのラインの変化点の値を用い、次の計算式から傾斜角度を算出する。
【0036】
[数1]
傾斜角度=(主走査方向画素位置差分)/(副走査方向のライン番号差分) (1)
【0037】
以上説明したように、図1ないし図3の実施形態によれば、SIMD単位内の各画素データを並列に処理するので、傾斜角度を高速に算出でき、且つ第1ラインから順に変化点を記録するだけで傾斜角度を算出できるので、バッファメモリの容量は数ライン分だけでよい。図3の処理フローでは、傾斜角度の計算をSIMD処理部5により実行しているが、同様の処理フローにより、以下に詳細後述する形状補正処理を実行することもできる。
【0038】
次いで、元画像の欠損を検出及び穴埋め方法について以下に説明する。図7は図形の修正処理を行う、欠損11を含む円形の元画像10を示す平面図であり、図8は図7の欠損11付近の拡大図である。また、図9は図7及び図8の欠損11を検出する方法を示すグラフであって、元画像の輪郭線上の位置の角度に対する傾きを示すグラフである。図7及び図8において、一点鎖線は欠損11無しの場合の代表点での接線であり、点線は欠損11有りの場合の代表点での接線である。
【0039】
元画像10の形状補正処理(穴埋め)を処理する場合、図7及び図8に示すように、微分係数(傾き)を円形の元画像10のエッジに沿って演算し、極大値・極小値(図9の傾きが急激に変化する所:図9参照。)を算出し、算出値から欠損111(補正対象部分)を判別し、対象部分の欠損を補正していた。そこで、矩形の膨張フィルタ又は収縮フィルタを用いて形状補正処理を実行すると、効率的に欠損11の穴埋めを行うことができかつ実質的にその穴埋めを行うことができる得意な方向と、欠損11の穴埋めをあまり効率的に行うことができない不得意な方向があることを発明者は以下のように発見した。なお、以下の実施例においては、種々の形状のフィルタ(収縮フィルタ及び膨張フィルタ)を用いて形状補正処理を行って欠損を埋める処理について説明する。ここで、形状補正処理は、処理対象の図形画像に対して収縮フィルタを用いて収縮処理を実行した後、膨張フィルタを用いて膨張処理を実行して行い、もしくは、処理対象の図形画像に対して膨張フィルタを用いて膨張処理を実行した後、収縮フィルタを用いて収縮処理を実行して行う。
【実施例1】
【0040】
図10は実施形態に係る画像処理装置を用いて矩形フィルタ処理(実施例1)を行う、複数の欠損12を含む元画像10を示す平面図である。また、図11(a)は図10の元画像10に対して矩形フィルタ処理を実行した後の画像を示す平面図であり、図11(b)は当該矩形フィルタ処理で用いる矩形フィルタ21の形状を示す平面図である。
【0041】
図10において、円形の元画像10は複数の欠損12を有する。図11(b)の矩形フィルタ21を用いて膨張処理及び収縮処理を行うと、図11(a)の41に示すように、矩形フィルタ21の辺に沿っていない方向(不得意な方向)はあまり埋めることができないが、図11(b)の42に示すように、矩形フィルタ11の辺の向きに沿った方向(図11(a)の水平方向及び垂直方向:得意な方向)で効果的にかつ効率的に欠損12を埋めることができる。
【実施例2】
【0042】
図12(a)は図10の元画像10に対して45度だけ回転した矩形フィルタ処理(実施例2)を実行した後の画像を示す平面図であり、図12(b)は当該矩形フィルタ処理で用いる矩形フィルタ21aの形状を示す平面図である。
【0043】
図10(b)の矩形フィルタ21を45度だけ回転させた矩形フィルタ21a(図11(b))を用いて膨張処理及び収縮処理を実行すると、図12(a)に示すように、矩形フィルタ21の場合と同様に、矩形フィルタ21aの辺に沿っていない方向41(不得意な方向)はあまり埋めることができないが、矩形フィルタ21aの辺の向きに沿った方向42(図12の(a)の水平方向及び垂直方向:得意な方向)で効果的にかつ効率的に欠損12を埋めることができる。
【実施例3】
【0044】
図13(a)は図10の元画像10に対して矩形フィルタ処理(実施例1)及び45度だけ回転した矩形フィルタ処理(実施例2)の両方を実行した(実施例3)後の画像を示す平面図であり、図13(b)は当該処理で用いる矩形フィルタ21,21aの形状を示す平面図である。
【0045】
図13に示す実施例3では、矩形フィルタ21の不得意な方向を補うために、矩形フィルタ21と同一の形状を有するが例えば45度だけ回転してなる矩形フィルタ21aを予め用意し、矩形フィルタ21を用いて膨張処理及び収縮処理を実行した後、矩形フィルタ21aを用いて膨張処理及び収縮処理を実行する。そうすることで、図13(a)に示すように欠損を実質的に埋めることができる(符号61参照)。
【0046】
実施例3では、互いに45度回転してなる2つの矩形フィルタ21,21aを用いているが、互いに所定の角度だけ回転してなる複数の矩形フィルタを用いて形状補正処理を実行してもよい。例えば、回転角度が30度であるときは、3つの矩形フィルタを用いて形状補正処理を繰り返し複数回実行する。また、例えば、回転角度が15度であるときは、6つの矩形フィルタを用いて形状補正処理を繰り返し複数回実行する。
【実施例4】
【0047】
図14は実施形態に係る画像処理装置を用いて円形フィルタ処理(実施例4)を行う、複数の欠損13を含む元画像10を示す平面図である。また、図15(a)は図14の元画像10に対して円形フィルタ処理を実行した後の画像を示す平面図であり、図15(b)は当該円形フィルタ処理で用いる円形フィルタ22の形状を示す平面図である。
【0048】
図14及び図15の実施例4では、処理(演算)時間を短縮するために、複数の角度違いの矩形フィルタ21,21aではなく、円形フィルタ22で用いて形状補正処理を繰り返し複数回実行することで処理時間を大幅に削減できる。なお、図15に示すように、矩形フィルタ21,21aよりは外側まで埋めることが可能だが、矩形フィルタ21,21aの得意な向きの欠損については、むしろ補正できる領域が少ない。なお、円形フィルタ22は、五角形以上の多角形であってもよく、実質的に円形状を有する多角形フィルタであっても同様の作用効果を有する。また、補正すべき図形によっては、三角形状のフィルタを用いてもよい。
【実施例5】
【0049】
図16は実施形態に係る画像処理装置を用いて棒状フィルタ処理(実施例5)を行う、複数の欠損14を含む元画像10を示す平面図である。また、図17(a)は図16の元画像10に対して棒状フィルタ処理を実行した後の画像を示す平面図であり、図17(b)は当該棒状フィルタ処理で用いる棒状フィルタ30の形状を示す平面図であり、(c)は当該棒状フィルタ30を種々の回転角度で回転したときの状態を示す平面図である。
【0050】
図17の実施例5においては、上述の各フィルタ21,21a,22の特徴を考慮すると、得意方向部分の演算のみを実施することで対象の図形形状に合わせた、回転角度が異なる棒状フィルタ30(1行×複数N画素)を複数個使用することで少ない演算量でと上記記載の矩形フィルタ21,21aと同等の結果を得ることができると考えられる。図17(c)の具体例では、棒状フィルタ30を22.5度ずつ回転させることにより、8個の棒状フィルタ30〜37を用意して、各棒状フィルタ30〜37を順次用いて形状補正処理を繰り返し複数回実行することにより、概ね360度の範囲をカバーして図形補正することができ、しかも演算処理時間を大幅に削減できる。特に、棒状フィルタ30〜37を用いて図1のSIMD処理部5により形状補正処理を繰り返し複数回実行することで、逐次処理を行わずに、並列演算プロセッサに適した手法で、大きな欠損の形状補正処理を効率的に実行することができる。
【0051】
図18は図16の元画像10に対して円形フィルタ21の処理(比較例)を実行した後の画像を示す平面図である。図17(a)の処理後の図形と、図18の処理後の図形とを比較すると、棒状フィルタ30〜37を用いた形状補正処理に比較して、円形フィルタ22を用いた形状補正処理では、補正できない部分が多いことがわかる。
【実施例6】
【0052】
図19(a)は図16の元画像10に対して横方向棒状フィルタ30の処理(実施例7)を実行した後の画像を示す平面図であり、図19(b)は当該棒状フィルタ30の処理で用いる棒状フィルタ30の形状を示す平面図である。また、図20(a)は図19の画像を22.5度だけ回転して横方向棒状フィルタ30の処理(実施例7)を実行した後の画像を示す平面図であり、図20(b)は当該棒状フィルタ30の処理で用いる棒状フィルタ30の形状を示す平面図である。さらに、図21は図20の処理と同様にして、22.5度の回転と横方向棒状フィルタ処理を7回繰り返して実行し、ここで、元画像から180度だけ回転した向きになっているためにさらに180度だけ回転して元画像と同じ向きにした画像を示す平面図である。
【0053】
すなわち、実施例6では、棒状フィルタ30を用いて形状補正処理を繰り返し複数回実行するが、棒状フィルタ30を回転せずに、対象の図形(元画像10)を回転することで、実施例5と同様の作用効果を得られることを以下に示す。
【0054】
まず、図19(a)に示すように、棒状フィルタ30を用いて元画像10に対して形状補正処理を繰り返し複数回実行する。次いで、図20に示すように、元画像10を22.5度だけ回転して棒状フィルタ30を用いて形状補正処理を実行する。さらに、同様にして、22.5度の回転と横方向棒状フィルタ処理を7回繰り返して形状補正処理を実行する。元画像10から180度だけ回転した向きになっているため、さらに180度だけ回転して元画像10と同じ向きにする。
【0055】
以上説明したように、実施例6によれば、対象画像を回転させて形状補正処理を繰り返し複数回実行することで、参照ライン数が少ないために高速に処理することが可能な角度の棒状フィルタ30だけを用いて、上記角度が異なる複数の棒状フィルタ30〜37を複数個使用した場合と同等の結果を得ることができる。すなわち、実施例6では、複数個の棒状フィルタ30〜37を事前に用意する必要がないという特有の効果を有する。さらに、上記画像処理を、例えばSIMD部5などの並列演算プロセッサを使用することでさらに高速に形状補正処理を実行することができる。
【0056】
変形例.
以上の実施例6においては、対象画像を回転させているが、実施例5のようにフィルタ(収縮フィルタ及び膨張フィルタ)を回転させてもよい。
【0057】
なお、フィルタ(収縮フィルタ及び膨張フィルタ)の形状は円形、矩形を含む多角形、それらの実質的に同様な形状であってもよく、当該フィルタの大きさは処理対象画像のサイズに応じて決定されるが、例えば、3×3、5×5、7×7、9×9などのサイズを用いることができる。
【0058】
上記の各実施例に係る図形補正処理の処理ステップを含むプログラムはコンピュータにより実行可能であって、ROM2に格納されてCPU1により実行され、もしくはSIMD処理部5内の内蔵メモリに格納されてSIMD処理部5により実行される。当該プログラムは例えばCD−ROM、CD−R、DVD、DVD−Rなどのコンピュータにより読み取り可能な記録媒体に記録してもよい。
【産業上の利用可能性】
【0059】
以上詳述したように、本発明に係る画像処理装置及び画像処理方法によれば、上記画像処理フィルタを回転し、もしくは上記図形画像を回転して上記形状補正処理を繰り返し複数回実行することにより、1回の処理では補正不可能な部分の補間をすることができ、また、参照ライン数が減る、並列処理が可能となるので高速に処理することができる。それ故、上記形状補正処理の処理性能を従来技術に比較して大幅に向上できる。
【0060】
また、上記形状補正処理において、互いに異なる形状を有する複数の画像処理フィルタを用いることで、特定の方向を得意とする画像処理フィルタを必要最小限実施することで、上記形状補正処理の処理性能を従来技術に比較して大幅に向上できる。
【0061】
さらに、1×複数画素の棒形状を有する画像処理フィルタを用いて、SIMD(Single Instruction Multi Data)単位で上記形状補正処理を行うことで従来技術に比較してきわめて高速で画像処理を実行することができる。
【図面の簡単な説明】
【0062】
【図1】本発明の一実施形態に係る画像処理装置の構成を示すブロック図である。
【図2】図1の画像処理装置において取り扱う画像データのデータ構成を示す説明図である。
【図3】図1の画像処理装置のSIMD処理部5により実行される画像処理を示すフローチャートである。
【図4】一般的な収縮フィルタ・膨張フィルタによる図形の修正を示す説明図である。
【図5】図4の収縮フィルタ・膨張フィルタの一例を示す図である。
【図6】図4の収縮フィルタ・膨張フィルタの具体例を示す図である。
【図7】図形の修正処理を行う、欠損11を含む元画像10を示す平面図である。
【図8】図7の欠損11付近の拡大図である。
【図9】図7及び図8の欠損11を検出する方法を示すグラフであって、元画像の輪郭線上の位置の角度に対する傾きを示すグラフである。
【図10】実施形態に係る画像処理装置を用いて矩形フィルタ処理(実施例1)を行う、複数の欠損12を含む元画像10を示す平面図である。
【図11】(a)は図10の元画像10に対して矩形フィルタ処理を実行した後の画像を示す平面図であり、(b)は当該矩形フィルタ処理で用いる矩形フィルタ21の形状を示す平面図である。
【図12】(a)は図10の元画像10に対して45度だけ回転した矩形フィルタ処理(実施例2)を実行した後の画像を示す平面図であり、(b)は当該矩形フィルタ処理で用いる矩形フィルタ21aの形状を示す平面図である。
【図13】(a)は図10の元画像10に対して矩形フィルタ処理(実施例1)及び45度だけ回転した矩形フィルタ処理(実施例2)の両方を実行した後の画像を示す平面図であり、(b)は当該処理で用いる矩形フィルタ21,21aの形状を示す平面図である。
【図14】実施形態に係る画像処理装置を用いて円形フィルタ処理(実施例4)を行う、複数の欠損13を含む元画像10を示す平面図である。
【図15】(a)は図14の元画像10に対して円形フィルタ処理を実行した後の画像を示す平面図であり、(b)は当該円形フィルタ処理で用いる円形フィルタ22の形状を示す平面図である。
【図16】実施形態に係る画像処理装置を用いて棒状フィルタ処理(実施例5)を行う、複数の欠損14を含む元画像10を示す平面図である。
【図17】(a)は図16の元画像10に対して棒状フィルタ処理を実行した後の画像を示す平面図であり、(b)は当該棒状フィルタ処理で用いる棒状フィルタ30の形状を示す平面図であり、(c)は当該棒状フィルタ30を種々の回転角度で回転したときの状態を示す平面図である。
【図18】図16の元画像10に対して円形フィルタ21の処理(比較例)を実行した後の画像を示す平面図である。
【図19】(a)は図16の元画像10に対して横方向棒状フィルタ30の処理(実施例6)を実行した後の画像を示す平面図であり、(b)は当該棒状フィルタ30の処理で用いる棒状フィルタ30の形状を示す平面図である。
【図20】(a)は図19の画像を22.5度だけ回転して横方向棒状フィルタ30の処理(実施例7)を実行した後の画像を示す平面図であり、(b)は当該棒状フィルタ30の処理で用いる棒状フィルタ30の形状を示す平面図である。
【図21】図20の処理と同様にして、22.5度の回転と横方向棒状フィルタ処理を7回繰り返して実行し、ここで、元画像から180度だけ回転した向きになっているためにさらに180度だけ回転して元画像と同じ向きにした画像を示す平面図である。
【符号の説明】
【0063】
1…CPU、
2…ROM、
3…画像読み取り部、
4…読み取りインタフェース部、
5…SIMD処理部、
6…RAM、
7…画像形成部、
8…画像形成インタフェース部、
9…操作部、
10…元画像、
11〜14…欠損、
21,21a…矩形フィルタ、
22…円形フィルタ、
30〜37…棒状フィルタ。
【特許請求の範囲】
【請求項1】
処理対象の欠損を含む図形画像に対して膨張フィルタ及び収縮フィルタを含む画像処理フィルタを用いて上記欠損を埋めるように当該図形画像の形状を補正する形状補正処理を行う画像処理装置において、
上記画像処理フィルタを回転し、もしくは上記図形画像を回転して上記形状補正処理を繰り返し複数回実行することを特徴とする画像処理装置。
【請求項2】
上記形状補正処理において、互いに異なる形状を有する複数の画像処理フィルタを用いることを特徴とする請求項1記載の画像処理装置。
【請求項3】
上記画像処理フィルタは、1×複数画素の棒形状を有することを特徴とする請求項1又は2記載の画像処理装置。
【請求項4】
上記棒形状を有する画像処理フィルタを用いてSIMD(Single Instruction Multi Data)単位で上記形状補正処理を行うことを特徴とする請求項3記載の画像処理装置。
【請求項5】
上記画像処理フィルタは、実質的に多角形状を有することを特徴とする請求項1又は2記載の画像処理装置。
【請求項6】
上記画像処理フィルタは、矩形形状を有することを特徴とする請求項5記載の画像処理装置。
【請求項7】
上記画像処理フィルタは、実質的に円形形状を有することを特徴とする請求項1又は2記載の画像処理装置。
【請求項8】
処理対象の欠損を含む図形画像に対して膨張フィルタ及び収縮フィルタを含む画像処理フィルタを用いて上記欠損を埋めるように当該図形画像の形状を補正する形状補正処理を行う画像処理方法において、
上記画像処理フィルタを回転し、もしくは上記図形画像を回転して上記形状補正処理を繰り返し複数回実行することを特徴とする画像処理方法。
【請求項9】
上記形状補正処理において、互いに異なる形状を有する複数の画像処理フィルタを用いることを特徴とする請求項8記載の画像処理方法。
【請求項10】
上記画像処理フィルタは、1×複数画素の棒形状を有することを特徴とする請求項1又は9記載の画像処理方法。
【請求項11】
上記棒形状を有する画像処理フィルタを用いてSIMD(Single Instruction Multi Data)単位で上記形状補正処理を行うことを特徴とする請求項10記載の画像処理方法。
【請求項12】
上記画像処理フィルタは、実質的に多角形状を有することを特徴とする請求項8又は9記載の画像処理方法。
【請求項13】
上記画像処理フィルタは、矩形形状を有することを特徴とする請求項12記載の画像処理方法。
【請求項14】
上記画像処理フィルタは、実質的に円形形状を有することを特徴とする請求項8又は9記載の画像処理方法。
【請求項15】
請求項8乃至14のうちのいずれか1つに記載の画像処理方法の処理ステップを含むことを特徴とするコンピュータにより実行可能なプログラム。
【請求項1】
処理対象の欠損を含む図形画像に対して膨張フィルタ及び収縮フィルタを含む画像処理フィルタを用いて上記欠損を埋めるように当該図形画像の形状を補正する形状補正処理を行う画像処理装置において、
上記画像処理フィルタを回転し、もしくは上記図形画像を回転して上記形状補正処理を繰り返し複数回実行することを特徴とする画像処理装置。
【請求項2】
上記形状補正処理において、互いに異なる形状を有する複数の画像処理フィルタを用いることを特徴とする請求項1記載の画像処理装置。
【請求項3】
上記画像処理フィルタは、1×複数画素の棒形状を有することを特徴とする請求項1又は2記載の画像処理装置。
【請求項4】
上記棒形状を有する画像処理フィルタを用いてSIMD(Single Instruction Multi Data)単位で上記形状補正処理を行うことを特徴とする請求項3記載の画像処理装置。
【請求項5】
上記画像処理フィルタは、実質的に多角形状を有することを特徴とする請求項1又は2記載の画像処理装置。
【請求項6】
上記画像処理フィルタは、矩形形状を有することを特徴とする請求項5記載の画像処理装置。
【請求項7】
上記画像処理フィルタは、実質的に円形形状を有することを特徴とする請求項1又は2記載の画像処理装置。
【請求項8】
処理対象の欠損を含む図形画像に対して膨張フィルタ及び収縮フィルタを含む画像処理フィルタを用いて上記欠損を埋めるように当該図形画像の形状を補正する形状補正処理を行う画像処理方法において、
上記画像処理フィルタを回転し、もしくは上記図形画像を回転して上記形状補正処理を繰り返し複数回実行することを特徴とする画像処理方法。
【請求項9】
上記形状補正処理において、互いに異なる形状を有する複数の画像処理フィルタを用いることを特徴とする請求項8記載の画像処理方法。
【請求項10】
上記画像処理フィルタは、1×複数画素の棒形状を有することを特徴とする請求項1又は9記載の画像処理方法。
【請求項11】
上記棒形状を有する画像処理フィルタを用いてSIMD(Single Instruction Multi Data)単位で上記形状補正処理を行うことを特徴とする請求項10記載の画像処理方法。
【請求項12】
上記画像処理フィルタは、実質的に多角形状を有することを特徴とする請求項8又は9記載の画像処理方法。
【請求項13】
上記画像処理フィルタは、矩形形状を有することを特徴とする請求項12記載の画像処理方法。
【請求項14】
上記画像処理フィルタは、実質的に円形形状を有することを特徴とする請求項8又は9記載の画像処理方法。
【請求項15】
請求項8乃至14のうちのいずれか1つに記載の画像処理方法の処理ステップを含むことを特徴とするコンピュータにより実行可能なプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【公開番号】特開2010−152456(P2010−152456A)
【公開日】平成22年7月8日(2010.7.8)
【国際特許分類】
【出願番号】特願2008−327151(P2008−327151)
【出願日】平成20年12月24日(2008.12.24)
【出願人】(000006747)株式会社リコー (37,907)
【Fターム(参考)】
【公開日】平成22年7月8日(2010.7.8)
【国際特許分類】
【出願日】平成20年12月24日(2008.12.24)
【出願人】(000006747)株式会社リコー (37,907)
【Fターム(参考)】
[ Back to top ]