(57)【要約】【課題】複数の画像の検索に要する時間を短縮する。【解決手段】コンポーネントツリー作成部16は被検索対象画像及び検索対象画像から、値が異なる複数の二値化閾値における対応する連結成分を階層的に関連付けた階層グラフを各々作成し、キーコンポーネント抽出部18は検索対象画像とのサイズの違いが閾値以内で、かつ階層グラフの系列上で対応する二値化閾値が最も低濃度側の連結成分(キーコンポーネント)を探索し、キーコンポーネント照合部20は、被検索対象画像の階層グラフのうちキーコンポーネントを端部とする部分階層グラフ及び検索対象画像の階層グラフから、二値化閾値が各値のときの画素数を算出し、画素数の対応関係から部分階層グラフと検索対象画像の階層グラフとの距離の下限値を演算し、距離の下限値がそれ迄に得られた距離よりも小さい場合に距離を演算し、演算した距離が所定値以下の部分階層グラフに対応する領域を検索結果として出力する。【選択図】図１
2014191744.tif 000002
【特許請求の範囲】
【請求項１】
被検索対象画像及び検索対象画像から、値が異なる複数の二値化閾値における対応する連結成分を階層的に関連付けた階層グラフを各々作成する階層グラフ作成部と、
前記検索対象画像とのサイズの違いが閾値以内で、かつ前記被検索対象画像の階層グラフの系列上で対応する二値化閾値が最も低濃度側に位置している連結成分を探索する探索部と、
前記被検索対象画像の階層グラフのうち前記探索部によって探索された前記連結成分を端部とする部分階層グラフ及び前記検索対象画像の階層グラフから、複数の二値化閾値が各値のときの画素数を各々算出し、複数の二値化閾値が各値のときの画素数の対応関係から前記部分階層グラフと前記検索対象画像の階層グラフとの距離の下限値を演算し、演算した距離の下限値がそれ迄に得られた距離よりも小さい場合に前記部分階層グラフと前記検索対象画像の階層グラフとの距離を演算し、演算した距離が所定値以下の部分階層グラフに対応する領域を検索結果として出力する距離演算部と、
を含む画像処理装置。
【請求項２】
前記探索部は、前記階層グラフの系列に対して階層の深さ優先で探索することで、検索対象画像とのサイズの違いが閾値以内で、かつ前記階層グラフの系列上で対応する二値化閾値が最も低濃度側に位置している連結成分を探索する請求項１記載の画像処理装置。
【請求項３】
前記部分階層グラフ及び前記検索対象画像の階層グラフから、複数の二値化閾値が各値のときの画素数を各々算出することで得られた一対の配列のうち、一方の配列の画素を他方の配列の画素に対応させて前記対応関係を求めたときの距離の下限値と、他方の配列の画素を一方の配列の画素に対応させて前記対応関係を求めたときの距離の下限値を各々求め、求めた距離の下限値のうちの大きい方の値を前記距離の下限値として用いる請求項１又は請求項２記載の画像処理装置。
【請求項４】
前記距離演算部は、前記探索部によって探索された連結成分と前記検索対象画像との相対位置をずらしたときの複数の位置について前記距離を各々演算し、演算した距離が所定値以下の位置に対応する連結成分の対応領域を検索結果として出力する請求項１〜請求項３の何れか１項記載の画像処理装置。
【請求項５】
前記探索部は、前記階層グラフ作成部によって作成された単一の前記階層グラフに基づき、複数の前記検索対象画像について前記連結成分の探索を順に行い、
前記距離演算部は、複数の前記検索対象画像について前記距離の演算及び検索結果の出力を順に行う請求項１〜請求項４の何れか１項記載の画像処理装置。
【請求項６】
被検索対象画像及び検索対象画像から、値が異なる複数の二値化閾値における対応する連結成分を階層的に関連付けた階層グラフを各々作成し、
前記検索対象画像とのサイズの違いが閾値以内で、かつ前記被検索対象画像の階層グラフの系列上で対応する二値化閾値が最も低濃度側に位置している連結成分を探索し、
前記被検索対象画像の階層グラフのうち探索した前記連結成分を端部とする部分階層グラフ及び前記検索対象画像の階層グラフから、複数の二値化閾値が各値のときの画素数を各々算出し、複数の二値化閾値が各値のときの画素数の対応関係から前記部分階層グラフと前記検索対象画像の階層グラフとの距離の下限値を演算し、演算した距離の下限値がそれまでに得られているしきい値よりも小さい場合に前記部分階層グラフと前記検索対象画像の階層グラフとの距離を演算し、演算した距離が所定値以下の部分階層グラフに対応する領域を検索結果として出力する
ことを含む画像処理方法。
【請求項７】
コンピュータに、
被検索対象画像及び検索対象画像から、値が異なる複数の二値化閾値における対応する連結成分を階層的に関連付けた階層グラフを各々作成し、
前記検索対象画像とのサイズの違いが閾値以内で、かつ前記被検索対象画像の階層グラフの系列上で対応する二値化閾値が最も低濃度側に位置している連結成分を探索し、
前記被検索対象画像の階層グラフのうち探索した前記連結成分を端部とする部分階層グラフ及び前記検索対象画像の階層グラフから、複数の二値化閾値が各値のときの画素数を各々算出し、複数の二値化閾値が各値のときの画素数の対応関係から前記部分階層グラフと前記検索対象画像の階層グラフとの距離の下限値を演算し、演算した距離の下限値がそれまでに得られているしきい値よりも小さい場合に前記部分階層グラフと前記検索対象画像の階層グラフとの距離を演算し、演算した距離が所定値以下の部分階層グラフに対応する領域を検索結果として出力する
ことを含む処理を行わせるための画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
開示の技術は画像処理装置、画像処理方法及び画像処理プログラムに関する。
【背景技術】
【０００２】
与えられた画像に対して所望のパターンを検索して抽出する技術としてテンプレートマッチング法が知られている(図２０参照)。テンプレートマッチング法は、被検索対象画像全体に亘ってウィンドウを走査させ、各位置のウィンドウに相当する部分領域の画像とテンプレート画像との距離計算を行うことで、被検索対象画像上のテンプレート画像が最も合致する位置を求める方法である。２つの画像の距離は次の(１)式によって計算される。
【０００３】
【数１】
2014191744.tif 000003
なお、(１)式において、Ｉ(ｘ,ｙ)は被検索対象画像、Ｔ(ｘ,ｙ)は横Ｍ画素、縦Ｎ画素のテンプレート画像、Ｗ(ｕ,ｖ)は左上頂点の座標を(ｕ,ｖ)とするウィンドウである。
【０００４】
しかし、上記のテンプレートマッチング法は、被検索対象の画像から切り出した部分領域画像とテンプレート画像との距離計算を多数回繰り返す必要があり、処理に多くの時間が掛かる。このため、被検索対象画像から切り出した部分領域画像とテンプレート画像との距離計算の途中で、それ迄に計算した値が閾値を超えている場合に、距離計算を打ち切って次の部分領域の計算に移る残差逐次検定法(ＳＳＤＡ法)が提案されている。また、三角不等式から得られる距離の下限値を算出することにより、各照合位置で具体的な距離計算をせずに候補対象外としてよいか否か判定するSuccessive Elimination Algorithm(ＳＥＡ法)も提案されている。
【０００５】
ＳＥＡ法では、距離計算を行う前に三角不等式によって距離計算の必要性を判定する。具体的には、テンプレート画像の大きさ|Ｔ|((２)式参照)、被検索対象画像のウィンドウＷ(ｕ,ｖ)の部分領域画像の大きさ|Ｗ(ｕ,ｖ)|((３)式参照)及び閾値θminが||Ｔ|−|Ｗ(ｕ,ｖ)||≧θminを満たすならば距離計算の候補対象外としてスキップし、次の距離計算に移る。
【０００６】
【数２】
2014191744.tif 000004
【先行技術文献】
【非特許文献】
【０００７】
【非特許文献１】DANIEL I.BARNEA,HARVEY F.SILVERMAN,"A Class of Algorithms for Fast Digital Image Registration",IEEE TRANSACTIONS ON COMPUTERS,VOL.C-21,NO.2,FEBRUARY 1972,pp.179-186
【非特許文献２】W.Li,E.Salari,"Successive Elimination Algorithm for Motion Estimation",IEEE TRANSACTIONS ON IMAGE PROCESSING,VOL.4,NO.1,JANUARY 1995,pp.105-107
【発明の概要】
【発明が解決しようとする課題】
【０００８】
コンピュータの画面をキャプチャした画像から指定された文字やアイコンの画像を検出することによって、コンピュータの画面が予定通りに表示されているかどうかを確認する作業を自動化したいというニーズがある。上記作業の自動化は、検索対象の文字やアイコンの画像をテンプレートとして複数用意しておき、被検索対象画像から検索対象の個々の文字やアイコンを自動で検出することで実現される。なお、コンピュータの画面をキャプチャした画像上において、文字やアイコンなどの検索対象の画像は、背景から独立した形で配置されていることが多いという特徴を有する。
【０００９】
しかしながら、従来の画像検索技術は、何れも検索対象の画像(テンプレート)毎に被検索対象画像の全体を走査する必要があり、検索対象の画像の数が増加するに従い、検索に要する時間が長時間化するという課題があった。なお、三角不等式を用いて距離下限値を推定して距離計算を省略したとしても、テンプレートや対象領域の大きさのみに基づいて距離下限値を推定しているため、画像の大きさが非常に異なる場合にしか距離計算が省略できない。このため、顕著な効率化には繋がらず、検索対象の画像の数が増加するに従い、検索に要する時間が長時間化することになる。
【００１０】
開示の技術は、一つの側面として、複数の画像の検索に要する時間を短縮することが目的である。
【課題を解決するための手段】
【００１１】
開示の技術は、階層グラフ作成部により、被検索対象画像及び検索対象画像から、値が異なる複数の二値化閾値における対応する連結成分を階層的に関連付けた階層グラフが各々作成される。探索部は、前記検索対象画像とのサイズの違いが閾値以内で、かつ前記被検索対象画像の階層グラフの系列上で対応する二値化閾値が最も低濃度側に位置している連結成分を探索する。距離演算部は、前記被検索対象画像の階層グラフのうち前記探索部によって探索された前記連結成分を端部とする部分階層グラフ及び前記検索対象画像の階層グラフから、複数の二値化閾値が各値のときの画素数を各々算出する。また距離演算部は、複数の二値化閾値が各値のときの画素数の対応関係から前記部分階層グラフと前記検索対象画像の階層グラフとの距離の下限値を演算する。そして距離演算部は、演算した距離の下限値がそれ迄に得られた距離よりも小さい場合に前記部分階層グラフと前記検索対象画像の階層グラフとの距離を演算し、演算した距離が所定値以下の部分階層グラフに対応する領域を検索結果として出力する。
【発明の効果】
【００１２】
開示の技術は、一つの側面として、複数の画像の検索に要する時間を短縮することができる、という効果を有する。
【図面の簡単な説明】
【００１３】
【図１】実施形態に係る画像処理装置の機能ブロック図である。
【図２】図１の画像処理装置として機能することが可能なコンピュータの概略ブロック図である。
【図３】被検索対象画像上の検索対象画像の一例を示すイメージ図である。
【図４】テンプレートマッチング処理を示すフローチャートである。
【図５】マッチング候補検出処理を示すフローチャートである。
【図６】キーコンポーネント探索処理を示すフローチャートである。
【図７】キーコンポーネント照合処理を示すフローチャートである。
【図８】配列生成・距離下限値計算処理を示すフローチャートである。
【図９】距離下限値計算処理を示すフローチャートである。
【図１０】コンポーネントツリーの作成を説明するための概念図である。
【図１１】コンポーネントツリーからのキーコンポーネントの抽出を説明するための概念図である。
【図１２】コンポーネントツリーに対する深さ優先探索を説明するための概念図である。
【図１３】距離下限値の算出を説明するための説明図である。
【図１４】距離下限値の算出を説明するための説明図である。
【図１５】距離下限値の算出を説明するための説明図である。
【図１６】テンプレート画像とキーコンポーネント画像との距離演算を説明するための概念図である。
【図１７】テンプレート画像とキーコンポーネント画像との距離演算を説明するための概念図である。
【図１８】被検索対象画像上でのキーコンポーネント画像の領域の一例を示すイメージ図である。
【図１９】処理結果の一例を示す図表である。
【図２０】テンプレートマッチング法を説明するための概念図である。
【発明を実施するための形態】
【００１４】
以下、図面を参照して開示の技術の実施形態の一例を詳細に説明する。図１には、本実施形態に係る画像処理装置１０が示されている。画像処理装置１０は、コンピュータの画面をキャプチャする等によって得られた被検索対象画像に対し、検索対象画像(テンプレート画像)を探索するテンプレートマッチング処理を行う装置である。画像処理装置１０によるテンプレートマッチング処理により、コンピュータの画面が予定通りに表示されているかどうかを確認する作業が自動化される。
【００１５】
画像処理装置１０は、マッチング候補検出部１２及びマッチング候補検証部１４を備えており、マッチング候補検出部１２はコンポーネントツリー作成部１６、キーコンポーネント抽出部１８及びキーコンポーネント照合部２０を含んでいる。
【００１６】
マッチング候補検出部１２は、被検索対象画像に対し、検索対象画像(テンプレート画像)と対応していると推定されるマッチング候補を検出する処理を行う。マッチング候補検出部１２によるマッチング候補の検出は、より詳しくは、コンポーネントツリー作成部１６、キーコンポーネント抽出部１８及びキーコンポーネント照合部２０によって実現される。
【００１７】
すなわち、コンポーネントツリー作成部１６は、被検索対象画像をグレー化し、被検索対象画像のグレー画像を走査する。そしてコンポーネントツリー作成部１６は、被検索対象画像のグレー画像から、値が異なる複数の二値化閾値における対応する連結成分を階層的に関連付けた階層グラフ(コンポーネントツリー)を作成する。また、コンポーネントツリー作成部１６は、複数の検索対象画像もグレー化し、複数の検索対象画像のグレー画像も走査する。そしてコンポーネントツリー作成部１６は、複数の検索対象画像のグレー画像から、値が異なる複数の二値化閾値における対応する連結成分を階層的に関連付けた階層グラフ(コンポーネントツリー)を各々作成する。
【００１８】
キーコンポーネント抽出部１８は、検索対象画像(テンプレート画像)とのサイズの違いが閾値以内で、コンポーネントツリー作成部１６によって作成されたコンポーネントツリーの系列上で、対応する二値化閾値が最も低濃度側に位置している連結成分を探索する。なお、本実施形態では、キーコンポーネント抽出部１８によって探索される連結成分をキーコンポーネントと称する。
【００１９】
キーコンポーネント照合部２０は、被検索対象画像のコンポーネントツリーのうちキーコンポーネントを端部とする部分階層グラフ及び検索対象画像の階層グラフから、複数の二値化閾値が各値のときの画素数を各々算出する。またキーコンポーネント照合部２０は、複数の二値化閾値が各値のときの画素数の対応関係から前記部分階層グラフと前記検索対象画像の階層グラフとの距離の下限値を演算する。またキーコンポーネント照合部２０は、演算した距離の下限値がそれ迄に得られた距離よりも小さい場合に部分階層グラフと検索対象画像の階層グラフとの距離を演算する。そしてキーコンポーネント照合部２０は、演算した距離が所定値以下の部分階層グラフに対応する領域をマッチング候補として出力する。
【００２０】
マッチング候補検証部１４は、マッチング候補検出部１２によって検出されたマッチング候補が検索対象画像(テンプレート画像)と対応しているか否かを、色情報を照合して検証する処理を行う。
【００２１】
なお、コンポーネントツリー作成部１６は開示の技術に係る階層グラフ作成部の一例であり、キーコンポーネント抽出部１８は開示の技術における探索部の一例であり、キーコンポーネント照合部２０は開示の技術における距離演算部の一例である。
【００２２】
画像処理装置１０は、例えば図２に示すコンピュータ３０で実現することができる。コンピュータ３０はＣＰＵ３２、メモリ３４、記憶部３６、入力部３８及び表示部４０を備えている。ＣＰＵ３２、メモリ３４、記憶部３６、入力部３８及び表示部４０はバス４２を介して互いに接続されている。
【００２３】
記憶部３６はＨＤＤ(Hard Disk Drive)やフラッシュメモリ等によって実現できる。記憶部３６には、コンピュータ３０を画像処理装置１０として機能させるためのテンプレートマッチングプログラム４４が記憶されている。ＣＰＵ３２は、テンプレートマッチングプログラム４４を記憶部３６から読み出してメモリ３４に展開し、テンプレートマッチングプログラム４４が有するプロセスを順次実行する。
【００２４】
テンプレートマッチングプログラム４４は、マッチング候補検出プロセス４６及びマッチング候補検証プロセス４８を有する。またマッチング候補検出プロセス４６は、コンポーネントツリー作成プロセス５０、キーコンポーネント抽出プロセス５２及びキーコンポーネント照合プロセス５４を含んでいる。
【００２５】
ＣＰＵ３２は、マッチング候補検出プロセス４６を実行することで、図１に示すマッチング候補検出部１２として動作する。またＣＰＵ３２は、マッチング候補検証プロセス４８を実行することで、図１に示すコンポーネントツリー作成部１６として動作する。またＣＰＵ３２は、コンポーネントツリー作成プロセス５０を実行することで、図１に示すマッチング候補検証部１４として動作する。またＣＰＵ３２は、キーコンポーネント抽出プロセス５２を実行することで、図１に示すキーコンポーネント抽出部１８として動作する。またＣＰＵ３２は、キーコンポーネント照合プロセス５４を実行することで、図１に示すキーコンポーネント照合部２０として動作する。
【００２６】
これにより、テンプレートマッチングプログラム４４を実行したコンピュータ３０が、画像処理装置１０として機能することになる。なお、テンプレートマッチングプログラム４４は開示の技術に係る画像処理プログラムの一例である。また、コンピュータ３０としては、例えばパーソナル・コンピュータ(ＰＣ：Personal Computer)や、携帯情報端末(ＰＤＡ：Personal Digital Assistants)の機能を搭載した携帯型の情報処理装置であるスマート端末を適用できる。
【００２７】
また、記憶部３６には、被検索対象画像が記憶されており、複数の検索対象画像(テンプレート画像)も記憶されている。本実施形態において、被検索対象画像はコンピュータの画面をキャプチャする等によって得られる画像であり、検索対象画像はコンピュータの画面に含まれるアイコン等を表す画像である。なお、被検索対象画像及び検索対象画像は記憶部３６に予め記憶されていることに限られるものではなく、外部の機器から取得するようにしてもよい。
【００２８】
なお、画像処理装置１０は、例えば半導体集積回路、より詳しくはＡＳＩＣ(Application Specific Integrated Circuit)等で実現することも可能である。
【００２９】
次に本実施形態の作用を説明する。コンピュータの画面をキャプチャする等によって得られた被検索対象画像において、画像中の文字やアイコンなどの検索対象画像は、例えば図３に示すように、濃度や色の相違に基づき二値化等を行うことで背景から容易に分離することができる。このため、被検索対象画像から検索対象画像(テンプレート画像)の大きさにほぼ等しい部分領域を特定して抽出し、その領域のみに対して距離計算を行えば距離計算を効率化できる。
【００３０】
被検索対象画像から検索対象画像の大きさにほぼ等しい部分領域を抽出する方法としては、被検索対象を二値化し、二値画像に対してラベリング処理を行うことにより二値画像の中から検索対象画像の大きさにほぼ等しい部分領域を抽出する方法が考えられる。但し、被検索対象画像上での検索対象画像の背景の色及び濃度は未知であるため、二値化閾値をどのように設定すればよいのかが問題になる。例えば０〜２５５迄の全ての値を二値化閾値として二値化を２５６回行い、２５６枚の二値画像に対してラベリング処理を行い、検索対象画像の大きさにほぼ等しい領域を抽出することも考えられる。しかし、この方法は処理に時間が掛かり大容量のメモリを必要とするので効率的ではない。
【００３１】
上記に鑑み、本実施形態では被検索対象画像についてコンポーネントツリーを作成し、作成したコンポーネントツリーの情報を用いることにより、被検索対象画像に対する検索対象画像の探索を効率的に行う。コンポーネントツリーは、画像を１回走査することにより得られるグラフ情報であり、階調画像の各階調値に関する切断画像（階調値を二値化閾値とする二値画像）の各連結成分を要素(コンポーネント)としている。コンポーネントツリーは、階調値(二値化閾値)を変えていったときの連結成分の包含関係によって要素（コンポーネント）を関係付けたツリー状の階層グラフである。
【００３２】
以下、コンピュータ３０によってテンプレートマッチングプログラム４４が実行されることで実現されるテンプレートマッチング処理について説明する。なお、テンプレートマッチング処理は、例えば、コンピュータの画面をキャプチャした画像から指定された文字やアイコンの画像を検出することによって、コンピュータの画面が予定通りに表示されているかどうかを確認する等を目的として実行が指示される。
【００３３】
図４に示すように、テンプレートマッチング処理のステップ１００において、マッチング候補検出部１２は、被検索対象画像に対して検索対象画像(テンプレート画像)と対応していると推定されるマッチング候補領域を検出するマッチング候補検出処理を行う。なお、マッチング候補検出処理の詳細は後述する。
【００３４】
また、次のステップ１０２において、マッチング候補検証部１４は、マッチング候補検出部１２によって検出されたマッチング候補領域が検索対象画像(テンプレート画像)と対応しているか否かを、色情報を照合して検証するマッチング候補検証処理を行う。具体的には、検出されたマッチング候補領域について、原画像のカラー画像における被検索対象画像と検索対象画像(テンプレート画像)との色情報の差分を求め、求めた差分が閾値以内であれば、マッチング領域として出力する。出力する処理結果は、図１９に示すように、個々の検索対象画像について、検出した領域の数と、検出した個々の領域を表す外接矩形の座標を情報として含んでいる。
【００３５】
次に図５を参照し、マッチング候補検出処理の詳細を説明する。マッチング候補検出処理のステップ１１０において、コンポーネントツリー作成部１６は、カラー画像である被検索対象画像をグレー画像に変換する。カラー画像のグレー化は、３次元のＲＧＢ空間において、原点を通る所定の直線へ射影することに相当するので、３次元空間の方向ベクトルの取り方だけバリエーションがある。例えば、最もよく使用されるのが明度であり、次の(４)式によって計算される。ここで、ＲＧＢ空間の点を座標(Ｒ,Ｇ,Ｂ)によって表す。
明度＝0.299Ｒ＋0.587Ｇ＋0.114Ｂ    …(４)
なお、カラー画像のグレー化は上記に明度に限られるものではなく、例えば色差Ｒ−Ｂや色差Ｇ−Ｂを明度に代えて用いてもよい。
【００３６】
次のステップ１１２において、コンポーネントツリー作成部１６は、被検索対象画像のグレー画像に対してコンポーネントツリーを作成する。グレー画像のコンポーネント・ツリーは、グレー画像の各濃度値に関する切断画像(各濃度値を二値化閾値とする二値画像)の各連結成分を要素(コンポーネント)としている。コンポーネント・ツリーは、グレー画像を１回走査し、二値化閾値を変えていったときの連結成分の包含関係によって要素(コンポーネント)を階層的に関係付けたツリー状の階層グラフである。グレー画像とコンポーネント・ツリーの具体例を図１０に示す。
【００３７】
コンポーネントツリーの階層グラフ上では、個々のコンポーネント(黒画素で構成される連結成分)がノードとして表現され、個々のコンポーネントの関係はノードとノードを結ぶエッジで表現される。また、コンポーネントツリーには、二値化閾値が最も低濃度側に単一のノードが存在しており、それをルートノードと称する。図１０の例では、二値化閾値がｔ0のときに切断画像は全面黒画素の画像となり、対応するノードは単一のルートノードとなる。
【００３８】
作成されたコンポーネントツリーは以下の情報を含む。
(1)ノードの集合
(2)ノードの個数
(3)ルートへのポインタ
また、コンポーネントツリーの個々のノードは以下の情報を含む。
(1)ノードＩＤ（正の整数）
(2)濃度値
(3)コンポーネントの外接矩形の座標
(4)コンポーネントの黒画素の個数（コンポーネントの面積）
(5)コンポーネントの濃度に等しい黒画素の個数
(6)子供コンポーネントのノードＩＤ
(7)子供コンポーネントの個数
(8)親コンポーネントのノードＩＤ
【００３９】
なお、コンポーネントツリーの作成に関しては、幾つかの方法が提案されている(例えば、Laurent Najman,Michel Couprie,"Building the Component Tree in Quasi-Linear Time",IEEE Transactions on Image Processing,2006,3531〜3539)。
【００４０】
次のステップ１１４において、マッチング候補検出部１２は、未処理の検索対象画像が有るか否か判定する。ステップ１１４の判定が肯定された場合はステップ１１５へ移行する。ステップ１１５において、コンポーネントツリー作成部１６は、未処理の検索対象画像に対し、先のステップ１１０と同様にグレー画像化した後に、先のステップ１１２と同様にして未処理の検索対象画像のコンポーネントツリーを作成する。
【００４１】
次のステップ１１６において、キーコンポーネント抽出部１８は、被検索対象画像のコンポーネントツリーからキーコンポーネントを探索するキーコンポーネント探索処理を行う。また、次のステップ１１８において、キーコンポーネント照合部２０は、キーコンポーネント探索処理で探索されたキーコンポーネントを検索対象画像と照合するキーコンポーネント照合処理を行う。
【００４２】
ステップ１１８の処理を行うとステップ１１４に戻り、ステップ１１４の判定が肯定される迄、ステップ１１４〜ステップ１１８を繰り返す。これにより、個々の検索対象画像に対して、ステップ１１６のキーコンポーネント探索処理及びステップ１１８のキーコンポーネント照合処理が各々行われる。
【００４３】
次に図６を参照し、キーコンポーネント探索処理の詳細について説明する。キーコンポーネント探索処理の実行が開始される際には、コンポーネントツリーのルートノードが基準ノード及び入力ノードに設定される。そしてステップ１２０において、入力ノード(最初は基準ノード)がキーコンポーネントの大きさの条件を満たすか否か判定する。
【００４４】
キーコンポーネントとは、検索対象画像(テンプレート画像)とほぼ同じ大きさを持つコンポーネントのことである(図１１も参照)。具体的には、検索対象のテンプレート画像の大きさを横Ｍ画素×縦Ｎ画素とするとき、|Ｍ−Ｘ|＜ε1かつ|Ｎ−Ｙ|＜ε2を満たすＸ画素×Ｙ画素の大きさを持ち、かつ、コンポーネントツリーの系列上で最もルートノード側に位置しているコンポーネントである。なお、ε1,ε2は定数である。
【００４５】
ステップ１２０の判定が肯定された場合はステップ１２６へ移行し、ステップ１２６において、キーコンポーネント抽出部１８は、入力ノードをキーコンポーネントとして登録し、キーコンポーネント探索処理を終了する。
【００４６】
一方、ステップ１２０の判定が否定された場合はステップ１２２へ移行する。ステップ１２２において、キーコンポーネント抽出部１８は、現在の入力ノードよりも下位(二値化閾値の高濃度側)に、キーコンポーネントか否かを未判定の子ノードが有るか否か判定する。なお、ステップ１２２において、現在の入力ノードよりも下位に、キーコンポーネントか否かを未判定の子ノードが存在しない場合、基準ノードよりも下位に、キーコンポーネントか否かを未判定の子ノードが有るか否かを判定する。
【００４７】
ステップ１２２の判定が否定された場合はキーコンポーネント探索処理を終了する。また、ステップ１２２の判定が肯定された場合は、発見された、キーコンポーネントか否かを未判定の子ノードを入力ノードに設定して、図６に示すキーコンポーネント探索処理を再帰的に実行する。これにより、コンポーネントツリーに対して、深さ優先探索によりルートノードよりも下位に存在する全てのキーコンポーネントが探索されることになる(図１０も参照)。
【００４８】
続いて図７を参照し、キーコンポーネント照合処理の詳細について説明する。
【００４９】
キーコンポーネント照合処理のステップ１４０において、キーコンポーネント照合部２０は、距離の閾値θに非常に大きな値を、距離最小値を与える領域の個数argmin_noに０を設定し、距離最小値を与える領域の座標情報の配列argmin[]を初期化する。次のステップ１４２において、キーコンポーネント照合部２０は、未処理のキーコンポーネントが有るか否か判定する。
【００５０】
ステップ１４２の判定が肯定された場合はステップ１４４へ移行する。ステップ１４４において、キーコンポーネント照合部２０は、配列生成・距離下限値計算処理を行う。なお、配列生成・距離下限値計算処理の詳細は後述する。次のステップ１４６では、配列生成・距離下限値計算処理で計算された距離下限値ｄ_infが距離の閾値θよりも小さいか否か判定する。ステップ１４６の判定が否定された場合は、以下で説明する距離計算を行うことなくステップ１４２に戻る。また、ステップ１４６の判定が肯定された場合はステップ１４８へ移行し、ステップ１４８において、キーコンポーネント照合部２０は、複数位置でキーコンポーネントと検索対象画像(テンプレート画像)との距離計算を行う。
【００５１】
距離計算は、図１６に示すように、キーコンポーネントに対応する被検索対象画像の領域に対し、検索対象画像(テンプレート画像)の相対位置を左上から右下へ順次変化させながら各位置で各々行う。キーコンポーネントと検索対象画像(テンプレート画像)とは必ずしも大きさが一致するとは限らないので、若干のマージンを設定して計算を行う。
【００５２】
具体的には、図１７に示すように、キーコンポーネントに対応する領域の大きさを横Ｘ画素、縦Ｙ画素とし、左上頂点を座標(0, 0)で表す。このとき、座標(−α,−α)の点に検索対象画像の左上点が一致する位置で距離計算を開始し、検索対象画像を右側に１画素ずつずらしていき、検索対象画像の右上点が座標(Ｘ＋α,0)に一致するまで距離計算を繰り返す。次に、検索対象画像を下に１画素ずらし、同じように右側の限界まで距離計算を繰り返す。下方向の限界はＹ＋αで、座標(−α,Ｙ＋α)の点に検索対象画像の左下点が一致する位置から距離計算を開始し、検索対象画像を右側に１画素ずつずらしていき、検索対象画像の右下点が(Ｘ＋α,Ｙ＋α)に一致するまで距離計算を繰り返す。そして、複数位置で演算した距離の最小値を距離ｄとして抽出する。
【００５３】
次のステップ１５０において、キーコンポーネント照合部２０は、ステップ１４８で計算した距離ｄが距離の閾値θよりも小さいか否か判定する。ステップ１５０の判定が肯定された場合はステップ１５４へ移行する。ステップ１５４において、キーコンポーネント照合部２０は、距離の閾値θに距離ｄを設定し、距離最小値を与える領域の座標情報の配列argmin[0]にキーコンポーネントに対応する被検索対象画像の領域の座標を設定する。また、距離最小値を与える領域の個数argmin_noに１を設定する。ステップ１５４の処理を行うとステップ１４２に戻る。
【００５４】
また、ステップ１５０の判定が否定された場合はステップ１５２へ移行する。ステップ１５２において、キーコンポーネント照合部２０は、ステップ１４８で計算した距離ｄが距離の閾値θに等しいか否か判定する。ステップ１５２の判定が否定された場合はステップ１４２に戻る。一方、ステップ１５２の判定が肯定された場合はステップ１５６へ移行する。ステップ１５６において、キーコンポーネント照合部２０は、距離最小値を与える領域の座標情報の配列argmin[argmin_no]にキーコンポーネントに対応する被検索対象画像の領域の座標を設定する。また、キーコンポーネント照合部２０は、距離最小値を与える領域の個数argmin_noを１だけインクリメントする。ステップ１５６の処理を行うとステップ１４２に戻る。
【００５５】
なお、ステップ１４８における距離ｄの計算の途中で、それ迄に計算した距離ｄが距離の閾値θを超えている場合には、距離ｄの計算を打ち切り、次のキーコンポーネントの計算に移ってもよい。
【００５６】
次に、図１３(Ａ)に示す画像を一例として距離下限値の演算を説明する。図１３(Ａ)に示す画像Ａ,Ｂは、説明の簡略化のため１次元の画像としている。すなわち、図１３(Ａ)における横軸が画像上の位置を表し、図１３(Ａ)における縦軸が階調値を表している。ここで、図１３(Ａ)に示す画像Ａ,Ｂの距離|Ａ−Ｂ|は、(４)式に従い200になる。また、画像Ａの大きさ|Ａ|は(５)式より200、画像Ｂの大きさ|Ｂ|は(６)式より200である。従って、従来方式で見積もられる画像Ａ,Ｂの距離下限値は||Ａ|−|Ｂ||であり０になるので、距離の閾値θの値よりは小さくならない(図７のステップ１４６の判定が否定されない)ことから距離ｄの計算を行う必要がある。
|Ａ−Ｂ|＝|0−50|＋|0−50|＋|100−0|＋|100−100|＝200    …(４)
|Ａ|＝100＋100＝200    …(５)
|Ｂ|＝50＋50＋100＝200    …(６)
このように、従来方式では、距離下限値の演算に際して画像の構造を考慮していないため、距離下限値が実際の距離と乖離することで、距離ｄの計算を省略できない場合が多々生ずる。
【００５７】
一方、コンポーネント・ツリーにより、画像Ａ,Ｂを図１３(Ｂ)に示すように階調値毎の画素の総数を表す配列に変換する場合を考える。図１３(Ｂ)に示す画像Ａの配列は階調値１００の画素が２画素、階調値０の画素が４画素あることを示し、図１３(Ｂ)に示す画像Ｂの配列は階調値１００の画素が１画素、階調値５０の画素が２画素、階調値０の画素が３画素あることを示している。
【００５８】
このとき、画像Ａの画素を画像Ｂの画素に対応付ける方法の中で最も距離が小さくなる方法を考えると、図１３(Ｃ)に示すようになる。つまり、画像Ａの階調値１００の２画素のうち１画素は画像Ｂの階調値１００の画素に対応付け、残りの１画素は画像Ｂの階調値５０の画素に対応付ける。また、画像Ａの階調値０の４画素のうちの３画素は画像Ｂの階調値０の画素に対応付け、残りの１画素は画像Ｂの階調値５０の画素に対応付ける。この画素の対応付けに基づく距離下限値は(７)式より１００と計算され、この方式によれば従来方式よりも実際の距離値に近い値を得ることができるので、従来方式よりも距離ｄの計算を省略できる場合が生ずることになる。。
1×|100−100|＋1×|100−50|＋1×|0−50|＋3×|0−0|＝100    …(７)
【００５９】
本実施形態では、上記の方式により距離下限値を算出する。以下、図７のステップ１４４の配列生成・距離下限値計算処理の詳細について、図８を参照して説明する。図８のステップ１６０において、キーコンポーネント照合部２０は、被検索対象画像のコンポーネントツリーのうちのキーコンポーネントを基準ノードに設定する。次のステップ１６１において、キーコンポーネント照合部２０は、被検索対象画像のコンポーネントツリーのうち、基準ノードの下位に存在する部分ツリーについて、配列(階調値毎の画素の総数を表す配列numofpts[g])を作成済みか否か判定する。ステップ１６１の判定が肯定された場合はステップ１６６へ移行し、ステップ１６１の判定が否定された場合はステップ１６２へ移行する。ステップ１６２において、キーコンポーネント照合部２０は、被検索対象画像のコンポーネントツリーのうち、基準ノードの下位に存在する部分ツリーの中に未処理の子ノードが有るか否か判定する。
【００６０】
ステップ１６２の判定が肯定された場合はステップ１６４へ移行する。ステップ１６４において、キーコンポーネント照合部２０は、部分ツリーに含まれる未処理の子ノードを対象として、同じ階調値のコンポーネントに含まれる画素の個数の総和を算出する総和算出処理ContractCompsを行う。すなわち、未処理の子ノードにおける階調値をｇ、未処理の子ノードにおける画素数をnumofptsとしたときに、配列numofpts[g]に対して次の(８)式の演算を行うことで、階調値毎の画素の総数を表す配列numofpts[g]を更新する。
numofpts[g]＝numofpts[g]＋numofpts    …(８)
【００６１】
ステップ１６４の処理を行うとステップ１６２に戻り、ステップ１６２の判定が否定される迄、ステップ１６２,１６４が繰り返される。これにより、ステップ１６４における総和算出処理ContractCompsは再帰的に実行され、キーコンポーネント以下の部分ツリーに対し、深さ優先探索により下位に存在する全ての子ノードが探索され、階調値毎の画素の総数を表す配列numofpts[g]が生成される。
【００６２】
ステップ１６２の判定が否定されるとステップ１６６へ移行し、ステップ１６６において、キーコンポーネント照合部２０は、検索対象画像のコンポーネントツリーのルートノードを基準ノードに設定する。次のステップ１６８において、キーコンポーネント照合部２０は、検索対象画像のコンポーネントツリーの中に未処理の子ノードが有るか否か判定する。
【００６３】
ステップ１６８の判定が肯定された場合はステップ１７０へ移行する。ステップ１７０において、キーコンポーネント照合部２０は、検索対象画像のコンポーネントツリーに含まれる未処理の子ノードを対象として、同じ階調値のコンポーネントに含まれる画素の個数の総和を算出する総和算出処理ContractCompsを行う。すなわち、未処理の子ノードにおける階調値をｇ、未処理の子ノードにおける画素数をnumofptsとしたときに、配列numofpts[g]に対して先の(８)式の演算を行うことで、階調値毎の画素の総数を表す配列numofpts[g]を更新する。
【００６４】
ステップ１７０の処理を行うとステップ１６８に戻り、ステップ１６８の判定が否定される迄、ステップ１６８,１７０が繰り返される。これにより、ステップ１７０における総和算出処理ContractCompsは再帰的に実行され、検索対象画像のコンポーネントツリーに対し、深さ優先探索により下位に存在する全ての子ノードが探索され、階調値毎の画素の総数を表す配列numofpts[g]が生成される。
【００６５】
上述した処理の処理結果の具体例を図１４に示す。図１４の左側には処理対象の２つのコンポーネントツリー(被検索対象画像の部分ツリーと検索対象画像のコンポーネントツリー)を示した。各コンポーネントに添えられている数値は、各階調値における画素の個数を表している。図１４の右側には、各々の処理結としての配列を示した。各配列に添えられている数値は、各階調値における画素の個数を総和した値を表している。
【００６６】
また、ステップ１６８の判定が否定されるとステップ１７２へ移行し、ステップ１７２において、キーコンポーネント照合部２０は距離下限値計算処理を行う。以下、図９を参照し、距離下限値計算処理の詳細を説明する。
【００６７】
距離下限値計算処理のステップ１８０において、キーコンポーネント照合部２０は、被検索対象画像のコンポーネントツリーのうち、キーコンポーネント以下の部分ツリーから生成した配列(配列Ａ)をマッチング対象に設定する。また、次のステップ１８２において、キーコンポーネント照合部２０は、変数ｉに０を代入する。また、ステップ１８４において、キーコンポーネント照合部２０は、変数ｊに１を代入し、変数ｍに変数ｉと256−ｉのうちの大きい方の値を代入し、変数num_iに値numofpts(＝配列Ａの値numofpts[ｉ])を代入し、距離sumに０を代入する。
【００６８】
次のステップ１８６において、キーコンポーネント照合部２０は、変数ｊが変数ｍよりも小さく、かつ変数num_iが０よりも大きいか否か判定する。ステップ１８６の判定が肯定された場合はステップ１８８へ移行する。ステップ１８８において、キーコンポーネント照合部２０は、変数ｊが偶数か否か判定する。ステップ１８８の判定が肯定された場合はステップ１９０へ移行し、ステップ１８８の判定が否定された場合はステップ１９２へ移行する。
【００６９】
ステップ１９０において、キーコンポーネント照合部２０は、以下の(９)式の演算を行って変数ｇに値を設定する。
ｇ＝ｉ＋[ｊ／２]    …(９)
なお、上記の(９)式における[]は、[]内の演算結果の端数を切り捨てることを表すガウス記号である。一方、ステップ１９２において、キーコンポーネント照合部２０は、以下の(10)式の演算を行って変数ｇに値を設定する。
ｇ＝ｉ−[ｊ／２]    …(10)
なお、上記の(10)式における[]も、[]内の演算結果の端数を切り捨てることを表すガウス記号である。
【００７０】
ステップ１９０又はステップ１９２の演算を行うとステップ１９４へ移行する。ステップ１９４において、キーコンポーネント照合部２０は、変数ｇが０以上で、かつ変数ｇが２５６よりも小さいか否か判定する。ステップ１９４の判定が肯定された場合はステップ１９６へ移行し、ステップ１９６において、キーコンポーネント照合部２０は、以下の(11)〜(13)式の演算を行う。
val＝min(numofpts[ｇ],num_i)    …(11)
sum＝sum＋val×|ｉ-ｇ|    …(12)
num_i＝num_i−val    …(13)
【００７１】
ステップ１９６の処理を行うとステップ１９８へ移行する。なお、ステップ１９４の判定が否定された場合もステップ１９８へ移行する。ステップ１９８において、キーコンポーネント照合部２０は、変数ｊを１だけインクリメントし、ステップ１８６に戻る。これにより、ステップ１８６の判定が否定される迄、ステップ１８６〜ステップ１９８が繰り返される。
【００７２】
また、ステップ１８６の判定が否定された場合はステップ２００へ移行する。ステップ２００において、キーコンポーネント照合部２０は、変数ｉの値が２５５になったか否か判定する。ステップ２００の判定が否定された場合はステップ２０２へ移行する。ステップ２０２において、キーコンポーネント照合部２０は、変数ｉを１だけインクリメントしてステップ１８４に戻る。これにより、ステップ２００の判定が肯定される迄、ステップ１８４〜ステップ２０２が繰り返される。
【００７３】
上記では、配列Ａの画素を検索対象画像のコンポーネントツリーから生成した配列(配列Ｂ)の画素に対応させて、複数の二値化閾値が各値のときの画素数の対応関係を求めたときの距離の下限値を求めている。詳しくは、変数ｉを０から２５５まで動かし、配列Ａのｉ番目のnumofpts個の画素を配列Ｂの階調として近いところから、すなわち、ｉ,ｉ−１,ｉ＋１,ｉ−２,ｉ＋２,…の順番でマッチングさせ、numofpts個の画素分の距離sumの総和を計算している。なお、配列Ａの配列Ｂに対する距離下限値(＝距離sumの総和)をθ(A,B)とすると、実際の２つの画像の距離θ０に対しては、以下の(14)式を満たす。
θ(Ａ,Ｂ)≦θ０    …(14)
【００７４】
具体例を挙げて更に説明する。図１５に示す配列Ａの階調値１００の画素数は４０であり、この４０個の画素は配列Ｂの階調値１００の画素に２０画素分がマッチングし、残りの２０画素分は配列Ｂの階調値１５０の画素に２０画素分がマッチングする。従って、配列Ａにおける１番目の４０個の画素に対応する距離sumは(15)式より１０００となる。また、配列Ａの階調値２１０の画素数は３０であり、この３０個の画素は配列Ｂの階調値２００の画素に２０画素分がマッチングし、残りの１０画素分は配列Ｂの階調値１５０の画素に１０画素分がマッチングする。従って、配列Ａにおける２番目の３０個の画素に対応する距離sumは(16)式より８００となる。これにより、(17)式よりθ(Ａ,Ｂ)は１８００となる。
20×(100−100)＋20×(150−100)＝1000    …(15)
20×(210−200)＋10×(210−150)＝800    …(16)
1000＋800＝1800    …(17)
【００７５】
配列Ａの画素を配列Ｂの画素に対応させたときの距離の下限値(θ(Ａ,Ｂ))が求まると、ステップ２００の判定が肯定されてステップ２０４へ移行する。ステップ２０４において、キーコンポーネント照合部２０は、演算を２回行ったか、すなわち配列Ｂの画素を配列Ａの画素に対応させたときの距離の下限値も演算したか否か判定する。ステップ２０４の判定が否定された場合はステップ２０６へ移行する。ステップ２０６において、キーコンポーネント照合部２０は、配列Ｂをマッチング対象に設定した後にステップ１８２に戻る。これにより、ステップ２０４の判定が肯定される迄、ステップ１８２〜ステップ２０６が繰り返され、配列Ｂの画素を配列Ａの画素に対応させたときの距離の下限値(θ(Ｂ,Ａ))が計算される。
【００７６】
配列Ｂの画素を配列Ａの画素に対応させたときの距離の下限値(θ(Ｂ,Ａ))が求まると、ステップ２０４の判定が肯定されてステップ２０８へ移行する。ステップ２０８において、キーコンポーネント照合部２０は、２回の演算によって得られた距離の下限値θ(Ａ,Ｂ),θ(Ｂ,Ａ)のうちの大きい方を距離下限値ｄ_infに設定し、距離下限値計算処理を終了する。
【００７７】
本実施形態では、被検索対象画像のコンポーネントツリーを作成するために被検索対象画像を１回走査する必要がある。但し、作成したコンポーネントツリーは複数の検索対象画像の探索に共通に用いることができるので、被検索対象画像のコンポーネントツリーの作成(被検索対象画像の走査)は１回のみで済む。また、検索対象画像のコンポーネントツリーの作成は、検索対象画像の面積が限られているため短時間で済む。また、コンポーネントツリーからのキーコンポーネントの探索は簡単な処理で済む。そして、コンポーネントツリーからキーコンポーネントを抽出した後に距離計算を行うことで、図１８に黒塗りの領域で示すように、検索対象画像(テンプレート画像)との距離計算を行う対象領域も絞られる。これにより、複数の画像の検索に要する時間を短縮することができる。
【００７８】
また、本実施形態では、被検索対象画像のコンポーネントツリーのうち、キーコンポーネント以下の部分ツリーから生成した配列Ａの画素を検索対象画像のコンポーネントツリーから生成した配列Ｂ)の画素に対応させて、距離の下限値を求めている。そして、求めた距離の下限値がそれ迄に得られた距離よりも小さい場合にのみ、キーコンポーネント以下の部分ツリーと検索対象画像のコンポーネントツリーとの距離を演算している。これにより、必要以外の距離演算を省略することができ、複数の画像の検索に要する時間を一層短縮することができる。
【００７９】
また、本実施形態では、配列Ａの画素を配列Ｂの画素に対応させたときの距離の下限値(θ(Ａ,Ｂ))と、配列Ｂの画素を配列Ａの画素に対応させたときの距離の下限値(θ(Ｂ,Ａ))を各々求め、大きい方の値を距離下限値ｄ_infに設定している。これにより、一方の距離の下限値のみを求める場合と比較して、必要以外の距離演算を確実に省略することができ、複数の画像の検索に要する時間を一層短縮することができる。
【００８０】
また、上記ではコンポーネントツリーに対するキーコンポーネントの探索に深さ優先探索を適用している。これにより、キーコンポーネントの探索に幅優先探索を適用する場合と比較して、見つかったキーコンポーネントと同系列で二値化閾値がより高濃度側に位置しているノードに対してキーコンポーネントの判定を省略する場合に、アルゴリズムが簡単になる。
【００８１】
また、上記ではキーコンポーネントに対応する被検索対象画像の領域に対し、検索対象画像(テンプレート画像)の相対位置を左上から右下へ順次変化させながら各位置で距離計算を各々行っている。これにより、キーコンポーネントと検索対象画像(テンプレート画像)との大きさが一致しない場合にも距離の最小値を得ることができる。
【００８２】
なお、上記では被検索対象画像の一例としてコンピュータの画面をキャプチャする等によって得られた画像を挙げたが、これに限定されるものではない。開示の技術は、被検索対象画像が、被検索対象画像上での検索対象画像のサイズや向き、色が変化しない画像であれば適用可能であり、例えばイラストなどの画像であってもよい。
【００８３】
また、上記ではテンプレートマッチングプログラム４４が記憶部３６に予め記憶（インストール）されている態様を説明したが、これに限定されるものではない。開示の技術に係る画像処理プログラムは、ＣＤ−ＲＯＭやＤＶＤ−ＲＯＭ等の記録媒体に記録されている形態で提供することも可能である。
【００８４】
本明細書に記載された全ての文献、特許出願及び技術規格は、個々の文献、特許出願及び技術規格が参照により取り込まれることが具体的かつ個々に記された場合と同程度に、本明細書中に参照により取り込まれる。
【００８５】
以上の実施形態に関し、更に以下の付記を開示する。
【００８６】
（付記１）
被検索対象画像及び検索対象画像から、値が異なる複数の二値化閾値における対応する連結成分を階層的に関連付けた階層グラフを各々作成する階層グラフ作成部と、
前記検索対象画像とのサイズの違いが閾値以内で、かつ前記被検索対象画像の階層グラフの系列上で対応する二値化閾値が最も低濃度側に位置している連結成分を探索する探索部と、
前記被検索対象画像の階層グラフのうち前記探索部によって探索された前記連結成分を端部とする部分階層グラフ及び前記検索対象画像の階層グラフから、複数の二値化閾値が各値のときの画素数を各々算出し、複数の二値化閾値が各値のときの画素数の対応関係から前記部分階層グラフと前記検索対象画像の階層グラフとの距離の下限値を演算し、演算した距離の下限値がそれ迄に得られた距離よりも小さい場合に前記部分階層グラフと前記検索対象画像の階層グラフとの距離を演算し、演算した距離が所定値以下の部分階層グラフに対応する領域を検索結果として出力する距離演算部と、
を含む画像処理装置。
【００８７】
（付記２）
前記探索部は、前記階層グラフの系列に対して階層の深さ優先で探索することで、検索対象画像とのサイズの違いが閾値以内で、かつ前記階層グラフの系列上で対応する二値化閾値が最も低濃度側に位置している連結成分を探索する付記１記載の画像処理装置。
【００８８】
（付記３）
前記距離演算部は、前記部分階層グラフ及び前記検索対象画像の階層グラフから、複数の二値化閾値が各値のときの画素数を各々算出することで得られた一対の配列のうち、一方の配列の画素を他方の配列の画素に対応させて前記対応関係を求めたときの距離の下限値と、他方の配列の画素を一方の配列の画素に対応させて前記対応関係を求めたときの距離の下限値を各々求め、求めた距離の下限値のうちの大きい方の値を前記距離の下限値として用いる付記１又は付記２記載の画像処理装置。
【００８９】
（付記４）
前記距離演算部は、前記探索部によって探索された連結成分と前記検索対象画像との相対位置をずらしたときの複数の位置について前記距離を各々演算し、演算した距離が所定値以下の位置に対応する連結成分の対応領域を検索結果として出力する付記１〜付記３の何れか１項記載の画像処理装置。
【００９０】
（付記５）
前記探索部は、前記階層グラフ作成部によって作成された単一の前記階層グラフに基づき、複数の前記検索対象画像について前記連結成分の探索を順に行い、
前記距離演算部は、複数の前記検索対象画像について前記距離の演算及び検索結果の出力を順に行う付記１〜付記４の何れか１項記載の画像処理装置。
【００９１】
（付記６）
前記距離演算部から検索結果として出力された領域と前記検索対象画像との色の差に基づいて、前記領域が前記検索結果として適正か否か検証する検証部を更に備えた付記１〜付記５の何れか１項記載の画像処理装置。
【００９２】
（付記７）
被検索対象画像及び検索対象画像から、値が異なる複数の二値化閾値における対応する連結成分を階層的に関連付けた階層グラフを各々作成し、
前記検索対象画像とのサイズの違いが閾値以内で、かつ前記被検索対象画像の階層グラフの系列上で対応する二値化閾値が最も低濃度側に位置している連結成分を探索し、
前記被検索対象画像の階層グラフのうち探索した前記連結成分を端部とする部分階層グラフ及び前記検索対象画像の階層グラフから、複数の二値化閾値が各値のときの画素数を各々算出し、複数の二値化閾値が各値のときの画素数の対応関係から前記部分階層グラフと前記検索対象画像の階層グラフとの距離の下限値を演算し、演算した距離の下限値がそれまでに得られているしきい値よりも小さい場合に前記部分階層グラフと前記検索対象画像の階層グラフとの距離を演算し、演算した距離が所定値以下の部分階層グラフに対応する領域を検索結果として出力する
ことを含む画像処理方法。
【００９３】
（付記８）
前記階層グラフの系列に対して階層の深さ優先で探索することで、検索対象画像とのサイズの違いが閾値以内で、かつ前記階層グラフの系列上で対応する二値化閾値が最も低濃度側に位置している連結成分を探索する付記７記載の画像処理方法。
【００９４】
（付記９）
前記部分階層グラフ及び前記検索対象画像の階層グラフから、複数の二値化閾値が各値のときの画素数を各々算出することで得られた一対の配列のうち、一方の配列の画素を他方の配列の画素に対応させて前記対応関係を求めたときの距離の下限値と、他方の配列の画素を一方の配列の画素に対応させて前記対応関係を求めたときの距離の下限値を各々求め、求めた距離の下限値のうちの大きい方の値を前記距離の下限値として用いる付記７又は付記８記載の画像処理方法。
【００９５】
（付記１０）
探索した連結成分と前記検索対象画像との相対位置をずらしたときの複数の位置について前記距離を各々演算し、演算した距離が所定値以下の位置に対応する連結成分の対応領域を検索結果として出力する付記７〜付記９の何れか１項記載の画像処理方法。
【００９６】
（付記１１）
作成した単一の前記階層グラフに基づき、複数の前記検索対象画像について前記連結成分の探索を順に行い、
複数の前記検索対象画像について前記距離の演算及び検索結果の出力を順に行う付記７〜付記１０の何れか１項記載の画像処理方法。
【００９７】
（付記１２）
前記検索結果として出力した領域と前記検索対象画像との色の差に基づいて、前記領域が前記検索結果として適正か否か検証する付記７〜付記１１の何れか１項記載の画像処理方法。
【００９８】
（付記１３）
コンピュータに、
被検索対象画像及び検索対象画像から、値が異なる複数の二値化閾値における対応する連結成分を階層的に関連付けた階層グラフを各々作成し、
前記検索対象画像とのサイズの違いが閾値以内で、かつ前記被検索対象画像の階層グラフの系列上で対応する二値化閾値が最も低濃度側に位置している連結成分を探索し、
前記被検索対象画像の階層グラフのうち探索した前記連結成分を端部とする部分階層グラフ及び前記検索対象画像の階層グラフから、複数の二値化閾値が各値のときの画素数を各々算出し、複数の二値化閾値が各値のときの画素数の対応関係から前記部分階層グラフと前記検索対象画像の階層グラフとの距離の下限値を演算し、演算した距離の下限値がそれまでに得られているしきい値よりも小さい場合に前記部分階層グラフと前記検索対象画像の階層グラフとの距離を演算し、演算した距離が所定値以下の部分階層グラフに対応する領域を検索結果として出力する
ことを含む処理を行わせるための画像処理プログラム。
【００９９】
（付記１４）
前記階層グラフの系列に対して階層の深さ優先で探索することで、検索対象画像とのサイズの違いが閾値以内で、かつ前記階層グラフの系列上で対応する二値化閾値が最も低濃度側に位置している連結成分を探索する付記１３記載の画像処理プログラム。
【０１００】
（付記１５）
前記部分階層グラフ及び前記検索対象画像の階層グラフから、複数の二値化閾値が各値のときの画素数を各々算出することで得られた一対の配列のうち、一方の配列の画素を他方の配列の画素に対応させて前記対応関係を求めたときの距離の下限値と、他方の配列の画素を一方の配列の画素に対応させて前記対応関係を求めたときの距離の下限値を各々求め、求めた距離の下限値のうちの大きい方の値を前記距離の下限値として用いる付記１３又は付記１４記載の画像処理プログラム。
【０１０１】
（付記１６）
探索した連結成分と前記検索対象画像との相対位置をずらしたときの複数の位置について前記距離を各々演算し、演算した距離が所定値以下の位置に対応する連結成分の対応領域を検索結果として出力する付記１３〜付記１５の何れか１項記載の画像処理プログラム。
【０１０２】
（付記１７）
作成した単一の前記階層グラフに基づき、複数の前記検索対象画像について前記連結成分の探索を順に行い、
複数の前記検索対象画像について前記距離の演算及び検索結果の出力を順に行う付記１３〜付記１６の何れか１項記載の画像処理プログラム。
【０１０３】
（付記１８）
前記検索結果として出力した領域と前記検索対象画像との色の差に基づいて、前記領域が前記検索結果として適正か否か検証する付記１３〜付記１７の何れか１項記載の画像処理プログラム。
【符号の説明】
【０１０４】
１２  マッチング候補検出部
１４  マッチング候補検証部
１６  コンポーネントツリー作成部
１８  キーコンポーネント抽出部
２０  キーコンポーネント照合部
３０  コンピュータ
３２  ＣＰＵ
３４  メモリ
３６  記憶部
４４  テンプレートマッチングプログラム
【図１】
2014191744.tif 000005
【図２】
2014191744.tif 000006
【図４】
2014191744.tif 000007
【図５】
2014191744.tif 000008
【図６】
2014191744.tif 000009
【図７】
2014191744.tif 000010
【図８】
2014191744.tif 000011
【図９】
2014191744.tif 000012
【図１２】
2014191744.tif 000013
【図１３】
2014191744.tif 000014
【図１４】
2014191744.tif 000015
【図１５】
2014191744.tif 000016
【図１６】
2014191744.tif 000017
【図１７】
2014191744.tif 000018
【図１９】
2014191744.tif 000019
【図２０】
2014191744.tif 000020
【図３】
2014191744.tif 000021
【図１０】
2014191744.tif 000022
【図１１】
2014191744.tif 000023
【図１８】
2014191744.tif 000024