説明

画像処理方法、画像処理装置、及び、プログラム、プログラム記憶媒体

【課題】 簡単な構成で、細線化処理の高速化を実現する方法及び装置、プログラムを提案する。
【解決手段】 細線化処理対象画像獲得工程と、細線化領域パラメータ初期化工程と、前記細線化処理対象画像をラスター走査により細線化する細線化工程と、細線化により画素値が変化した画素の位置に関する情報を記憶する変化画素位置記憶工程と、前記、変化画素位置記憶工程にて記憶された画素の位置に関する情報から次回のラスター走査による細線化処理における画像の走査範囲を定める細線化領域パラメータ更新工程とで構成される。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像の細線化処理に関するものであり、特に、高速細線化の方法及び装置、プログラムに関する。
【背景技術】
【0002】
従来、細線化は画像処理、とりわけ、図面や文書画像をスキャナ等で読み込んで、コンピュータに入力して活用する際の前処理として良く利用されている。
【0003】
細線化処理とは、スキャナ等で読み込んで得られるイメージデータを2値化した後、その線幅が1になるように細めていく処理である。
【0004】
これまでに良く知られた細線化方法としては、Hilditchの細線化処理と呼ばれるようなラスター走査型の処理であり、細線化前の画像の形状や分岐点付近の状態をできるだけ保つために、2値画像全体を順次にラスター走査し、1回の画像走査では、垂直方向、水平方向ともに、高々2画素幅まで削るにとどめ、画像全体が1画素幅の2値画像になるまでこの処理を繰り返すというものである。そして、画像を走査した際に削られる点が1つもなくなることを細線化処理の終了条件とし、この条件が満たされるまで細線化処理を繰り返すというものであった。このため、画像サイズが大きく、かつ、画像中に含まれる線に幅の太い部分があると多くの処理時間を要してしまうという問題があった。
【0005】
これに対し、その高速化に関する提案もいくつかなされている。
【0006】
例えば、特公平4−018348(特許文献1)では、上記、終了条件のチェックを全画面で行わず、画面全体をN×Mの部分画像に区分し、この部分画像内でチェックすることが提案されている。これにより、画像中に含まれる線幅のばらつきは、各部分画像内のそれぞれでの線幅のばらつきに抑えることができ、細線化処理が未了の部分画像のみについて処理を続けることで高速化を図ろうとするものである。
【0007】
しかしながら、上記のような分割領域を取ったとしても、画像中に含まれる細線化対象となる線部分は分割領域の数%に過ぎない場合も多く、不要な走査が多く行われる問題を残す。加えて、長方形領域に分割した場合には、上述のHilditchの細線化処理と呼ばれるようなラスター走査型の処理では、境界における線の連結が保証されず、境界部分について特別な処理を付加する必要がある。即ち、線分の連続性を保証するために、数ピクセル分重複した領域で細線化処理をし、その境界に別処理を加えることになる。このため、画像を小領域に分割することによりオーバーヘッドが非常に大きくなり分割することの利点が失われることになる。
【0008】
このため、特公平1−040378(特許文献2)では、画像を分割した上で、各分割領域に対して其々細線化処理を行ない、その其々の走査で点除去をおこなったら、点除去位置に基いて細線化がさらに必要な細線化未了領域を抽出する。一方、その走査で点除去を行わなかったらその分割領域については細線化処理を終了する。そして、次の走査時には、分割領域全体を走査するのではなく、細線化未了領域を含み大きさが分割領域よりも小さくかつ細線化未了領域に応じて可変的に定められる領域を走査して、走査領域を動的に縮小制御する方法が提案されている。加えて、同分割領域の境界が階段状となるようにすることで、領域境界における線の連結を保証するための重畳領域での特殊処理の付加によるオーバーヘッドの発生防止が提案されている。
【0009】
しかしながら、上記のような領域分割を行い、各領域分割毎での細線上領域の管理を行うと、これらの処理制御が煩雑化する。矩形分割の際では、やはり領域境界での別処理が必要となり、階段状の領域境界となるような領域分割とする場合には、各分割領域内での細線化未了領域の管理が複雑となる。
【0010】
また、特開平3−224071(特許文献3)では、これまで述べたHilditchの細線化処理と呼ばれるようなラスター走査型の処理に加えて、これとは異なる、輪郭追跡型の細線化処理を併用することを提案している。輪郭追跡型の細線化処理とは、図形の輪郭を追跡しながらマスク演算を行って輪郭部の画素を削っていく方式である。なお、マスク演算とは、3×3(中心画素と、その中心画素に対して上、下、左、右および4つの斜め方向)のマスクパターンを用いて、画像の注目画素に対して周囲の画素(ドット)の分布を照合演算して、線の形状や幅を検出する。そして、図形の線の軌跡に従って各画素を1つずつ調べ、線幅が複数画素で構成されていると1画素ずつ削るものである。輪郭追跡型の細線化手法では、処理の対象となる個所が画像中の図形部分となるため、ラスター走査型の細線化に比し、一般的に演算量が少なくなる場合が多いものの、追跡開始点によって得られる細線化画像が異なってしまうことがあるという問題がある。このため、画像を分割して、分割領域毎に輪郭追跡型の処理を行なうと、領域間に重畳領域を設けたとしても其々の細線化結果にずれが生じてしまうことがある。そこで、特許文献3では、画像分割による細線化を行う際に、分割画面の境界部分の重複領域についてのみラスター走査型細線化処理を行ない、それ以外の領域では輪郭追跡型細線化を行うことで細線化処理を高速化すると同時に細線化画像中へのずれ発生の防止を提案している。
【0011】
しかしながら、この方法でも領域境界における線の連結を保証するための重畳領域での特殊処理付加によるオーバーヘッドが発生し、かつまた、異なる2つの細線化方法の両方の実装が必要であることから、構成の複雑化は否めない。
【特許文献1】特公平4−018348号公報
【特許文献2】特公平1−040378号公報
【特許文献3】特開平3−224071号公報
【発明の開示】
【発明が解決しようとする課題】
【0012】
本願では、上記従来例における問題点に鑑み、より簡単な構成で、細線化処理の高速化を実現する方法及び装置、プログラムを提案することをその課題としている。とりわけ、画像中に含まれる細線化対象とする線の太さの上限を定める際に細線化処理の高速化を実現することをその課題としている。
【課題を解決するための手段】
【0013】
細線化処理対象画像を獲得する画像獲得工程と、前記細線化処理対象画像上でラスター走査により細線化処理すべき細線化領域を定める細線化領域パラメータを初期化する細線化領域パラメータ初期化工程と、前記細線化処理対象画像をラスター走査により細線化する細線化工程と、ラスター走査による細線化処理における細線化により画素値が変化した画素の位置に関する情報を記憶する変化画素位置記憶工程と、前記、変化画素位置記憶工程にて記憶された画素の位置に関する情報から次回のラスター走査による細線化処理における画像の走査範囲を定める細線化領域パラメータ更新工程とで構成される。
【発明の効果】
【0014】
従来に比し、より簡単な構成で、細線化処理の高速化が実現される。とりわけ、画像中に含まれる細線化対象とする線の太さの上限を定める場合には、その条件にあう画像か否かの判別とその細線化処理を、より簡素な構成で高速に実行することを可能とする効果を有する。
【発明を実施するための最良の形態】
【0015】
<実施形態1>
図1は、本発明における細線化を実施する際の画像上における画素位置と各パラメータの関係を表す図である。同図を用いて、本発明の原理を説明する。
【0016】
同図において、101は入力画像中の細線化処理の対象領域を示している。即ち、画像中の各画素の画素位置を水平方向には左から右の向きをx軸(横軸)の向きとし、垂直方向には上から下の向きをy軸(縦軸)の向きとしたときに、水平方向には入力画像中の水平方向にH_Start 番目の画素から H_End 番目の画素まで、かつ、垂直方向にはV_Start 番目の走査線からV_End 番値の走査線までの矩形領域が細線化処理対象域である。
【0017】
本願では、細線化対象とする図形の線幅は限定され、最大w画素までのもののみを細線化するものとする。Hilditchの細線化処理に代表されるラスター走査型の細線化処理は、1回の細線化対象領域の走査にで画像中の線幅を両側から高々一画素分ずつ削ってものであるため、最大の画素幅がw画素である画像の場合はw/2回の走査をおこなう必要がある。
【0018】
細線化の処理を画像に施しても全画像域に対して1画素も削られる画素が発生しない場合には、その画像中には細線化が必要な部分がなくなっているという意味で、細線化が完了したと判断される。1画素でも削られる画素が存在する間は、再度の細線化処理を実行してみる必要がある。Hilditchの細線化処理に代表されるラスター走査型の細線化処理では、注目画素を中心とした3×3のウィンドウ走査により、注目画素と注目画素の周囲8画素の状況によって、注目画素を削るか否かを判定していく。前回の細線化処理の走査で削除された画素があれば、その画素の近傍画素は、この削除された1画素の部分が、前回の走査の時とは異なった状態となるために、次の細線化処理の走査時には、あらためて削除するか否かを判定し直す必要がでてくる。一方で、注目画素とその周囲の8画素が全く削除されず変化がなかった部分は、再度走査したところで、やはり、削除されることはない。即ち、前回の細線化の走査で削除された画素とその近傍画素を含んだ領域のみを再走査し、それ以外の部分は前回の走査の結果をそのまま流用すれば、前回の細線化走査に走査した領域全面を再走査したものと同じ結果が得られることになる。
【0019】
以上のことから、本願では、細線化の処理により削除された点が発生すると、その点の画素位置を記憶し、これら前回の走査時に削除された点を表す画素とその近傍の画素を含む領域のみを次回の細線化処理の走査範囲と限定することにより、従来に比し、より高速に細線化の処理を実現するものである。
【0020】
図1において、直前の細線化処理の走査において、削除された点を全て含む領域を矩形領域103で示した。即ち、直前の細線化処理で削除された点の中で、それらの点のy座標値の最小値がV_Minで、最大値がV_Maxであり、同じくそれらの点のx座標値の最小値がH_Minで、最大値がH_Maxである。
【0021】
このとき、次回の細線化処理の処理範囲(注目画素とすべき画素の領域)を、水平方向には入力画像中の水平方向に(H_Min - 1)番目の画素から(H_Max + 1)番目の画素まで、かつ垂直方向には(V_Min - 1)番目の走査線から(V_Max + 1)番値の走査線までの矩形領域が細線化処理対象域とする。
【0022】
尚、細線化処理対象とする図形の最大画素幅がwk画素である画像の場合には(wk/2)回までの走査をおこなう可能性があり、水平方向には入力画像中の水平方向に{H_Min -(wk/2)}番目の画素から{H_Max +(wk/2)}番目の画素まで、かつ垂直方向には{V_Min -(wk/2)}番目の走査線から{V_Max +(wk/2)}番目の走査線までの矩形領域が、この場合の細線化処理による変化のありえる画素範囲である。図1の102はこれを示している。
【0023】
本実施形態の画像処理装置の構成例について、図2のブロック図を参照して説明する。同図において、7は装置全体を制御するCentral Processing Unit(CPU)である。6は変更を必要としないプログラムやパラメータを格納するRead Only Memory(ROM)である。5は外部装置などから供給されるプログラムやデータを一時記憶するRandom Access Memory(RAM)である。1は、文書等を光電走査して電子的な画像データを得るためのスキャナであり、3はこのスキャナ1と画像処理装置を接続する画像入出力インターフェースである。2は、前記スキャナ1で読み取られた画像データ等を保持する画像メモリである。12は固定して設置されたハードディスクやメモリカード、あるいは着脱可能なフレキシブルディスク(FD)やCompact Disk(CD)等の光ディスク、磁気や光カード、ICカード、メモリカードなどを含む外部記憶装置である。また、13はこれら外部記憶装置12とコンピュータ装置との入出力(I/O(Input/Output))インターフェースである。15はユーザの操作を受け、データを入力するマウス等のポインティングデバイス10やキーボード9などの入力デバイスとのインターフェイスである。14は画像処理装置の保持するデータや供給されたデータを表示するためのディスプレイモニタ8とのインターフェイスである。4はインターネットなどのネットワーク回線に接続するためのネットワークインタフェイスである。11は1〜15の各ユニットを通信可能に接続するシステムバスである。
【0024】
以下、CPU7上で実行されるプログラムにより本願発明を実現する処理手順を、図3および図4のフローチャートを用いて説明する。
【0025】
図3は、本願による発明を実施する装置における動作全体の流れを示すフローチャートである。同図において、処理を開始すると、ステップS110では、処理対象となる画像領域を含む画像データを入力する。画像入力に関しては、スキャナ1にて読み取られた画像データを画像入出力I/O3を介して画像メモリ2に入力する。また、通信I/F4を介して、装置外部より前記処理対象となる画像領域を含む画像を入力してもよく、あるいは、H/D装置12に予め記憶される画像データをI/O13を介して読み込むものであってもよい。得られた入力画像は、画像メモリ3上に保持される。次に、ステップS120では、前記ステップS110で得られた画像データを映像I/Oを介してディスプレイモニタ8上に表示する。次に、ステップS130では、ROM6上の図示しない領域に予め記憶される細線化対象とする図形の最大線幅wkを入力する。この細線化対象とする図形の最大線幅wkの情報に関しては、I/O15を介してキーボード9やマウス9等を用いて操作者より指示入力されるように構成してもよい。ステップS140では、入力画像中の細線化対象領域パラメータを初期化する。これらは、上記、図1の101に相当する領域情報であり、H_Start、H_End、V_Start、V_Endがこれに相当する。これらも、ステップS130における細線化対象とする図形の最大線幅wkの情報と同様に、ROM6上の図示しない領域に予め記憶される値を読み込むように構成しても良いし、あるいは、ステップS120でディスプレイモニタ8に表示した画像を見て、操作者によりI/O15を介してキーボード9やマウス9等を用いて指示入力させるように構成しても良い。ステップS150では、ステップS130で入力した細線化対象とする図形の最大線幅wkの情報と、ステップS140で初期化した、入力画像中の細線化対象領域パラメータH_Start、H_End、V_Start、V_Endの情報とから、ステップS110で入力した処理対象となる画像データの細線化処理を実行する。ステップS150の細線化処理に関しては、追って図4のフローチャートに従ってさらに説明を加える。次にステップS160では、細線化の結果をI/O13を介してHD装置12にファイル出力する。尚、ステップS160の細線化結果の出力は、通信I/F4を介して、装置外に出力するものであってもよいし、あるいは、画像メモリ2上の図示せぬ他の領域やRAM5上の不図示の領域等へ出力し保持するものであっても良い。ステップS160を終えると一連の処理を終了する。
【0026】
以下に、図4のフローチャートを用いて、図3のフローチャートのステップS150における細線化の内容を説明する。
【0027】
図4において細線化の一連の処理を開始すると、ステップS15010では、次回の次回のスキャン時に必要となる細線化処理範囲を与えるパラメータの初期化を行なう。即ち、今回の細線化において発生する削除画素中で、
最も左よりの画素のx座標値:H_Min
最も左よりの画素のx座標値:H_Max
最も上よりの画素のy座標値:V_Min
最も下よりの画素のy座標値:V_Max
をそれぞれ、今回の細線化のスキャン範囲の値を用いて、
H_Min = H_End ;
H_Max = H_Start ;
V_Min = V_End ;
V_Max = V_Start ;
と初期化すると同時に、細線化処理の注目画素を最初の走査線の最初の画素位置に初期化する。また、RAM5上の不図示のメモリー領域に保持する削除画素数を0に初期化し、同じくもう一つの不図示のメモリー領域に保持する細線化処理の試行回数を0に初期化する。
【0028】
ステップS15020では、公知のHilditch法による細線化手法に従い、注目画素位置の画素を中心画素とし、その周囲の8画素とからなる3×3のウィンドウ内を予め用意されたマスクパターンとの比較することにより細線化による削除対象画素であるかを判定し、削除対象画素の場合にはステップS150430に進み、そうではない場合にはステップS15120に進む。尚、Hilditch法に関しては、例えば、酒井幸市著“ディジタル画像処理の基礎と応用”第2版,ISBN4-7898-3707-6,CQ出版社,2004年2月1日発行,P.51-P.54等に述べられている。ステップS15030では、注目画素位置(x,y)の画素を削除して、即ち、黒画素から白画素に置き換える。また、RAM5上の不図示のメモリー領域にある削除画素数を1増やす。ステップS15040では、注目画素位置のx座標値xと、この時点でのH_Max の値を比較し、H_Maxの方が大きければステップS15050に進み、そうではない場合にはステップS15060に進む。ステップS15050では、H_Max の値を、この時点での注目画素位置のx座標値xに置き換える。ステップS15060では、注目画素位置のx座標値xと、この時点でのH_Min の値を比較し、H_Minの方が小さければステップS15070に進み、そうではない場合にはステップS15080に進む。ステップS15070では、H_Min の値を、この時点での注目画素位置のx座標値xに置き換える。ステップS15080では、注目画素位置のy座標値yと、この時点でのV_Max の値を比較し、V_Maxの方が大きければステップS15090に進み、そうではない場合にはステップS15100に進む。ステップS15100では、注目画素位置のy座標値yと、この時点でのV_Min の値を比較し、V_Minの方が小さければステップS15110に進み、そうではない場合にはステップS15120に進む。ステップS15110では、V_Min の値をこの時点での注目画素位置のy座標値yに置き換える。
【0029】
ステップS15120では、注目画素位置が細線化処理範囲の最終点、即ち(H_End,V_End)まで来ているか否かを判定して、もし、既に最終点まで来ていた場合には今回の細線化処理の処理範囲の走査を終えたと判断してステップS15140に進む。そうではないときは、ステップS15130に進む。ステップS15130では、今回の細線化処理範囲内におけるラスター走査での次の画素位置に注目画素位置を移し、ステップS15020に戻る。ステップS15140では、RAM5上の不図示のメモリー領域に保持する削除画素数をみて、0のままであれば細線化が完了したと判断して一連の処理を終了して、メインルーチンへ戻る。そうではない場合には、ステップS15150に進む。ステップS15150では、RAM5上の不図示のメモリー領域に保持する細線化処理の試行回数を1増やし、(wk/2)より大きな値になったか否かを判定する。もし、(wk/2)より大きな値となっていれば、細線化は完了しないまま細線化を終了させメインルーチンに戻り、そうではない場合には、細線化領域パラメータを
H_Start = H_Min -1 ;
H_End = H_Max + 1 ;
V_Start = V_Min - 1 ;
V_End = V_Max + 1 ;
と初期化し、かつ、注目画素位置をあらためて(H_Start,V_Start)に初期化した上で、初期化した細線化のスキャン範囲の値を用いて、
H_Min = H_End ;
H_Max = H_Start ;
V_Min = V_End ;
V_Max = V_Start ;
と再初期化すると同時に、RAM5上の不図示のメモリー領域に保持する削除画素数を0に再初期化し、ステップS15020に戻る。
【0030】
上記を繰り返すと、細線化を繰り返す必要のある領域のみを次回の細線化処理時のラスター走査範囲とすることができ、細線化処理の高速化が実現される。とりわけ、画像中に含まれる細線化対象とする線の太さの上限を定める場合には、その条件にあう画像か否かの判別とその細線化処理を、より簡素な構成で高速に実行することを可能とするものである。
【0031】
<実施形態2>
上記の実施形態1においては、細線化の範囲となる画像領域のラスター走査をするたびに毎回、次回のラスター走査範囲をあらためて設定し直していたが、本発明はこれに限らない。即ち、最初の細線化処理のラスター走査にの直後に1回のみ、次回以降の細線化領域パラメータを
H_Start = H_Min -(wk/2) ;
H_End = H_Max +(wk/2) ;
V_Start = V_Min -(wk/2) ;
V_End = V_Max +(wk/2) ;
と設定するのみとし、以降は、細線化領域パラメータを変更することなく処理を続けるように構成してもよい。この場合は、実施形態1のようにラスター走査ごとに次回の捜査範囲を狭めていくということはできないものの、2回目以降の細線化処理においては、次回の細線化処理範囲の決定・更新に関係するステップ(図4のステップS15040〜ステップS15110)を省略することが可能となる。
【0032】
<実施形態3>
上記の実施形態1、及び、2においては、細線化の範囲となる画像領域の今回の細線化において発生する削除画素中で、
最も左よりの画素のx座標値:H_Min
最も左よりの画素のx座標値:H_Max
最も上よりの画素のy座標値:V_Min
最も下よりの画素のy座標値:V_Max
のすべてを記憶するものとして説明したが、本発明はこれに限らない。即ち、
最も左よりの画素のx座標値:H_Min
最も左よりの画素のx座標値:H_Max
のみを記憶するのみにとどめて、次回以降の細線化の走査範囲を水平方向のみ縮減するように構成することも可能である。
【0033】
また、同様に、
最も上よりの画素のy座標値:V_Min
最も下よりの画素のy座標値:V_Max
のみを記憶するのみにとどめて、次回以降の細線化の走査範囲を垂直方向にみ縮減するように構成することも可能である。
【0034】
これらの場合には、縮減される走査範囲は限られるものの、細線化において発生した削除画素の位置の比較更新にかかる演算を省力することが可能である。
【0035】
<実施形態4>
本発明の目的は前述した実施例の機能を実現するソフトウエアのプログラムコードを記録した記録媒体を、装置に供給し、その装置を構成するCPU(またはMPU)が記録媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することとなり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【0036】
プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、不揮発性のメモリカード、ROM、DVDなどを用いることができる。
【0037】
また、CPUが読み出したプログラムコードを実行することにより、前述した実施例の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、CPU上で稼動しているOperating System(OS)などが実際の処理の一部または全部を行い、その処理によって前述した実施例の機能が実現される場合も含まれることは言うまでもない。
【0038】
さらに、記憶媒体から読み出されたプログラムコードが、画像処理装置に挿入された機能拡張ボードや画像処理装置に接続された機能拡張ユニットに備わるメモリに書きこまれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【図面の簡単な説明】
【0039】
【図1】本願発明における細線化を実施する際の画像上における画素位置と各パラメータの関係を表す図
【図2】本願発明を実施する装置構成例のブロック図
【図3】本願発明を実施する装置の動作全体の流れを示すフローチャート
【図4】高速化された細線化処理の一連の手順を表すフロチャート
【符号の説明】
【0040】
1 スキャナ
2 画像メモリ
3 画像入出力I/O
4 通信I/F
5 RAM
6 ROM
7 CPU
8 ディスプレイ
9 キーボード
10 マウス
11 バス
12 ハードディスク
13 I/O
14 映像I/O
15 I/O

【特許請求の範囲】
【請求項1】
細線化処理対象画像を獲得する画像獲得工程と、前記細線化処理対象画像上でラスター走査により細線化処理すべき細線化領域を定める細線化領域パラメータを初期化する細線化領域パラメータ初期化工程と、前記細線化処理対象画像をラスター走査により細線化する細線化工程と、ラスター走査による細線化処理における細線化により画素値が変化した画素の位置に関する情報を記憶する変化画素位置記憶工程と、前記、変化画素位置記憶工程にて記憶された画素の位置に関する情報から次回のラスター走査による細線化処理における画像の走査範囲を定める細線化領域パラメータ更新工程とを有することを特徴とする画像処理方法。
【請求項2】
上記請求項1に記載の画像処理方法において、加えて、細線化処理対象画像中の被細線化図形の最大線幅に関する情報を得る線幅情報獲得工程と、前記線幅情報獲得工程で得られる被細線化図形の最大線幅に関する情報から、ラスター走査による細線化処理を繰り返す試行回数の上限を定める試行回数設定工程をも有することを特徴とする画像処理方法。
【請求項3】
上記請求項1に記載の画像処理方法において、加えて、細線化処理対象画像中の被細線化図形の最大線幅に関する情報を得る線幅情報獲得工程と、前記線幅情報獲得工程で得られる被細線化図形の最大線幅に関する情報と前記変化画素位置記憶工程にて記憶された画素の位置に関する情報とから、次回のラスター走査による細線化処理における画像の走査範囲を定める細線化領域パラメータ更新工程とを有することを特徴とする画像処理方法。
【請求項4】
上記請求項1〜3に記載の画像処理方法において、前記変化画素位置記憶工程にて記憶された画素の位置に関する情報とは、細線化において発生する削除画素中で、
最も左よりの画素のx座標値:H_Min
最も左よりの画素のx座標値:H_Max
最も上よりの画素のy座標値:V_Min
最も下よりの画素のy座標値:V_Max
のうちのいくつか、もしくはこれらの全てであることを特徴とする画像処理方法。
【請求項5】
細線化処理対象画像を獲得する画像獲得手段と、前記細線化処理対象画像上でラスター走査により細線化処理すべき細線化領域を定める細線化領域パラメータを初期化する細線化領域パラメータ初期化手段と、前記細線化処理対象画像をラスター走査により細線化する細線化手段と、ラスター走査による細線化処理における細線化により画素値が変化した画素の位置に関する情報を記憶する変化画素位置記憶手段と、前記、変化画素位置記憶手段にて記憶された画素の位置に関する情報から次回のラスター走査による細線化処理における画像の走査範囲を定める細線化領域パラメータ更新手段とを有することを特徴とする画像処理装置。
【請求項6】
上記請求項5に記載の画像処理装置において、加えて、細線化処理対象画像中の被細線化図形の最大線幅に関する情報を得る線幅情報獲得手段と、前記線幅情報獲得手段で得られる被細線化図形の最大線幅に関する情報から、ラスター走査による細線化処理を繰り返す試行回数の上限を定める試行回数設定手段をも有することを特徴とする画像処理装置。
【請求項7】
上記請求項5に記載の画像処理装置において、加えて、細線化処理対象画像中の被細線化図形の最大線幅に関する情報を得る線幅情報獲得手段と、前記線幅情報獲得手段で得られる被細線化図形の最大線幅に関する情報と前記変化画素位置記憶手段にて記憶された画素の位置に関する情報とから、次回のラスター走査による細線化処理における画像の走査範囲を定める細線化領域パラメータ更新手段とを有することを特徴とする画像処理装置。
【請求項8】
上記請求項5〜7に記載の画像処理装置において、前記変化画素位置記憶手段にて記憶された画素の位置に関する情報とは、細線化において発生する削除画素中で、
最も左よりの画素のx座標値:H_Min
最も左よりの画素のx座標値:H_Max
最も上よりの画素のy座標値:V_Min
最も下よりの画素のy座標値:V_Max
のうちのいくつか、もしくはこれらの全てであることを特徴とする画像処理装置。
【請求項9】
コンピュータ装置が実行可能なプログラムであって、前記プログラムを実行するコンピュータ装置を、前記請求項5〜8のいずれかに記載の画像処理装置として機能させることを特徴とするプログラム。
【請求項10】
前記請求項9に記載のプログラムを記憶したプログラム記憶媒体。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate