(57)【要約】【課題】  簡単な構成で、細線化処理の高速化を実現する方法及び装置、プログラムを提案する。【解決手段】  細線化処理対象画像獲得工程と、細線化領域パラメータ初期化工程と、前記細線化処理対象画像をラスター走査により細線化する細線化工程と、細線化により画素値が変化した画素の位置に関する情報を記憶する変化画素位置記憶工程と、前記、変化画素位置記憶工程にて記憶された画素の位置に関する情報から次回のラスター走査による細線化処理における画像の走査範囲を定める細線化領域パラメータ更新工程とで構成される。【選択図】  図１
2008027135.tif 000002
【特許請求の範囲】
【請求項１】
細線化処理対象画像を獲得する画像獲得工程と、前記細線化処理対象画像上でラスター走査により細線化処理すべき細線化領域を定める細線化領域パラメータを初期化する細線化領域パラメータ初期化工程と、前記細線化処理対象画像をラスター走査により細線化する細線化工程と、ラスター走査による細線化処理における細線化により画素値が変化した画素の位置に関する情報を記憶する変化画素位置記憶工程と、前記、変化画素位置記憶工程にて記憶された画素の位置に関する情報から次回のラスター走査による細線化処理における画像の走査範囲を定める細線化領域パラメータ更新工程とを有することを特徴とする画像処理方法。
【請求項２】
上記請求項１に記載の画像処理方法において、加えて、細線化処理対象画像中の被細線化図形の最大線幅に関する情報を得る線幅情報獲得工程と、前記線幅情報獲得工程で得られる被細線化図形の最大線幅に関する情報から、ラスター走査による細線化処理を繰り返す試行回数の上限を定める試行回数設定工程をも有することを特徴とする画像処理方法。
【請求項３】
上記請求項１に記載の画像処理方法において、加えて、細線化処理対象画像中の被細線化図形の最大線幅に関する情報を得る線幅情報獲得工程と、前記線幅情報獲得工程で得られる被細線化図形の最大線幅に関する情報と前記変化画素位置記憶工程にて記憶された画素の位置に関する情報とから、次回のラスター走査による細線化処理における画像の走査範囲を定める細線化領域パラメータ更新工程とを有することを特徴とする画像処理方法。
【請求項４】
上記請求項１〜３に記載の画像処理方法において、前記変化画素位置記憶工程にて記憶された画素の位置に関する情報とは、細線化において発生する削除画素中で、
最も左よりの画素のｘ座標値：H_Min
最も左よりの画素のｘ座標値：H_Max
最も上よりの画素のy座標値：V_Min
最も下よりの画素のｙ座標値：V_Max
のうちのいくつか、もしくはこれらの全てであることを特徴とする画像処理方法。
【請求項５】
細線化処理対象画像を獲得する画像獲得手段と、前記細線化処理対象画像上でラスター走査により細線化処理すべき細線化領域を定める細線化領域パラメータを初期化する細線化領域パラメータ初期化手段と、前記細線化処理対象画像をラスター走査により細線化する細線化手段と、ラスター走査による細線化処理における細線化により画素値が変化した画素の位置に関する情報を記憶する変化画素位置記憶手段と、前記、変化画素位置記憶手段にて記憶された画素の位置に関する情報から次回のラスター走査による細線化処理における画像の走査範囲を定める細線化領域パラメータ更新手段とを有することを特徴とする画像処理装置。
【請求項６】
上記請求項５に記載の画像処理装置において、加えて、細線化処理対象画像中の被細線化図形の最大線幅に関する情報を得る線幅情報獲得手段と、前記線幅情報獲得手段で得られる被細線化図形の最大線幅に関する情報から、ラスター走査による細線化処理を繰り返す試行回数の上限を定める試行回数設定手段をも有することを特徴とする画像処理装置。
【請求項７】
上記請求項５に記載の画像処理装置において、加えて、細線化処理対象画像中の被細線化図形の最大線幅に関する情報を得る線幅情報獲得手段と、前記線幅情報獲得手段で得られる被細線化図形の最大線幅に関する情報と前記変化画素位置記憶手段にて記憶された画素の位置に関する情報とから、次回のラスター走査による細線化処理における画像の走査範囲を定める細線化領域パラメータ更新手段とを有することを特徴とする画像処理装置。
【請求項８】
上記請求項５〜７に記載の画像処理装置において、前記変化画素位置記憶手段にて記憶された画素の位置に関する情報とは、細線化において発生する削除画素中で、
最も左よりの画素のｘ座標値：H_Min
最も左よりの画素のｘ座標値：H_Max
最も上よりの画素のy座標値：V_Min
最も下よりの画素のｙ座標値：V_Max
のうちのいくつか、もしくはこれらの全てであることを特徴とする画像処理装置。
【請求項９】
コンピュータ装置が実行可能なプログラムであって、前記プログラムを実行するコンピュータ装置を、前記請求項５〜８のいずれかに記載の画像処理装置として機能させることを特徴とするプログラム。
【請求項１０】
前記請求項９に記載のプログラムを記憶したプログラム記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像の細線化処理に関するものであり、特に、高速細線化の方法及び装置、プログラムに関する。
【背景技術】
【０００２】
従来、細線化は画像処理、とりわけ、図面や文書画像をスキャナ等で読み込んで、コンピュータに入力して活用する際の前処理として良く利用されている。
【０００３】
細線化処理とは、スキャナ等で読み込んで得られるイメージデータを2値化した後、その線幅が１になるように細めていく処理である。
【０００４】
これまでに良く知られた細線化方法としては、Hilditchの細線化処理と呼ばれるようなラスター走査型の処理であり、細線化前の画像の形状や分岐点付近の状態をできるだけ保つために、2値画像全体を順次にラスター走査し、１回の画像走査では、垂直方向、水平方向ともに、高々２画素幅まで削るにとどめ、画像全体が１画素幅の2値画像になるまでこの処理を繰り返すというものである。そして、画像を走査した際に削られる点が１つもなくなることを細線化処理の終了条件とし、この条件が満たされるまで細線化処理を繰り返すというものであった。このため、画像サイズが大きく、かつ、画像中に含まれる線に幅の太い部分があると多くの処理時間を要してしまうという問題があった。
【０００５】
これに対し、その高速化に関する提案もいくつかなされている。
【０００６】
例えば、特公平４−０１８３４８（特許文献１）では、上記、終了条件のチェックを全画面で行わず、画面全体をＮ×Ｍの部分画像に区分し、この部分画像内でチェックすることが提案されている。これにより、画像中に含まれる線幅のばらつきは、各部分画像内のそれぞれでの線幅のばらつきに抑えることができ、細線化処理が未了の部分画像のみについて処理を続けることで高速化を図ろうとするものである。
【０００７】
しかしながら、上記のような分割領域を取ったとしても、画像中に含まれる細線化対象となる線部分は分割領域の数％に過ぎない場合も多く、不要な走査が多く行われる問題を残す。加えて、長方形領域に分割した場合には、上述のHilditchの細線化処理と呼ばれるようなラスター走査型の処理では、境界における線の連結が保証されず、境界部分について特別な処理を付加する必要がある。即ち、線分の連続性を保証するために、数ピクセル分重複した領域で細線化処理をし、その境界に別処理を加えることになる。このため、画像を小領域に分割することによりオーバーヘッドが非常に大きくなり分割することの利点が失われることになる。
【０００８】
このため、特公平１−０４０３７８（特許文献２）では、画像を分割した上で、各分割領域に対して其々細線化処理を行ない、その其々の走査で点除去をおこなったら、点除去位置に基いて細線化がさらに必要な細線化未了領域を抽出する。一方、その走査で点除去を行わなかったらその分割領域については細線化処理を終了する。そして、次の走査時には、分割領域全体を走査するのではなく、細線化未了領域を含み大きさが分割領域よりも小さくかつ細線化未了領域に応じて可変的に定められる領域を走査して、走査領域を動的に縮小制御する方法が提案されている。加えて、同分割領域の境界が階段状となるようにすることで、領域境界における線の連結を保証するための重畳領域での特殊処理の付加によるオーバーヘッドの発生防止が提案されている。
【０００９】
しかしながら、上記のような領域分割を行い、各領域分割毎での細線上領域の管理を行うと、これらの処理制御が煩雑化する。矩形分割の際では、やはり領域境界での別処理が必要となり、階段状の領域境界となるような領域分割とする場合には、各分割領域内での細線化未了領域の管理が複雑となる。
【００１０】
また、特開平３−２２４０７１（特許文献３）では、これまで述べたHilditchの細線化処理と呼ばれるようなラスター走査型の処理に加えて、これとは異なる、輪郭追跡型の細線化処理を併用することを提案している。輪郭追跡型の細線化処理とは、図形の輪郭を追跡しながらマスク演算を行って輪郭部の画素を削っていく方式である。なお、マスク演算とは、３×３（中心画素と、その中心画素に対して上、下、左、右および４つの斜め方向）のマスクパターンを用いて、画像の注目画素に対して周囲の画素（ドット）の分布を照合演算して、線の形状や幅を検出する。そして、図形の線の軌跡に従って各画素を1つずつ調べ、線幅が複数画素で構成されていると１画素ずつ削るものである。輪郭追跡型の細線化手法では、処理の対象となる個所が画像中の図形部分となるため、ラスター走査型の細線化に比し、一般的に演算量が少なくなる場合が多いものの、追跡開始点によって得られる細線化画像が異なってしまうことがあるという問題がある。このため、画像を分割して、分割領域毎に輪郭追跡型の処理を行なうと、領域間に重畳領域を設けたとしても其々の細線化結果にずれが生じてしまうことがある。そこで、特許文献３では、画像分割による細線化を行う際に、分割画面の境界部分の重複領域についてのみラスター走査型細線化処理を行ない、それ以外の領域では輪郭追跡型細線化を行うことで細線化処理を高速化すると同時に細線化画像中へのずれ発生の防止を提案している。
【００１１】
しかしながら、この方法でも領域境界における線の連結を保証するための重畳領域での特殊処理付加によるオーバーヘッドが発生し、かつまた、異なる2つの細線化方法の両方の実装が必要であることから、構成の複雑化は否めない。
【特許文献１】特公平４−０１８３４８号公報
【特許文献２】特公平１−０４０３７８号公報
【特許文献３】特開平３−２２４０７１号公報
【発明の開示】
【発明が解決しようとする課題】
【００１２】
本願では、上記従来例における問題点に鑑み、より簡単な構成で、細線化処理の高速化を実現する方法及び装置、プログラムを提案することをその課題としている。とりわけ、画像中に含まれる細線化対象とする線の太さの上限を定める際に細線化処理の高速化を実現することをその課題としている。
【課題を解決するための手段】
【００１３】
細線化処理対象画像を獲得する画像獲得工程と、前記細線化処理対象画像上でラスター走査により細線化処理すべき細線化領域を定める細線化領域パラメータを初期化する細線化領域パラメータ初期化工程と、前記細線化処理対象画像をラスター走査により細線化する細線化工程と、ラスター走査による細線化処理における細線化により画素値が変化した画素の位置に関する情報を記憶する変化画素位置記憶工程と、前記、変化画素位置記憶工程にて記憶された画素の位置に関する情報から次回のラスター走査による細線化処理における画像の走査範囲を定める細線化領域パラメータ更新工程とで構成される。
【発明の効果】
【００１４】
従来に比し、より簡単な構成で、細線化処理の高速化が実現される。とりわけ、画像中に含まれる細線化対象とする線の太さの上限を定める場合には、その条件にあう画像か否かの判別とその細線化処理を、より簡素な構成で高速に実行することを可能とする効果を有する。
【発明を実施するための最良の形態】
【００１５】
＜実施形態１＞
図１は、本発明における細線化を実施する際の画像上における画素位置と各パラメータの関係を表す図である。同図を用いて、本発明の原理を説明する。
【００１６】
同図において、１０１は入力画像中の細線化処理の対象領域を示している。即ち、画像中の各画素の画素位置を水平方向には左から右の向きをｘ軸（横軸）の向きとし、垂直方向には上から下の向きをｙ軸（縦軸）の向きとしたときに、水平方向には入力画像中の水平方向にH_Start 番目の画素から H_End 番目の画素まで、かつ、垂直方向にはV_Start 番目の走査線からV_End 番値の走査線までの矩形領域が細線化処理対象域である。
【００１７】
本願では、細線化対象とする図形の線幅は限定され、最大ｗ画素までのもののみを細線化するものとする。Hilditchの細線化処理に代表されるラスター走査型の細線化処理は、１回の細線化対象領域の走査にで画像中の線幅を両側から高々一画素分ずつ削ってものであるため、最大の画素幅がｗ画素である画像の場合はｗ／２回の走査をおこなう必要がある。
【００１８】
細線化の処理を画像に施しても全画像域に対して１画素も削られる画素が発生しない場合には、その画像中には細線化が必要な部分がなくなっているという意味で、細線化が完了したと判断される。１画素でも削られる画素が存在する間は、再度の細線化処理を実行してみる必要がある。Hilditchの細線化処理に代表されるラスター走査型の細線化処理では、注目画素を中心とした３×３のウィンドウ走査により、注目画素と注目画素の周囲８画素の状況によって、注目画素を削るか否かを判定していく。前回の細線化処理の走査で削除された画素があれば、その画素の近傍画素は、この削除された１画素の部分が、前回の走査の時とは異なった状態となるために、次の細線化処理の走査時には、あらためて削除するか否かを判定し直す必要がでてくる。一方で、注目画素とその周囲の８画素が全く削除されず変化がなかった部分は、再度走査したところで、やはり、削除されることはない。即ち、前回の細線化の走査で削除された画素とその近傍画素を含んだ領域のみを再走査し、それ以外の部分は前回の走査の結果をそのまま流用すれば、前回の細線化走査に走査した領域全面を再走査したものと同じ結果が得られることになる。
【００１９】
以上のことから、本願では、細線化の処理により削除された点が発生すると、その点の画素位置を記憶し、これら前回の走査時に削除された点を表す画素とその近傍の画素を含む領域のみを次回の細線化処理の走査範囲と限定することにより、従来に比し、より高速に細線化の処理を実現するものである。
【００２０】
図１において、直前の細線化処理の走査において、削除された点を全て含む領域を矩形領域１０３で示した。即ち、直前の細線化処理で削除された点の中で、それらの点のｙ座標値の最小値がV_Minで、最大値がV_Maxであり、同じくそれらの点のｘ座標値の最小値がH_Minで、最大値がH_Maxである。
【００２１】
このとき、次回の細線化処理の処理範囲（注目画素とすべき画素の領域）を、水平方向には入力画像中の水平方向に（H_Min - 1）番目の画素から（H_Max + 1）番目の画素まで、かつ垂直方向には（V_Min - 1）番目の走査線から（V_Max + 1）番値の走査線までの矩形領域が細線化処理対象域とする。
【００２２】
尚、細線化処理対象とする図形の最大画素幅がｗｋ画素である画像の場合には（ｗｋ／２）回までの走査をおこなう可能性があり、水平方向には入力画像中の水平方向に｛H_Min -（ｗｋ／２）｝番目の画素から｛H_Max +（ｗｋ／２）｝番目の画素まで、かつ垂直方向には｛V_Min -（ｗｋ／２）｝番目の走査線から｛V_Max +（ｗｋ／２）｝番目の走査線までの矩形領域が、この場合の細線化処理による変化のありえる画素範囲である。図１の１０２はこれを示している。
【００２３】
本実施形態の画像処理装置の構成例について、図２のブロック図を参照して説明する。同図において、７は装置全体を制御するCentral Processing Unit（ＣＰＵ）である。６は変更を必要としないプログラムやパラメータを格納するRead Only Memory（ＲＯＭ）である。５は外部装置などから供給されるプログラムやデータを一時記憶するRandom Access Memory（ＲＡＭ）である。１は、文書等を光電走査して電子的な画像データを得るためのスキャナであり、３はこのスキャナ１と画像処理装置を接続する画像入出力インターフェースである。２は、前記スキャナ１で読み取られた画像データ等を保持する画像メモリである。１２は固定して設置されたハードディスクやメモリカード、あるいは着脱可能なフレキシブルディスク（ＦＤ）やCompact Disk（ＣＤ）等の光ディスク、磁気や光カード、ＩＣカード、メモリカードなどを含む外部記憶装置である。また、１３はこれら外部記憶装置１２とコンピュータ装置との入出力（Ｉ/Ｏ（Input/Output））インターフェースである。１５はユーザの操作を受け、データを入力するマウス等のポインティングデバイス１０やキーボード９などの入力デバイスとのインターフェイスである。１４は画像処理装置の保持するデータや供給されたデータを表示するためのディスプレイモニタ８とのインターフェイスである。４はインターネットなどのネットワーク回線に接続するためのネットワークインタフェイスである。１１は１〜１５の各ユニットを通信可能に接続するシステムバスである。
【００２４】
以下、ＣＰＵ７上で実行されるプログラムにより本願発明を実現する処理手順を、図３および図４のフローチャートを用いて説明する。
【００２５】
図３は、本願による発明を実施する装置における動作全体の流れを示すフローチャートである。同図において、処理を開始すると、ステップＳ１１０では、処理対象となる画像領域を含む画像データを入力する。画像入力に関しては、スキャナ１にて読み取られた画像データを画像入出力Ｉ／Ｏ３を介して画像メモリ２に入力する。また、通信Ｉ／Ｆ４を介して、装置外部より前記処理対象となる画像領域を含む画像を入力してもよく、あるいは、Ｈ／Ｄ装置１２に予め記憶される画像データをＩ／Ｏ１３を介して読み込むものであってもよい。得られた入力画像は、画像メモリ３上に保持される。次に、ステップＳ１２０では、前記ステップＳ１１０で得られた画像データを映像Ｉ／Ｏを介してディスプレイモニタ８上に表示する。次に、ステップＳ１３０では、ＲＯＭ６上の図示しない領域に予め記憶される細線化対象とする図形の最大線幅ｗｋを入力する。この細線化対象とする図形の最大線幅ｗｋの情報に関しては、Ｉ／Ｏ１５を介してキーボード９やマウス９等を用いて操作者より指示入力されるように構成してもよい。ステップＳ１４０では、入力画像中の細線化対象領域パラメータを初期化する。これらは、上記、図１の１０１に相当する領域情報であり、H_Start、H_End、V_Start、V_Endがこれに相当する。これらも、ステップＳ１３０における細線化対象とする図形の最大線幅ｗｋの情報と同様に、ＲＯＭ６上の図示しない領域に予め記憶される値を読み込むように構成しても良いし、あるいは、ステップＳ１２０でディスプレイモニタ８に表示した画像を見て、操作者によりＩ／Ｏ１５を介してキーボード９やマウス９等を用いて指示入力させるように構成しても良い。ステップＳ１５０では、ステップＳ１３０で入力した細線化対象とする図形の最大線幅ｗｋの情報と、ステップＳ１４０で初期化した、入力画像中の細線化対象領域パラメータH_Start、H_End、V_Start、V_Endの情報とから、ステップＳ１１０で入力した処理対象となる画像データの細線化処理を実行する。ステップＳ１５０の細線化処理に関しては、追って図４のフローチャートに従ってさらに説明を加える。次にステップＳ１６０では、細線化の結果をＩ／Ｏ１３を介してＨＤ装置１２にファイル出力する。尚、ステップＳ１６０の細線化結果の出力は、通信Ｉ／Ｆ４を介して、装置外に出力するものであってもよいし、あるいは、画像メモリ２上の図示せぬ他の領域やＲＡＭ５上の不図示の領域等へ出力し保持するものであっても良い。ステップＳ１６０を終えると一連の処理を終了する。
【００２６】
以下に、図４のフローチャートを用いて、図３のフローチャートのステップＳ１５０における細線化の内容を説明する。
【００２７】
図4において細線化の一連の処理を開始すると、ステップS１５０１０では、次回の次回のスキャン時に必要となる細線化処理範囲を与えるパラメータの初期化を行なう。即ち、今回の細線化において発生する削除画素中で、
最も左よりの画素のｘ座標値：H_Min
最も左よりの画素のｘ座標値：H_Max
最も上よりの画素のy座標値：V_Min
最も下よりの画素のｙ座標値：V_Max
をそれぞれ、今回の細線化のスキャン範囲の値を用いて、
H_Min = H_End ;
H_Max = H_Start ;
V_Min = V_End ;
V_Max = V_Start ;
と初期化すると同時に、細線化処理の注目画素を最初の走査線の最初の画素位置に初期化する。また、ＲＡＭ５上の不図示のメモリー領域に保持する削除画素数を０に初期化し、同じくもう一つの不図示のメモリー領域に保持する細線化処理の試行回数を０に初期化する。
【００２８】
ステップS１５０２０では、公知のHilditch法による細線化手法に従い、注目画素位置の画素を中心画素とし、その周囲の８画素とからなる３×３のウィンドウ内を予め用意されたマスクパターンとの比較することにより細線化による削除対象画素であるかを判定し、削除対象画素の場合にはステップS１５０４３０に進み、そうではない場合にはステップS１５１２０に進む。尚、Hilditch法に関しては、例えば、酒井幸市著“ディジタル画像処理の基礎と応用”第２版,ISBN4-7898-3707-6,CQ出版社,2004年2月1日発行,P.51-P.54等に述べられている。ステップＳ１５０３０では、注目画素位置（ｘ，ｙ）の画素を削除して、即ち、黒画素から白画素に置き換える。また、ＲＡＭ５上の不図示のメモリー領域にある削除画素数を１増やす。ステップＳ１５０４０では、注目画素位置のｘ座標値ｘと、この時点でのH_Max の値を比較し、H_Maxの方が大きければステップＳ１５０５０に進み、そうではない場合にはステップＳ１５０６０に進む。ステップＳ１５０５０では、H_Max の値を、この時点での注目画素位置のｘ座標値ｘに置き換える。ステップＳ１５０６０では、注目画素位置のｘ座標値ｘと、この時点でのH_Min の値を比較し、H_Minの方が小さければステップＳ１５０７０に進み、そうではない場合にはステップＳ１５０８０に進む。ステップＳ１５０７０では、H_Min の値を、この時点での注目画素位置のｘ座標値ｘに置き換える。ステップＳ１５０８０では、注目画素位置のｙ座標値ｙと、この時点でのV_Max の値を比較し、V_Maxの方が大きければステップＳ１５０９０に進み、そうではない場合にはステップＳ１５１００に進む。ステップＳ１５１００では、注目画素位置のｙ座標値ｙと、この時点でのV_Min の値を比較し、V_Minの方が小さければステップＳ１５１１０に進み、そうではない場合にはステップＳ１５１２０に進む。ステップＳ１５１１０では、V_Min の値をこの時点での注目画素位置のｙ座標値ｙに置き換える。
【００２９】
ステップＳ１５１２０では、注目画素位置が細線化処理範囲の最終点、即ち（H_End，V_End）まで来ているか否かを判定して、もし、既に最終点まで来ていた場合には今回の細線化処理の処理範囲の走査を終えたと判断してステップＳ１５１４０に進む。そうではないときは、ステップＳ１５１３０に進む。ステップS１５１３０では、今回の細線化処理範囲内におけるラスター走査での次の画素位置に注目画素位置を移し、ステップＳ１５０２０に戻る。ステップＳ１５１４０では、ＲＡＭ５上の不図示のメモリー領域に保持する削除画素数をみて、０のままであれば細線化が完了したと判断して一連の処理を終了して、メインルーチンへ戻る。そうではない場合には、ステップＳ１５１５０に進む。ステップＳ１５１５０では、ＲＡＭ５上の不図示のメモリー領域に保持する細線化処理の試行回数を１増やし、（ｗｋ／２）より大きな値になったか否かを判定する。もし、（ｗｋ／２）より大きな値となっていれば、細線化は完了しないまま細線化を終了させメインルーチンに戻り、そうではない場合には、細線化領域パラメータを
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 ;
と再初期化すると同時に、ＲＡＭ５上の不図示のメモリー領域に保持する削除画素数を０に再初期化し、ステップＳ１５０２０に戻る。
【００３０】
上記を繰り返すと、細線化を繰り返す必要のある領域のみを次回の細線化処理時のラスター走査範囲とすることができ、細線化処理の高速化が実現される。とりわけ、画像中に含まれる細線化対象とする線の太さの上限を定める場合には、その条件にあう画像か否かの判別とその細線化処理を、より簡素な構成で高速に実行することを可能とするものである。
【００３１】
＜実施形態２＞
上記の実施形態１においては、細線化の範囲となる画像領域のラスター走査をするたびに毎回、次回のラスター走査範囲をあらためて設定し直していたが、本発明はこれに限らない。即ち、最初の細線化処理のラスター走査にの直後に１回のみ、次回以降の細線化領域パラメータを
H_Start = H_Min -（ｗｋ／２） ;
H_End   = H_Max +（ｗｋ／２） ;
V_Start = V_Min -（ｗｋ／２） ；
V_End   = V_Max +（ｗｋ／２） ；
と設定するのみとし、以降は、細線化領域パラメータを変更することなく処理を続けるように構成してもよい。この場合は、実施形態１のようにラスター走査ごとに次回の捜査範囲を狭めていくということはできないものの、２回目以降の細線化処理においては、次回の細線化処理範囲の決定・更新に関係するステップ（図４のステップＳ１５０４０〜ステップＳ１５１１０）を省略することが可能となる。
【００３２】
＜実施形態３＞
上記の実施形態１、及び、２においては、細線化の範囲となる画像領域の今回の細線化において発生する削除画素中で、
最も左よりの画素のｘ座標値：H_Min
最も左よりの画素のｘ座標値：H_Max
最も上よりの画素のy座標値：V_Min
最も下よりの画素のｙ座標値：V_Max
のすべてを記憶するものとして説明したが、本発明はこれに限らない。即ち、
最も左よりの画素のｘ座標値：H_Min
最も左よりの画素のｘ座標値：H_Max
のみを記憶するのみにとどめて、次回以降の細線化の走査範囲を水平方向のみ縮減するように構成することも可能である。
【００３３】
また、同様に、
最も上よりの画素のy座標値：V_Min
最も下よりの画素のｙ座標値：V_Max
のみを記憶するのみにとどめて、次回以降の細線化の走査範囲を垂直方向にみ縮減するように構成することも可能である。
【００３４】
これらの場合には、縮減される走査範囲は限られるものの、細線化において発生した削除画素の位置の比較更新にかかる演算を省力することが可能である。
【００３５】
＜実施形態４＞
本発明の目的は前述した実施例の機能を実現するソフトウエアのプログラムコードを記録した記録媒体を、装置に供給し、その装置を構成するＣＰＵ（またはＭＰＵ）が記録媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することとなり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【００３６】
プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤなどを用いることができる。
【００３７】
また、ＣＰＵが読み出したプログラムコードを実行することにより、前述した実施例の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、ＣＰＵ上で稼動しているOperating System（ＯＳ）などが実際の処理の一部または全部を行い、その処理によって前述した実施例の機能が実現される場合も含まれることは言うまでもない。
【００３８】
さらに、記憶媒体から読み出されたプログラムコードが、画像処理装置に挿入された機能拡張ボードや画像処理装置に接続された機能拡張ユニットに備わるメモリに書きこまれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【図面の簡単な説明】
【００３９】
【図１】本願発明における細線化を実施する際の画像上における画素位置と各パラメータの関係を表す図
【図２】本願発明を実施する装置構成例のブロック図
【図３】本願発明を実施する装置の動作全体の流れを示すフローチャート
【図４】高速化された細線化処理の一連の手順を表すフロチャート
【符号の説明】
【００４０】
１  スキャナ
２  画像メモリ
３  画像入出力Ｉ／Ｏ
４  通信Ｉ／Ｆ
５  ＲＡＭ
６  ＲＯＭ
７  ＣＰＵ
８  ディスプレイ
９  キーボード
１０  マウス
１１  バス
１２  ハードディスク
１３  Ｉ／Ｏ
１４  映像Ｉ／Ｏ
１５  Ｉ／Ｏ
【図１】
2008027135.tif 000003
【図２】
2008027135.tif 000004
【図３】
2008027135.tif 000005
【図４】
2008027135.tif 000006