(57)【特許請求の範囲】
【請求項１】
画像内における円形パターンを検出する画像処理装置において、
画像を２値化する２値化手段と、
８角形または１６角形の内の２値化された所定値を有する画素をカウントするカウント手段と、
カウント手段によりカウントされた上記の所定値を有する画素のカウント数で検出対象であるか否かを判断する判断手段と
を有することを特徴とする画像処置装置。
【請求項２】
２値画像において、上記の所定値を有する画素は、所定値が１のオン画素である請求項１に記載の画像処置装置。
【請求項３】
２値画像において、上記の所定値を有する画素は、所定値が０のオフ画素である請求項１に記載の画像処理装置。
【請求項４】
画像内における円形パターンを検出する画像処理方法において、
画像を２値化し、
８角形または１６角形の内の２値化された所定値を有する画素をカウントし、
上記の所定値を有する画素のカウント数で検出対象であるか否かを判断する
ことを特徴とする画像処理方法。
【請求項５】
２値画像において、上記の所定値を有する画素は、所定値が１のオン画素である請求項４に記載の画像処理方法。
【請求項６】
２値画像において、上記の所定値を有する画素は、所定値が０のオフ画素である請求項４に記載の画像処理方法。
【請求項７】
画像内における円形パターンを検出する画像処理プログラムであって、画像を２値化する手順と、８角形または１６角形の内の２値化された所定値を有する画素をカウントする手順と、上記の所定値を有する画素のカウント数で検出対象であるか否かを判断する手順とをコンピュータに実行させるためのプログラムを記録したことを特徴とするコンピュータ読み取り可能な記録媒体。
【請求項８】
２値画像において、上記の所定値を有する画素は、所定値が１のオン画素である請求項７に記載の記録媒体。
【請求項９】
２値画像において、上記の所定値を有する画素は、所定値が０のオフ画素である請求項７に記載の記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、画像内における円形パターンを検出するための画像処理装置、画像処理方法、および画像処理プログラムを記録した記録媒体に関するものである。
【０００２】
【従来の技術】
近年、カラー複写機の機能と性能が向上し、紙幣等の偽造も可能になりつつある。そのため、有効な偽造防止方法が検討され続けている。偽造防止方法の１つに、紙幣などの模様内に特定パターンを入れておき、スキャンされた画像を解析し、画像内において特定パターンを検出したならば、正常な像生成を禁止する方法がある。
【０００３】
特定パターンを検出する１つの方法として、円形パターンを検出する方法がある。例えば、特開平１１−１０８６３１号公報においては、円形パターンを検出するために、円形領域内の特定画素をカウントする方法が開示されている。
【０００４】
【発明が解決しようとする課題】
ところが、上記の特開平１１−１０８６３１号公報では、円形領域内の特定画素をカウントしていたので、矩形領域内の特定画素をカウントする場合と比べて、複雑であるという問題があった。また、近年では、走査を行う入力デバイスや画像データを印字プリントとして出力する出力デバイスとして、例えば高解像度データなどの情報量の大きい画像データを高速に処理可能なものが普及しつつあり、これら入出力デバイスと共働して、実時間内での特定パターンの検出することが要望されている。
【０００５】
本発明は、上記の問題を解決するものであり、円形パターンを高速かつ高精度に検出する画像処理装置を提供することを目的とする。
さらに、本発明は、円形パターンを高速かつ高精度に検出する画像処理方法を提供することを目的とする。
さらに、本発明は、円形パターンを高速かつ高精度に検出する画像処理プログラムを記録する記録媒体を提供することを目的とする。
【０００６】
【課題を解決するための手段】
上記の目的を達成するために、本発明に係る画像処理装置は、画像内における円形パターンを検出する画像処理装置であって、画像を２値化する２値化手段と、ｎ角形（ここで、ｎ角形は、８角形または１６角形である）内の２値化された所定値を有する画素をカウントするカウント手段と、カウント手段によりカウントされた上記の所定値を有する画素のカウント数で検出対象であるか否かを判断する判断手段とを有することを特徴とするものである。また、所定値を有する画素は、所定値が１のオン画素であり、または所定値が０のオフ画素である。
【０００７】
本発明に係る画像処理方法は、画像内における円形パターンを検出する画像処理方法であって、画像を２値化し、ｎ角形（ここで、ｎ角形は、８角形または１６角形である）内の２値化された所定値を有する画素をカウントし、上記の所定値を有する画素のカウント数で検出対象であるか否かを判断することを特徴とするものである。また、所定値を有する画素は、所定値が１のオン画素であり、または所定値が０のオフ画素である。
【０００８】
本発明に係る画像処理プログラムを記録した記録媒体は、画像を２値化する手順と、ｎ角形（ここで、ｎ角形は、８角形または１６角形である）内の２値化された所定値を有する画素をカウントする手順と、上記の所定値を有する画素のカウント数で検出対象であるか否かを判断する手順とをコンピュータに実行させるための画像内における円形パターンを検出する画像処理プログラムを記録したことを特徴とするものである。また、所定値を有する画素は、所定値が１のオン画素であり、または所定値が０のオフ画素である。
【０００９】
【発明の実施の形態】
以下、本発明の実施の形態について、図面を参照して説明する。
図１に本実施形態の画像処理装置（以下、「システム」という。）の概略構成図を示す。図１に示すように、システムは中央演算処理装置（以下、ＣＰＵという）を備え、システム全体を制御する制御装置１を中心として構成される。この制御装置１には、画像、文字等の表示や、操作のための表示等を行うディスプレイ２と、各種入力、指示操作等を行うためのキーボード３およびマウス４が備えられる。記録媒体として、フレキシブルディスク５ａ、ハードディスク６、ＣＤ−ＲＯＭ９ａが用いられ、フレキシブルディスク装置５ｂ、ＣＤ−ＲＯＭ装置９ｂおよびハードディスク装置６が備えられる。さらに、文字や画像データ等を印刷するプリンタ７と、画像データを取り込むためのスキャナ８と、音声出力のためのスピーカ１０と、音声入力のためのマイクロホン１１とが接続される。
【００１０】
図２に本システムの制御系のブロック図を示す。ＣＰＵ２０１には、データバス２２０を介して、本システムを制御するプログラムが格納されているＲＯＭ２０３と、ＣＰＵ２０１が制御のために実行するプログラムやデータを一時的に格納するＲＡＭ２０４とが接続される。また、ＣＰＵ２０１にデータバス２２０を介して接続される回路には、画像あるいは文字等の表示のためディスプレイ１２を制御する表示制御回路２０５と、キーボード３からの入力を転送制御するキーボード御回路２０６と、マウス４からの入力を転送制御するマウス制御回路２０７と、フレキシブルディスク装置１８ｂを制御するフレキシブルディスク装置制御回路２０８と、ハードディスク装置を制御するハードディスク装置制御回路２０９と、プリンタ２２への出力を制御するプリンタ制御回路２１０と、スキャナ２４を制御するスキャナ制御回路２１１と、ＣＤ−ＲＯＭ装置９ｂを制御するＣＤ−ＲＯＭ装置制御回路２１２と、スピーカ１０を制御するスピーカ制御回路２１３と、マイクロホン１１を制御するマイクロホン制御回路２１４とがある。さらに、ＣＰＵ２０１には、システムを動作させるために必要な基準クロックを発生させるためのクロック２０２が接続され、また、各種拡張ボードを接続するための拡張スロット２１５がデータバス２２０を介して接続される。
【００１１】
なお、このシステムでは、画像認識のプログラムをＲＯＭ２０３に格納する。しかし、本プログラムの一部または全部をフレキシブルディスク５ａ、ハードディスク６、ＣＤ−ＲＯＭ９ａなどの情報記録媒体に格納しておき、必要に応じて情報記録媒体よりプログラムをＲＡＭ２０４に読み出し、これを実行させてもよい。また、記録媒体は、光磁気ディスク（ＭＯ）等の他の情報記録媒体でもよい。また、画像データ入力装置としてスキャナ８を用いているが、スチルビデオカメラやデジタルカメラ等の他のデータ入力装置であってもよい。また、拡張スロット２１５にネットワーク用ボードを接続して、ネットワークを介してプログラムや画像データを受け取ることもできる。
【００１２】
図３は、本システムにおいてＣＰＵ２０１が実行するメインルーチンを示すフローチャートである。本システムが処理する入力画像データは、Ｒ(赤)、Ｇ(緑)、Ｂ(青)の各色がそれぞれ８ビット(２５６階調)の濃度値を有するデータである。この画像データは図２に示されているようなさまざまな入力手段によって入力された画像データである。この画像データは、必要に応じて、解像度変換、変倍等の前処理が行われる。ステップＳ７０１において、検出したい円形パターン（マーク）の色に応じて画素をラベリングする２値化処理が行われる。この２値化処理とは、画像データを構成する各画素の円形パターン（マーク）の色についての濃度値が、予め設定された「参照濃度範囲」に含まれるならば、該参照濃度範囲内の濃度値を有する画素を１の値を有するオン画素に設定し、含まれないならば０の値を有するオフ画素に設定することである。次に、ステップＳ７０２において、円形パターン候補の位置の検出が行われる。以下のステップは、検出された円形パターン候補が真に検出したい円形パターンか否か検査するために行われる。ステップＳ７０３において、検出された円形パターン候補の縦・横の大きさ、縦横比の検査をする。次に、ステップＳ７０４において、円形パターン候補の円周上の複数点と円周外の複数点の所定値を有する画素の有無の検査をする（以下、所定値を有する画素、つまりオン画素またはオフ画素を特定画素と呼ぶ）。次に、ステップＳ７０５において、２値化された円形パターン候補の特定画素をカウントし、そのカウント数を、参照値のカウント数と比較する濃度検査を行う。ステップＳ７０５については、後に詳細に記載する。次にステップＳ７０６において、回転を考慮に入れて、検出したい円形パターンと検出された円形パターン候補の周方向および径方向のパターンマッチングを行う。次に、ステップＳ７０７において、ステップＳ７０３〜ステップＳ７０６において行われた検査によって円形パターン候補が検出したい円形パターンと適合しているか否か計算する。
【００１３】
次に、濃度検査（図３、Ｓ７０５）における特定画素のカウント方法について説明する。円形パターンの特定画素は、ｎ角形（ｎ≧８）でカウントされる。まず、８角形内の特定画素をカウントする方法について図４を参照して説明する。図４では、検出窓は１６画素×１６画素である。検出窓内にある円形パターンは、所定の色で２値化されると、図４の右図のようになる。図５は、円形パターンの特定画素を８角形内でカウントするための上から１／３部分の走査方法を説明する図である。（Ａ）１ライン目において、左端から５画素離れた位置から走査が始まり、右端から５画素離れた位置で走査が終わる。２ライン目から６ライン目までは、１ライン走査するごとに、走査する範囲が左右に１ラインずつ増える。つまり、２ライン目は、左端から４画素離れた位置から走査が始まり、右端から４画素離れた位置で走査が終わる。（Ｂ）７ライン目から１０ライン目において、左端から右端まで走査する。（Ｃ）１１ライン目から１６ライン目においては、１ライン走査するごとに、走査する範囲が左右に１ラインずつ減る。つまり１１ライン目は、左端から右端まで走査し、１２ライン目は、左端から１画素離れた位置から走査が始まり、右端から１画素離れた位置で走査が終わる。最後に１６ライン目は、左端から５画素離れた位置から走査が始まり、右端から５画素離れた位置で走査が終わる。
【００１４】
次に、１６角形内の特定画素をカウントする方法について図６を参照して説明する。この図６では、検出窓は、２０画素×２０画素である。検出窓内にある円形パターンは、所定の色で２値化されると、図６の右図のようになる。図７は、円形パターンの特定画素を１６角形内でカウントするための上半分の走査方法を説明する図である。▲１▼１ライン目において、左端から８画素離れた位置から走査が始まり、右端から８画素離れた位置で走査が終わる。１ライン目から３ライン目においては、１ライン走査するごとに走査範囲が左右に２画素ずつ増える。▲２▼４ライン目においては、走査範囲が左右に１画素ずつ増える。▲３▼５ライン目から９ライン目においては、１ラインおきに走査範囲が左右に１画素ずつ増える。▲４▼１０ライン目においては、左端から右端まで走査する。これで上半分の走査が終わる。下半分は、上半分と対称になるように走査範囲が減る。
【００１５】
次に、濃度検査について説明する。ここでは、例として８角形内の特定画素をカウントして濃度検査を行う。図８は、８角形内における特定画素をカウントする方法を説明する図である。図９は、濃度検査のフローチャートである。図１０、図１１、図１２は、それぞれＡ部分、Ｂ部分、Ｃ部分の特定画素をカウントする画像処理のフローチャートである。Ａ部分、Ｂ部分、Ｃ部分は、それぞれ図８において示されている領域である。まず、Ａ部分の特定画素をカウントする（Ｓ９０１）。次に、Ｂ部分の特定画素をカウントする（Ｓ９０２）。次に、Ｃ部分の特定画素をカウントする（Ｓ９０３）。これらのＡ部分の特定画素のカウント、Ｂ部分の特定画素のカウント、Ｃ部分の特定画素のカウント、それぞれについて後に詳細に説明する。次に、ステップＳ９０１〜ステップＳ９０３においてカウントされた特定画素を合計して、８角形内の特定画素の総合計を求める（Ｓ９０４）。次に、ステップＳ９０４によって得られた８角形内の特定画素の総カウント数が、検出したい円形パターンのカウント数と比較してどの程度近いかによって得点を算出する（Ｓ９０５）。以上で、濃度検査が終了し、図３のフローチャートに戻る。
【００１６】
これから、図１０のフローチャートを用いてＡ部分のカウント（図９、Ｓ９０１）について説明する。まず、ステップＳ１００１〜ステップＳ１００５において、初期設定を行う。具体的には、カウント数Ａを０にセットする（Ｓ１００１）。次に、ｍを５にセットする（Ｓ１００２）。次に、ｎを５にセットする（Ｓ１００３）。次に、ｙをｙＭｉｎにセットする（Ｓ１００４）。次に、ｘをｘＭｉｎ＋ｍにセットする（Ｓ１００５）。これで初期設定が終了する。
【００１７】
次に、（ｘ，ｙ）が特定画素であるか否か判断される（Ｓ１００６）。（ｘ，ｙ）が特定画素であるならば、
カウント数Ａ＝カウント数Ａ＋１
とする（Ｓ１００７）。次に、右隣の座標について調べるために、
ｘ＝ｘ＋１
とする（Ｓ１００８）。次に、
ｘ＞ｘＭａｘ−ｍ
つまり、（ｘ，ｙ）が右端を越えているか否か判断される（Ｓ１００９）。右端を越えていないならば、ステップＳ１００６に戻る。右端を越えているならば、
ｍ＝ｍ−１
とし（Ｓ１０１０）、
ｙ＝ｙ＋１
とする（Ｓ１０１１）。次に、
ｙ＞ｙＭｉｎ＋ｎ
つまり、（ｘ，ｙ）がＡ部分から外れているか否か判断される（Ｓ１０１２）。（ｘ，ｙ）がＡ部分から外れていないならば、ステップＳ１００５に戻る。Ａ部分から外れているならば、Ａ部分のカウントは終了し、図９のフローチャートに戻る。
【００１８】
次に、図１１のフローチャートを用いてＢ部分のカウント（図９、Ｓ９０２）について説明する。まず、ステップＳ１１０１〜ステップＳ１１０４において、初期設定を行う。具体的には、カウント数Ｂを０にセットする（Ｓ１１０１）。次に、ｎを５にセットする（Ｓ１１０２）。次に、ｙをｙＭｉｎ＋ｎにセットする（Ｓ１１０３）。次に、ｘをｘＭｉｎにセットする（Ｓ１００４）。これで初期設定が終了する。
【００１９】
次に、（ｘ，ｙ）が特定画素であるか否か判断される（Ｓ１１０５）。（ｘ，ｙ）が特定画素であるならば、
カウント数Ｂ＝カウント数Ｂ＋１
とする（Ｓ１１０６）。次に、右隣の座標について調べるために、
ｘ＝ｘ＋１
とする（Ｓ１１０７）。次に、
ｘ＞ｘＭａｘ
つまり、（ｘ，ｙ）が右端を越えているか否か判断される（Ｓ１１０８）。右端を越えていないならば、ステップＳ１１０５に戻る。右端を越えているならば、
ｙ＝ｙ＋１
とする（Ｓ１１０９）。次に、
ｙ＞ｙＭｉｎ−ｎ
つまり、（ｘ，ｙ）がＢ部分から外れているか否か判断される（Ｓ１１１０）。（ｘ，ｙ）がＢ部分から外れていないならば、ステップＳ１１０４に戻る。Ｂ部分から外れているならば、Ｂ部分のカウントは終了し、図９のフローチャートに戻る。
【００２０】
次に、図１２のフローチャートを用いてＣ部分のカウント（図９、Ｓ９０３）について説明する。まず、ステップＳ１２０１〜ステップＳ１２０４において、初期設定を行う。具体的には、カウント数Ｃを０にセットする（Ｓ１２０１）。次に、ｎを５にセットする（Ｓ１２０２）。次に、ｌを５にセットする（Ｓ１２０３）。次に、ｙをｙＭａｘ−ｎ＋１にセットする（Ｓ１２０４）。次に、ｘをｘＭｉｎ＋ｌにセットする（Ｓ１００５）。これで初期設定が終了する。
【００２１】
次に、（ｘ，ｙ）が特定画素であるか否か判断される（Ｓ１２０６）。（ｘ，ｙ）が特定画素であるならば、
カウント数Ｃ＝カウント数Ｃ＋１
とする（Ｓ１２０７）。次に、右隣の座標について調べるために、
ｘ＝ｘ＋１
とする（Ｓ１２０８）。次に、
ｘ＞ｘＭａｘ−ｌ
つまり、（ｘ，ｙ）が右端を越えているか否か判断される（Ｓ１２０９）。右端を越えていないならば、ステップＳ１２０６に戻る。右端を越えているならば、
ｌ＝ｌ＋１
とし（Ｓ１２１０）、
ｙ＝ｙ＋１
とする（Ｓ１２１１）。次に、
ｙ＞ｙＭａｘ
つまり、（ｘ，ｙ）がＣ部分から外れているか否か判断される（Ｓ１２１２）。（ｘ，ｙ）がＣ部分から外れていないならば、ステップＳ１２０５に戻る。Ｃ部分から外れているならば、Ｃ部分のカウントは終了し、図９のフローチャートに戻る。
【００２２】
なお、特定画素は、オン画素であっても、オフ画素であってもよい。さらに、図７において説明されているように、１６角形内の上半分の特定画素をカウントし、上半分と下半分が、上半分と下半分の中心に対して対称であるような１６角形内で特定画素をカウントすることもできる。８角形または１６角形に限定されるわけではなく、例えば３２角形などの他の多角形であってもよい。また、さらに、この実施の形態において、Ａ部分のカウント、Ｂ部分のカウント、Ｃ部分のカウントの順番で、８角形内の特定画素をカウントしているが、この順番は特に限定されるわけではなく、その他の順番で特定画素をカウントしてもよい。
【００２３】
したがって、この実施の形態に係る画像処理方法は、矩形内全領域の特定画素をカウントする場合と比べて、ｎ（ｎ≧８）角形内の特定画素だけをカウントする場合は、参照画素が減るために処理時間が短縮でき、さらに、例えば矩形と円形との面積誤差２２％に対して、８角形と円形との面積誤差はわずかに４％であるために、精度が高い。また、円形領域内の特定画素をカウントする場合と比べて、ｎ（ｎ≧８）角形内の特定画素だけをカウントする場合は、単純に処理できる。
【００２４】
【発明の効果】
円形領域内の特定画素をカウントするよりも、ｎ（ｎ≧８）角形内の特定画素をカウントする方が単純に処理できるので、画像内における円形パターンを高速かつ高精度に検出することができる。
【図面の簡単な説明】
【図１】  本発明に係る画像処理装置の構成の概略を示す図である。
【図２】  画像処理装置の制御装置を中心としたブロック図である。
【図３】  画像処理装置におけるメインルーチンのフローチャートである。
【図４】  ８角形内の特定画素をカウントする方法を説明する図である。
【図５】  ８角形内の特定画素のカウント範囲を説明する図である。
【図６】  １６角形内の特定画素をカウントする方法を説明する図である。
【図７】  １６角形内の特定画素のカウント範囲を説明する図である。
【図８】  ８角形内の特定画素をカウントする方法を説明する図である。
【図９】  濃度検査のフローチャートである。
【図１０】  図８のＡ部分の特定画素をカウントする画像処理のフローチャートである。
【図１１】  図８のＢ部分の特定画素をカウントする画像処理のフローチャートである。
【図１２】  図８のＣ部分の特定画素をカウントする画像処理のフローチャートである。
【符号の説明】
１  制御装置、    ５ｂ  フレキシブルディスク、    ６  ハードディスク、７  プリンタ、    ８  スキャナ、    ９ｂ  ＣＤ−ＲＯＭ、    ２０  検出窓、    ２２  部分画像領域    ２０１  ＣＰＵ、    ２０３  ＲＯＭ、    ２０４  ＲＡＭ。
【図１】
0004206605.tif 000002
【図２】
0004206605.tif 000003
【図３】
0004206605.tif 000004
【図４】
0004206605.tif 000005
【図５】
0004206605.tif 000006
【図６】
0004206605.tif 000007
【図７】
0004206605.tif 000008
【図８】
0004206605.tif 000009
【図９】
0004206605.tif 000010
【図１０】
0004206605.tif 000011
【図１１】
0004206605.tif 000012
【図１２】
0004206605.tif 000013