(57)【特許請求の範囲】
【請求項１】
入力画像データの特徴点を算出する特徴点算出部と、上記特徴点算出部が算出した特徴点同士の相対位置に基づいて上記入力画像データの特徴量を算出する特徴量算出部とを備えた画像処理装置であって、
上記特徴点算出部は、
上記入力画像データから、上記入力画像データにおける水平方向に対して右下がりに傾斜した第１方向に延伸するライン画像、上記入力画像データにおける水平方向に対して左下がりに傾斜した第２方向に延伸するライン画像、水平方向に延伸するライン画像、および垂直方向に延伸するライン画像を検出するライン検出部と、
上記第１方向に延伸するライン画像と上記第２方向に延伸するライン画像との交点、および水平方向に延伸するライン画像と垂直方向に延伸するライン画像との交点を上記特徴点として算出する交点算出部とを備えており、
上記ライン検出部は、
水平方向に延伸するライン画像および垂直方向に延伸するライン画像の検出処理を、上記第１方向に延伸するライン画像および第２方向に延伸するライン画像の検出処理よりも先に行い、
上記交点算出部は、
水平方向に延伸するライン画像と垂直方向に延伸するライン画像との交点の数が所定値以上である場合には、上記第１方向に延伸するライン画像および第２方向に延伸するライン画像の検出処理を行わないことを特徴とする画像処理装置。
【請求項２】
入力画像データの特徴点を算出する特徴点算出部と、上記特徴点算出部が算出した特徴点同士の相対位置に基づいて上記入力画像データの特徴量を算出する特徴量算出部とを備えた画像処理装置であって、
上記特徴点算出部は、
上記入力画像データから、上記入力画像データにおける水平方向に対して右下がりに傾斜した第１方向に延伸するライン画像、上記入力画像データにおける水平方向に対して左下がりに傾斜した第２方向に延伸するライン画像、水平方向に延伸するライン画像、および垂直方向に延伸するライン画像を検出するライン検出部と、
上記第１方向に延伸するライン画像と上記第２方向に延伸するライン画像との交点、および水平方向に延伸するライン画像と垂直方向に延伸するライン画像との交点を上記特徴点として算出する交点算出部と、
ユーザからの指示入力を受け付ける指示入力部とを備えており、
上記交点算出部は、
上記指示入力部に対するユーザの指示入力に応じて、上記第１方向に延伸するライン画像および第２方向に延伸するライン画像の検出処理を行うか否かを決定することを特徴とする画像処理装置。
【請求項３】
上記交点算出部は、上記第１方向に延伸するライン画像と上記第２方向に延伸するライン画像との交点が互いに隣接する複数画素からなる場合に、これら複数画素の中心座標、重心座標、またはこれら複数画素からなる領域における所定位置の座標を上記特徴点として算出することを特徴とする請求項１または２に記載の画像処理装置。
【請求項４】
上記交点算出部は、
上記第１方向に延伸するライン画像に対応する直線の式と、上記第２方向に延伸するライン画像に対応する直線の式とを算出し、これら２つの直線の式に基づいて両直線の交点を算出し、算出した交点に対応する座標を上記特徴点として算出することを特徴とする請求項１または２に記載の画像処理装置。
【請求項５】
登録画像を識別するための識別情報を登録画像が有する特徴量に関連付けて記憶する記憶部と、
上記特徴量算出部が入力画像データから算出した特徴量と上記記憶部に記憶されている登録画像の特徴量とに基づいて入力画像と登録画像との類似性を判定する類似判定部とを備えていることを特徴とする請求項１から４のいずれか１項に記載の画像処理装置。
【請求項６】
上記入力画像データに含まれる原稿画像の傾き角度を検出する傾き検知部と、
上記傾き検知部の検出した傾き角度に基づいて上記原稿画像の傾きを補正する傾き補正部とを備え、上記傾き補正後の入力画像データを上記交点算出部に入力することを特徴とする請求項１から５のいずれか１項に記載の画像処理装置。
【請求項７】
上記入力画像データにおける注目画素および当該注目画素の周辺画素に含まれる黒画素の数をカウントし、カウント値が第１閾値以上である注目画素を黒画素とし、カウント値が第１閾値未満である注目画素を白画素とする膨張処理を行う膨張処理部と、
膨張処理後の入力画像データにおける注目画素および当該注目画素の周辺画素に含まれる白画素の数をカウントし、カウント値が第２閾値以上である注目画素を白画素とし、カウント値が第２閾値未満である注目画素とする縮退処理を行う縮退処理部とを備え、
縮退処理後の入力画像データを上記交点算出部に入力することを特徴とする請求項１から６のいずれか１項に記載の画像処理装置。
【請求項８】
請求項１から７のいずれか１項に記載の画像処理装置と、入力画像データに応じた画像を記録材上に形成する画像出力部とを備えていることを特徴とする画像形成装置。
【請求項９】
入力画像データの特徴点を算出し、算出した特徴点同士の相対位置に基づいて上記入力画像データの特徴量を算出する画像処理方法であって、
上記入力画像データから、水平方向に延伸するライン画像、および垂直方向に延伸するライン画像を検出する第１ライン検出工程と、
上記水平方向に延伸するライン画像と上記垂直方向に延伸するライン画像との交点を上記特徴点として算出する第１交点算出工程と、
上記入力画像データから、上記入力画像データにおける水平方向に対して右下がりに傾斜した第１方向に延伸するライン画像、および上記入力画像データにおける水平方向に対して左下がりに傾斜した上記第１方向とは異なる第２方向に延伸するライン画像を検出する第２ライン検出工程と、
上記第１方向に延伸するライン画像と上記第２方向に延伸するライン画像との交点を上記特徴点として算出する第２交点算出工程とを含み、
上記第１ライン検出工程および上記第１交点算出工程を上記第２ライン検出工程よりも先に行い、水平方向に延伸するライン画像と垂直方向に延伸するライン画像との交点の数が所定値以上である場合には上記第２ライン検出工程および上記第２交点算出工程を行わないことを特徴とする画像処理方法。
【請求項１０】
入力画像データの特徴点を算出し、算出した特徴点同士の相対位置に基づいて上記入力画像データの特徴量を算出する画像処理方法であって、
上記入力画像データから、水平方向に延伸するライン画像、および垂直方向に延伸するライン画像を検出する第１ライン検出工程と、
上記水平方向に延伸するライン画像と上記垂直方向に延伸するライン画像との交点を上記特徴点として算出する第１交点算出工程と、
上記入力画像データから、上記入力画像データにおける水平方向に対して右下がりに傾斜した第１方向に延伸するライン画像、および上記入力画像データにおける水平方向に対して左下がりに傾斜した上記第１方向とは異なる第２方向に延伸するライン画像を検出する第２ライン検出工程と、
上記第１方向に延伸するライン画像と上記第２方向に延伸するライン画像との交点を上記特徴点として算出する第２交点算出工程と、
ユーザからの指示入力を受け付ける指示入力工程とを含み、
上記指示入力工程で受け付けたユーザの指示入力に応じて、上記第２ライン検出工程および上記第２交点算出工程を行うか否かを決定することを特徴とする画像処理方法。
【請求項１１】
画像処理装置と、この画像処理装置に対して通信可能に接続されたサーバー装置とを備え、入力画像データの特徴点を算出する特徴点算出部と、上記特徴点算出部が算出した特徴点同士の相対位置に基づいて上記入力画像データの特徴量を算出する特徴量算出部とが上記画像処理装置または上記サーバー装置に備えられるか、あるいは上記画像処理装置と上記サーバー装置とに分散して備えられている画像処理システムであって、
上記特徴点算出部は、
上記入力画像データから、上記入力画像データにおける水平方向に対して右下がりに傾斜した第１方向に延伸するライン画像、上記入力画像データにおける水平方向に対して左下がりに傾斜した第２方向に延伸するライン画像、水平方向に延伸するライン画像、および垂直方向に延伸するライン画像を検出するライン検出部と、
上記第１方向に延伸するライン画像と上記第２方向に延伸するライン画像との交点、および水平方向に延伸するライン画像と垂直方向に延伸するライン画像との交点を上記特徴点として算出する交点算出部とを備えており、
上記ライン検出部は、
水平方向に延伸するライン画像および垂直方向に延伸するライン画像の検出処理を、上記第１方向に延伸するライン画像および第２方向に延伸するライン画像の検出処理よりも先に行い、
上記交点算出部は、
水平方向に延伸するライン画像と垂直方向に延伸するライン画像との交点の数が所定値以上である場合には、上記第１方向に延伸するライン画像および第２方向に延伸するライン画像の検出処理を行わないことを特徴とする画像処理システム。
【請求項１２】
画像処理装置と、この画像処理装置に対して通信可能に接続されたサーバー装置とを備え、入力画像データの特徴点を算出する特徴点算出部と、上記特徴点算出部が算出した特徴点同士の相対位置に基づいて上記入力画像データの特徴量を算出する特徴量算出部とが上記画像処理装置または上記サーバー装置に備えられるか、あるいは上記画像処理装置と上記サーバー装置とに分散して備えられている画像処理システムであって、
上記特徴点算出部は、
上記入力画像データから、上記入力画像データにおける水平方向に対して右下がりに傾斜した第１方向に延伸するライン画像、上記入力画像データにおける水平方向に対して左下がりに傾斜した第２方向に延伸するライン画像、水平方向に延伸するライン画像、および垂直方向に延伸するライン画像を検出するライン検出部と、
上記第１方向に延伸するライン画像と上記第２方向に延伸するライン画像との交点、および水平方向に延伸するライン画像と垂直方向に延伸するライン画像との交点を上記特徴点として算出する交点算出部、
ユーザからの指示入力を受け付ける指示入力部とを備えており、
上記交点算出部は、
上記指示入力部に対するユーザの指示入力に応じて、上記第１方向に延伸するライン画像および第２方向に延伸するライン画像の検出処理を行うか否かを決定することを特徴とする画像処理システム。
【請求項１３】
請求項１から７のいずれか１項に記載の画像処理装置を動作させるプログラムであって、コンピュータを上記特徴点算出部として機能させるためのプログラム。
【請求項１４】
請求項１３に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像データの特徴量を抽出する特徴量算出部を備えた画像処理装置、画像形成装置、画像送信装置、画像読取装置、画像処理システム、画像データの特徴量を抽出する画像処理方法、画像処理プログラムおよびその記録媒体に関するものである。
【背景技術】
【０００２】
従来より、スキャナで原稿画像を読み取って得られた入力画像データと事前に登録されている登録画像とを比較して両者の類似度を判定する技術が種々提案されている。
【０００３】
類似度の判定方法としては、例えば、文字画像からＯＣＲ（Optical Character Reader）などでキーワードを抽出してマッチングを行う方法や、画像に含まれる罫線の特徴を抽出してマッチングを行う方法などが提案されている。
【０００４】
また、特許文献１には、入力画像から文字、文字列枠、枠などを認識し、枠情報に基づいて枠ごとのマッチングを行うことによって帳票画像などのフォーマット認識を行う技術が開示されている。
【０００５】
また、特許文献２には、英文文書における単語の重心、黒画素の連結成分の重心、漢字の閉鎖空間、画像中に繰り返し現れる特定部位などを特徴点として抽出し、抽出された各特徴点に対して局所的な特徴点の集合を決定し、決定された各集合から特徴点の部分集合を選択し、選択された各部分集合を特徴付ける量として部分集合中における特徴点の複数の組み合わせについて幾何学的変換に対する不変量をそれぞれ求め、求めた各不変量を特徴量とし、このように求めた特徴量に基づいて文書照合を行う技術が開示されている。
【特許文献１】特開平８−２５５２３６号公報（公開日：１９９６年１０月１日）
【特許文献２】国際公開第ＷＯ２００６／０９２９５７Ａ１号パンフレット（公開日：２００６年９月８日）
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記特許文献１の技術では、入力画像から文字、文字列枠、枠、枠を示す直線などの複数種類の要素を抽出し、抽出した要素毎にマッチングを行う必要があるので、処理が複雑であり、また処理時間が長いという問題がある。
【０００７】
また、上記特許文献２の技術のように文字の重心を特徴点とした場合、文字数が少ない原稿の場合などには抽出される特徴点の数が少なくなり、文書照合の精度が低下してしまうという問題がある。
【０００８】
本発明は、上記の問題点に鑑みてなされたものであり、その目的は、入力画像データから当該入力画像データを適切に特定することのできる特徴点を容易かつ短時間で抽出することができる画像処理装置および画像処理方法を提供することにある。
【課題を解決するための手段】
【０００９】
本発明の画像処理装置は、上記の課題を解決するために、入力画像データの特徴点を算出する特徴点算出部と、上記特徴点算出部が算出した特徴点同士の相対位置に基づいて上記入力画像データの特徴量を算出する特徴量算出部とを備えた画像処理装置であって、上記特徴点算出部は、上記入力画像データから、第１方向に延伸するライン画像および上記第１方向とは異なる第２方向に延伸するライン画像を検出するライン検出部と、上記第１方向に延伸するライン画像と上記第２方向に延伸するライン画像との交点を上記特徴点として算出する交点算出部とを備えていることを特徴としている。
【００１０】
本発明の画像処理方法は、上記の課題を解決するために、入力画像データの特徴点を算出し、算出した特徴点同士の相対位置に基づいて上記入力画像データの特徴量を算出する画像処理方法であって、上記入力画像データから、第１方向に延伸するライン画像および上記第１方向とは異なる第２方向に延伸するライン画像を検出するライン検出工程と、上記第１方向に延伸するライン画像と上記第２方向に延伸するライン画像との交点を上記特徴点として算出する交点算出工程とを含むことを特徴としている。
【００１１】
本発明の画像処理システムは、上記の課題を解決するために、画像処理装置と、この画像処理装置に対して通信可能に接続されたサーバー装置とを備え、入力画像データの特徴点を算出する特徴点算出部と、上記特徴点算出部が算出した特徴点同士の相対位置に基づいて上記入力画像データの特徴量を算出する特徴量算出部とが上記画像処理装置または上記サーバー装置に備えられるか、あるいは上記画像処理装置と上記サーバー装置とに分散して備えられている画像処理システムであって、上記特徴点算出部は、上記入力画像データから、第１方向に延伸するライン画像および上記第１方向とは異なる第２方向に延伸するライン画像を検出するライン検出部と、上記第１方向に延伸するライン画像と上記第２方向に延伸するライン画像との交点を上記特徴点として算出する交点算出部とを備えていることを特徴としている。
【００１２】
上記の画像処理装置、画像処理方法、および画像処理システムによれば、入力画像データから第１方向に延伸するライン画像および第１方向とは異なる第２方向に延伸するライン画像を検出し、第１方向に延伸するライン画像と第２方向に延伸するライン画像との交点を特徴点として算出する。このように、ライン画像同士の交点を特徴点とすることで、例えば文字が少ない原稿から読み取った入力画像データの場合であっても多数の特徴点を抽出することができるので、入力画像データを適切に特定することができる。また、ライン画像の抽出とライン画像同士の交点の算出とを行うだけでよいので、例えば上記特許文献１のように入力画像データから文字，文字列枠，枠，枠を示す直線などの複数種類の要素に基づいて特徴点を算出する場合に比べて特徴点算出処理にかかるアルゴリズムを簡略化するとともに、処理時間を短縮できる。
【００１３】
なお、上記入力画像データは、原稿画像を読み取ることによって取得されるものであってもよく、画像処理装置に通信可能に接続された他の装置から通信によって取得されるものであってもよく、各種記録媒体に記録された画像データを読み出すことで取得されるものであってもよく、予め規定されたフォーマットに対してユーザが入力した情報を重畳させることで取得されるものであってもよい。
【００１４】
また、上記第１方向は入力画像データにおける水平方向であり、上記第２方向は入力画像データにおける垂直方向であってもよい。
【００１５】
入力画像データに含まれる罫線は水平方向および垂直方向に延伸するラインを含む場合が多いので、上記の構成によれば、入力画像データに含まれる罫線の交点を特徴点として好適に抽出することができる。
【００１６】
また、上記ライン検出部は、水平方向に連続して存在する画素値が所定値以上である画素の数を計数する第１カウント部と、垂直方向に連続して存在する画素値が所定値以上である画素の数を計数する第２カウント部とを備え、上記第１カウント部の計数した画素数が閾値以上である場合に水平方向に連続して存在する上記画素からなる画像を上記第１方向に延伸するライン画像として検出し、上記第２カウント部の計数した画素数が閾値以上である場合に垂直方向に連続して存在する上記画素からなる画像を上記第２方向に延伸するライン画像として検出する構成としてもよい。
【００１７】
上記の構成によれば、水平方向に延伸するライン画像および垂直方向に延伸するライン画像を容易に検出し、これら両画像の交点を特徴点とすることができる。
【００１８】
また、上記第１方向は上記入力画像データにおける水平方向に対して右下がりに傾斜した第１斜め方向であり、上記第２方向は上記入力画像データにおける水平方向に対して左下がりに傾斜した第２斜め方向であってもよい。
【００１９】
上記の構成によれば、第１斜め方向に延伸するライン画像と第２斜め方向に延伸するライン画像との交点を特徴点とすることにより、例えば文字や記号等に含まれるラインの交点を特徴点として算出することができる。
【００２０】
また、上記入力画像データはマトリクス状に配置された複数の画素の画素値を表すものであり、上記ライン検出部は、水平方向に並ぶ複数の画素からなる複数のラインの各々について、各ラインの左から右に向かって注目画素を１画素ずつずらしていく処理を上端のラインから下端のラインにかけて順次行うとともに、各注目画素に対して当該注目画素の画素値と当該注目画素の周辺画素の画素値との関係に基づいて複数種類の第１ラベルのうちのいずれかを付与する第１ラベル付け処理を行う第１ラベリング部と、上記第１ラベリング部によって第１ラベルが付与された画素の数を第１ラベルの種類毎に計数する第１ラベルカウント部と、水平方向に並ぶ複数の画素からなる複数のラインの各々について、各ラインの右から左に向かって注目画素を１画素ずつずらしていく処理を上端のラインから下端のラインにかけて順次行うとともに、各注目画素に対して当該注目画素の画素値と当該注目画素の周辺画素の画素値との関係に基づいて複数種類の第２ラベルのうちのいずれかを付与する第２ラベル付け処理を行う第２ラベリング部と、上記第２ラベリング部によって第２ラベルが付与された画素の数を第２ラベルの種類毎に計数する第２ラベルカウント部とを備え、上記第１ラベリング部は、（１）注目画素の画素値が所定値未満の場合にはこの注目画素に対して第１ラベルを付与せず、（２）注目画素の画素値が所定値以上であって、この注目画素の左隣の画素に第１ラベルが付与されている場合にはこの注目画素に対して上記左隣の画素と同じ種類の第１ラベルを付与し、（３）注目画素の画素値が所定値以上であって、この注目画素の左隣の画素に対して第１ラベルが付与されておらず、この注目画素の上隣の画素に対して第１ラベルが付与されている場合にはこの注目画素に対して上記上隣の画素と同じ種類の第１ラベルを付与し、（４）注目画素の画素値が所定値以上であって、この注目画素の左隣および上隣の画素に対して第１ラベルが付与されていない場合にはこの注目画素に対して他の画素に付与されていない種類の第１ラベルを付与し、上記第２ラベリング部は、（ａ）注目画素の画素値が所定値未満の場合にはこの注目画素に対して第２ラベルを付与せず、（ｂ）注目画素の画素値が所定値以上であって、この注目画素の右隣の画素に第２ラベルが付与されている場合にはこの注目画素に対して上記右隣の画素と同じ種類の第２ラベルを付与し、（ｃ）注目画素の画素値が所定値以上であって、この注目画素の右隣の画素に対して第２ラベルが付与されておらず、この注目画素の上隣の画素に対して第２ラベルが付与されている場合にはこの注目画素に対して上記上隣の画素と同じ種類の第２ラベルを付与し、（ｄ）注目画素の画素値が所定値以上であって、この注目画素の右隣および上隣の画素に対して第２ラベルが付与されていない場合にはこの注目画素に対して他の画素に付与されていない種類の第２ラベルを付与し、上記第１ラベルカウント部による計数結果が閾値以上である同一種類の第１ラベルを付与されている各画素からなる画像を第１方向に延伸するライン画像として検出し、上記第２ラベルカウント部による計数結果が閾値以上である同一種類の第２ラベルを付与されている各画素からなる画像を第２方向に延伸するライン画像として検出する構成としてもよい。
【００２１】
上記の構成によれば、第１斜め方向に延伸するライン画像と第２斜め方向に延伸するライン画像との交点を特徴点として算出できる。
【００２２】
また、上記入力画像データはマトリクス状に配置された複数の画素の画素値を表すものであり、上記ライン検出部は、水平方向に並ぶ複数の画素からなる複数のラインの各々について、各ラインの左から右に向かって注目画素を１画素ずつずらしていく処理を上端のラインから下端のラインにかけて順次行うとともに、各注目画素に対して当該注目画素の画素値と当該注目画素の周辺画素の画素値との関係に基づいて複数種類の第１ラベルのうちのいずれかを付与する第１ラベル付け処理を行う第１ラベリング部と、上記第１ラベリング部によって第１ラベルが付与された画素について、ラベル付けされた領域の開始座標および終了座標を第１ラベルの種類毎に格納する第１ラベル開始終了座標格納部と、水平方向に並ぶ複数の画素からなる複数のラインの各々について、各ラインの右から左に向かって注目画素を１画素ずつずらしていく処理を上端のラインから下端のラインにかけて順次行うとともに、各注目画素に対して当該注目画素の画素値と当該注目画素の周辺画素の画素値との関係に基づいて複数種類の第２ラベルのうちのいずれかを付与する第２ラベル付け処理を行う第２ラベリング部と、上記第２ラベリング部によって第２ラベルが付与された画素について、ラベル付けされた領域の開始座標および終了座標を第２ラベルの種類毎に格納する第２ラベル開始終了座標格納部とを備え、上記第１ラベリング部は、（１）注目画素の画素値が所定値未満の場合にはこの注目画素に対して第１ラベルを付与せず、（２）注目画素の画素値が所定値以上であって、この注目画素の左隣の画素に第１ラベルが付与されている場合にはこの注目画素に対して上記左隣の画素と同じ種類の第１ラベルを付与し、（３）注目画素の画素値が所定値以上であって、この注目画素の左隣の画素に対して第１ラベルが付与されておらず、この注目画素の上隣の画素に対して第１ラベルが付与されている場合にはこの注目画素に対して上記上隣の画素と同じ種類の第１ラベルを付与し、（４）注目画素の画素値が所定値以上であって、この注目画素の左隣および上隣の画素に対して第１ラベルが付与されていない場合にはこの注目画素に対して他の画素に付与されていない種類の第１ラベルを付与し、上記第２ラベリング部は、（ａ）注目画素の画素値が所定値未満の場合にはこの注目画素に対して第２ラベルを付与せず、（ｂ）注目画素の画素値が所定値以上であって、この注目画素の右隣の画素に第２ラベルが付与されている場合にはこの注目画素に対して上記右隣の画素と同じ種類の第２ラベルを付与し、（ｃ）注目画素の画素値が所定値以上であって、この注目画素の右隣の画素に対して第２ラベルが付与されておらず、この注目画素の上隣の画素に対して第２ラベルが付与されている場合にはこの注目画素に対して上記上隣の画素と同じ種類の第２ラベルを付与し、（ｄ）注目画素の画素値が所定値以上であって、この注目画素の右隣および上隣の画素に対して第２ラベルが付与されていない場合にはこの注目画素に対して他の画素に付与されていない種類の第２ラベルを付与し、同一種類の第１ラベルが付与されている各画素からなる画像であって上記第１ラベル開始終了座標格納部に格納されている当該第１ラベルの開始座標から終了座標までの距離が閾値以上である画像を第１方向に延伸するライン画像として検出し、同一種類の第２ラベルを付与されている各画素からなる画像であって上記第２ラベル開始終了座標格納部に格納されている当該第２ラベルの開始座標から終了座標までの距離が閾値以上である画像を第２方向に延伸するライン画像として検出する構成としてもよい。
【００２３】
上記の構成によれば、第１斜め方向に延伸するライン画像と第２斜め方向に延伸するライン画像との交点を特徴点として算出できる。また、ライン画像の開始座標から終了座標までに距離に応じてライン画像の検出を行うことにより、検出対象の画像の太さに依存せずに長さに基づいてライン画像の検出を行うことができる。
【００２４】
また、上記入力画像データはマトリクス状に配置された複数の画素の画素値を表すものであり、上記ライン検出部は、水平方向に並ぶ複数の画素からなる複数のラインの各々について、各ラインの左から右に向かって注目画素を１画素ずつずらしていく処理を上端のラインから下端のラインにかけて順次行うとともに、各注目画素に対して当該注目画素の画素値と当該注目画素の周辺画素の画素値との関係に基づいて複数種類の第１ラベルのうちのいずれかを付与する第１ラベル付け処理を行う第１ラベリング部と、上記第１ラベリング部によって第１ラベルが付与された画素の数を第１ラベルの種類毎に計数する第１ラベルカウント部と、水平方向に並ぶ複数の画素からなる複数のラインの各々について、各ラインの右から左に向かって注目画素を１画素ずつずらしていく処理を上端のラインから下端のラインにかけて順次行うとともに、各注目画素に対して当該注目画素の画素値と当該注目画素の周辺画素の画素値との関係に基づいて複数種類の第２ラベルのうちのいずれかを付与する第２ラベル付け処理を行う第２ラベリング部と、上記第２ラベリング部によって第２ラベルが付与された画素の数を第２ラベルの種類毎に計数する第２ラベルカウント部とを備え、上記第１ラベリング部は、（１）注目画素の画素値が所定値未満の場合にはこの注目画素に対して第１ラベルを付与せず、（２）注目画素の画素値が所定値以上であって、この注目画素の左隣の画素に第１ラベルが付与されている場合にはこの注目画素に対して上記左隣の画素と同じ種類の第１ラベルを付与し、（３）注目画素の画素値が所定値以上であって、この注目画素の左隣の画素に対して第１ラベルが付与されておらず、この注目画素の上隣の画素に対して第１ラベルが付与されている場合にはこの注目画素に対して上記上隣の画素と同じ種類の第１ラベルを付与し、（４）注目画素の画素値が所定値以上であって、この注目画素の左隣の画素および上隣の画素に対して第１ラベルが付与されておらず、左上隣の画素に対して第１ラベルが付与されている場合にはこの注目画素に対して上記左上隣の画素と同じ種類の第１ラベルを付与し、（５）注目画素の画素値が所定値以上であって、この注目画素の左隣、上隣、および左上隣の画素に対して第１ラベルが付与されていない場合にはこの注目画素に対して他の画素に付与されていない種類の第１ラベルを付与し、上記第２ラベリング部は、（ａ）注目画素の画素値が所定値未満の場合にはこの注目画素に対して第２ラベルを付与せず、（ｂ）注目画素の画素値が所定値以上であって、この注目画素の右隣の画素に第２ラベルが付与されている場合にはこの注目画素に対して上記右隣の画素と同じ種類の第２ラベルを付与し、（ｃ）注目画素の画素値が所定値以上であって、この注目画素の右隣の画素に対して第２ラベルが付与されておらず、この注目画素の上隣の画素に対して第２ラベルが付与されている場合にはこの注目画素に対して上記上隣の画素と同じ種類の第２ラベルを付与し、（ｄ）注目画素の画素値が所定値以上であって、この注目画素の右隣の画素および上隣の画素に対して第２ラベルが付与されておらず、右上隣の画素に対して第２ラベルが付与されている場合にはこの注目画素に対して上記右上隣の画素と同じ種類の第２ラベルを付与し、（ｅ）注目画素の画素値が所定値以上であって、この注目画素の右隣、上隣、および右上隣の画素に対して第２ラベルが付与されていない場合にはこの注目画素に対して他の画素に付与されていない種類の第２ラベルを付与し、上記第１ラベルカウント部による計数結果が閾値以上である同一種類の第１ラベルを付与されている各画素からなる画像を第１方向に延伸するライン画像として検出し、上記第２ラベルカウント部による計数結果が閾値以上である同一種類の第２ラベルを付与されている各画素からなる画像を第２方向に延伸するライン画像として検出する構成としてもよい。
【００２５】
上記の構成によれば、第１ラベリング部が注目画素にラベル付けを行う際、注目画素の左隣および上隣の画素に対するラベル付け結果に加えて、左上隣の画素に対するラベル付け結果を考慮して注目画素に対するラベル付けを行う。また、第２ラベリング部がラベル付けを行う際、注目画素の右隣および上隣の画素に対するラベル付け結果に加えて、右上隣の画素に対するラベル付け結果を考慮して注目画素に対するラベル付けを行う。これにより、画像読取時の誤差等によって生じたばらつきによって斜め方向のラインの位置にずれが生じている場合であっても、本来は同一であるラインに対して別々のラベルが付されてラインとして検出されなくなることを防止し、ラインの検出精度を向上させることができる。
【００２６】
また、上記入力画像データはマトリクス状に配置された複数の画素の画素値を表すものであり、上記ライン検出部は、水平方向に並ぶ複数の画素からなる複数のラインの各々について、各ラインの左から右に向かって注目画素を１画素ずつずらしていく処理を上端のラインから下端のラインにかけて順次行うとともに、各注目画素に対して当該注目画素の画素値と当該注目画素の周辺画素の画素値との関係に基づいて複数種類の第１ラベルのうちのいずれかを付与する第１ラベル付け処理を行う第１ラベリング部と、上記第１ラベリング部によって第１ラベルが付与された画素の開始座標および終了座標を第１ラベルの種類毎に格納する第１ラベル開始終了座標格納部と、水平方向に並ぶ複数の画素からなる複数のラインの各々について、各ラインの右から左に向かって注目画素を１画素ずつずらしていく処理を上端のラインから下端のラインにかけて順次行うとともに、各注目画素に対して当該注目画素の画素値と当該注目画素の周辺画素の画素値との関係に基づいて複数種類の第２ラベルのうちのいずれかを付与する第２ラベル付け処理を行う第２ラベリング部と、上記第２ラベリング部によって第２ラベルが付与された画素の開始座標および終了座標を第２ラベルの種類毎に格納する第２ラベル開始終了座標格納部とを備え、上記第１ラベリング部は、（１）注目画素の画素値が所定値未満の場合にはこの注目画素に対して第１ラベルを付与せず、（２）注目画素の画素値が所定値以上であって、この注目画素の左隣の画素に第１ラベルが付与されている場合にはこの注目画素に対して上記左隣の画素と同じ種類の第１ラベルを付与し、（３）注目画素の画素値が所定値以上であって、この注目画素の左隣の画素に対して第１ラベルが付与されておらず、この注目画素の上隣の画素に対して第１ラベルが付与されている場合にはこの注目画素に対して上記上隣の画素と同じ種類の第１ラベルを付与し、（４）注目画素の画素値が所定値以上であって、この注目画素の左隣の画素および上隣の画素に対して第１ラベルが付与されておらず、左上隣の画素に対して第１ラベルが付与されている場合にはこの注目画素に対して上記左上隣の画素と同じ種類の第１ラベルを付与し、（５）注目画素の画素値が所定値以上であって、この注目画素の左隣、上隣、および左上隣の画素に対して第１ラベルが付与されていない場合にはこの注目画素に対して他の画素に付与されていない種類の第１ラベルを付与し、上記第２ラベリング部は、（ａ）注目画素の画素値が所定値未満の場合にはこの注目画素に対して第２ラベルを付与せず、（ｂ）注目画素の画素値が所定値以上であって、この注目画素の右隣の画素に第２ラベルが付与されている場合にはこの注目画素に対して上記右隣の画素と同じ種類の第２ラベルを付与し、（ｃ）注目画素の画素値が所定値以上であって、この注目画素の右隣の画素に対して第２ラベルが付与されておらず、この注目画素の上隣の画素に対して第２ラベルが付与されている場合にはこの注目画素に対して上記上隣の画素と同じ種類の第２ラベルを付与し、（ｄ）注目画素の画素値が所定値以上であって、この注目画素の右隣の画素および上隣の画素に対して第２ラベルが付与されておらず、右上隣の画素に対して第２ラベルが付与されている場合にはこの注目画素に対して上記右上隣の画素と同じ種類の第２ラベルを付与し、（ｅ）注目画素の画素値が所定値以上であって、この注目画素の右隣、上隣、および右上隣の画素に対して第２ラベルが付与されていない場合にはこの注目画素に対して他の画素に付与されていない種類の第２ラベルを付与し、同一種類の第１ラベルが付与されている各画素からなる画像であって上記第１ラベル開始終了座標格納部に格納されている当該第１ラベルの開始座標から終了座標までの距離が閾値以上である画像を第１方向に延伸するライン画像として検出し、同一種類の第２ラベルを付与されている各画素からなる画像であって上記第２ラベル開始終了座標格納部に格納されている当該第２ラベルの開始座標から終了座標までの距離が閾値以上である画像を第２方向に延伸するライン画像として検出する構成としてもよい。
【００２７】
上記の構成によれば、第１ラベリング部が注目画素にラベル付けを行う際、注目画素の左隣および上隣の画素に対するラベル付け結果に加えて、左上隣の画素に対するラベル付け結果を考慮して注目画素に対するラベル付けを行う。また、第２ラベリング部がラベル付けを行う際、注目画素の右隣および上隣の画素に対するラベル付け結果に加えて、右上隣の画素に対するラベル付け結果を考慮して注目画素に対するラベル付けを行う。これにより、画像読取時の誤差等によって生じたばらつきによって斜め方向のラインの位置にずれが生じている場合であっても、本来は同一であるラインに対して別々のラベルが付されてラインとして検出されなくなることを防止し、ラインの検出精度を向上させることができる。また、ライン画像の開始座標から終了座標までに距離に応じてライン画像の検出を行うことにより、検出対象の画像の太さに依存せずに長さに基づいてライン画像の検出を行うことができる。
【００２８】
また、上記ライン検出部は、水平方向に延伸するライン画像および垂直方向に延伸するライン画像を検出し、上記交点算出部は、上記第１方向に延伸するライン画像と上記第２方向に延伸するライン画像との交点に加えて、水平方向に延伸するライン画像と垂直方向に延伸するライン画像との交点を上記特徴点として算出する構成としてもよい。
【００２９】
上記の構成によれば、第１斜め方向に延伸するライン画像と第２斜め方向に延伸するライン画像との交点に加えて、水平方向に延伸するライン画像と垂直方向に延伸するライン画像との交点を特徴点として算出することができる。したがって、より多数の特徴点を算出できるので、入力画像データをより適切に特定することができる。また、入力画像データに含まれる罫線は水平方向および垂直方向に延伸するラインを含む場合が多いので、入力画像データに含まれる罫線の交点を特徴点として好適に抽出することができる。
【００３０】
また、上記ライン検出部は、水平方向に延伸するライン画像および垂直方向に延伸するライン画像の検出処理を、上記第１方向に延伸するライン画像および第２方向に延伸するライン画像の検出処理よりも先に行うようになっており、上記交点算出部は、水平方向に延伸するライン画像と垂直方向に延伸するライン画像との交点の数が所定値以上である場合には、上記第１方向に延伸するライン画像および第２方向に延伸するライン画像の検出処理を行わない構成としてもよい。
【００３１】
上記の構成によれば、水平方向に延伸するライン画像と垂直方向に延伸するライン画像との交点の数が所定値以上の場合に、第１方向に延伸するライン画像および第２方向に延伸するライン画像の検出処理を行わないようにすることで、第１方向に延伸するライン画像および第２方向に延伸するライン画像の検出にかかる負荷および処理時間を低減できる。また、上記所定値を、水平方向に延伸するライン画像と垂直方向に延伸するライン画像との交点を特徴点とした場合にこの特徴点によって入力画像データを適切に特定することができる程度の数に設定しておくことで、第１方向に延伸するライン画像と第２方向に延伸するライン画像との交点を特徴点として算出しなくても、入力画像データを適切に特定することができる。
【００３２】
また、上記交点算出部は、ユーザからの指示入力を受け付ける指示入力部を備え、上記指示入力部に対するユーザの指示入力に応じて、上記第１方向に延伸するライン画像および第２方向に延伸するライン画像の検出処理を行うか否かを決定する構成としてもよい。
【００３３】
上記の構成によれば、第１方向に延伸するライン画像および第２方向に延伸するライン画像の検出処理を行うか否かをユーザが選択することができる。したがって、例えば、ユーザは、入力画像データの特定精度の向上と特徴点算出処理に要する処理時間の短縮とのいずれを重視するかに応じて、第１方向に延伸するライン画像および第２方向に延伸するライン画像の検出処理の要否を選択できる。
【００３４】
また、上記交点算出部は、上記第１方向に延伸するライン画像と上記第２方向に延伸するライン画像との交点が互いに隣接する複数画素からなる場合に、これら複数画素の中心座標、重心座標、またはこれら複数画素からなる領域における所定位置の座標を上記特徴点として算出する構成としてもよい。なお、上記所定位置としては、例えば、複数画素からなる上記領域のうち、第１方向の座標値が最小または最大であって且つ第２方向の座標値が最小または最大である画素の座標、第１方向の座標値の平均値および第２方向の座標値の平均値に対応する座標などをあげることができる。
【００３５】
上記の構成によれば、第１方向に延伸するライン画像と第２方向に延伸するライン画像との交点が互いに隣接する複数画素からなる場合であっても、特徴点の座標を適切に特定することができる。
【００３６】
また、上記交点算出部は、上記第１方向に延伸するライン画像に対応する直線の式と、上記第２方向に延伸するライン画像に対応する直線の式とを算出し、これら２つの直線の式に基づいて両直線の交点を算出し、算出した交点に対応する座標を上記特徴点として算出する構成としてもよい。
【００３７】
上記の構成によれば、各ライン画像の開始座標および終了座標に基づいて算出される計算式によって一意に両ライン画像の交点を算出できるので、交点を算出する際に第１方向に延伸するライン画像および第２方向に延伸するライン画像の両方に含まれる画素を画素単位で調べる必要がないため、交点の算出処理を簡略化し、交点の算出に要する処理時間を短縮できる。
【００３８】
また、登録画像を識別するための識別情報を登録画像が有する特徴量に関連付けて記憶する記憶部と、上記特徴量算出部が入力画像データから算出した特徴量と上記記憶部に記憶されている登録画像の特徴量とに基づいて入力画像と登録画像との類似性を判定する類似判定部とを備えている構成としてもよい。
【００３９】
上記の構成によれば、入力画像データから取得した特徴量と上記記憶部に記憶されている登録画像の特徴量とを比較することで入力画像と登録画像との類似性を判定することができる。また、上記特徴点を用いて類似性判定を行うことで、入力画像と登録画像との類似性を精度よく判定できる。
【００４０】
また、上記入力画像データに含まれる原稿画像の傾き角度を検出する傾き検知部と、上記傾き検知部の検出した傾き角度に基づいて上記原稿画像の傾きを補正する傾き補正部とを備え、上記傾き補正後の入力画像データを上記交点算出部に入力する構成としてもよい。
【００４１】
上記の構成によれば、入力画像データに含まれる原稿画像が傾斜している場合（例えば画像読取装置の読取位置における所定の配置角度に対して傾斜して配置された状態で読み取られた画像データである場合など）であっても、この傾斜を補正することができる。したがって、上記傾斜の影響を受けずに特徴点を算出することができるので、特徴点を精度よく算出できる。
【００４２】
また、上記入力画像データにおける注目画素および当該注目画素の周辺画素に含まれる黒画素の数をカウントし、カウント値が第１閾値以上である注目画素を黒画素とし、カウント値が第１閾値未満である注目画素を白画素とする膨張処理を行う膨張処理部と、膨張処理後の入力画像データにおける注目画素および当該注目画素の周辺画素に含まれる白画素の数をカウントし、カウント値が第２閾値以上である注目画素を白画素とし、カウント値が第２閾値未満である注目画素とする縮退処理を行う縮退処理部とを備え、縮退処理後の入力画像データを上記交点算出部に入力する構成としてもよい。
【００４３】
上記の構成によれば、膨張処理と縮退処理とを行うことにより、入力画像データにおけるライン部分に読み取り誤差や送受信エラー等に起因するギャップ（画像データの欠落）が生じている場合であっても、このギャップを補正してからラインの検出処理を行うことができる。したがって、ギャップ（画像データの欠落）によってラインが本来よりも短く切断されて検出されることを防止し、入力画像データの特徴点を精度よく検出できる。
【００４４】
本発明の画像形成装置は、上記したいずれかの画像処理装置と、入力画像データに応じた画像を記録材上に形成する画像出力部とを備えている。また、本発明の画像送信装置は、上記したいずれかの画像処理装置と、入力画像データを通信可能に接続された他の装置に送信する送信装置とを備えている。また、本発明の画像読取装置は、原稿画像を読み取って入力画像データを取得する画像入力装置と、上記したいずれかの画像処理装置とを備えている。
【００４５】
上記の画像形成装置、画像送信装置、画像読取装置によれば、ライン画像同士の交点を特徴点とすることで、例えば文字が少ない原稿から読み取った入力画像データの場合であっても多数の特徴点を抽出することができるので、入力画像データを適切に特定することができる。また、ライン画像の抽出とライン画像同士の交点の算出とを行うだけでよいので、例えば上記特許文献１のように入力画像データから文字，文字列枠，枠，枠を示す直線などの複数種類の要素に基づいて特徴点を算出する場合に比べて特徴点算出処理にかかるアルゴリズムを簡略化するとともに、処理時間を短縮できる。
【００４６】
なお、上記画像処理装置は、コンピュータによって実現してもよく、この場合には、コンピュータを上記特徴点算出部として動作させることにより、上記画像処理装置をコンピュータにて実現させる画像処理プログラム、およびそれを記録したコンピュータ読み取り可能な記録媒体も、本発明の範疇に含まれる。
【発明の効果】
【００４７】
以上のように、本発明の画像処理装置、画像処理方法、および画像処理システムは、入力画像データから第１方向に延伸するライン画像および第１方向とは異なる第２方向に延伸するライン画像を検出し、第１方向に延伸するライン画像と第２方向に延伸するライン画像との交点を特徴点として算出する。
【００４８】
それゆえ、多数の特徴点を抽出することができるので、入力画像データを適切に特定することができる。また、特徴点算出処理にかかるアルゴリズムを簡略化するとともに、処理時間を短縮できる。
【発明を実施するための最良の形態】
【００４９】
〔実施形態１〕
本発明の一実施形態について説明する。なお、本実施形態では、本発明をデジタルカラー複合機（ＭＦＰ：Multi-Function Printer）に適用する場合の一例について説明する。
【００５０】
（１−１．  デジタルカラー複合機１の構成）
図２は、本実施形態にかかるデジタルカラー複合機（画像処理装置、画像形成装置、画像読取装置）１の概略構成を示すブロック図である。このデジタルカラー複合機１は、コピー機能、プリンタ機能、ファクシミリ送信機能、スキャナ機能、scan to e-mail機能等を有している。
【００５１】
図２に示すように、デジタルカラー複合機１は、カラー画像入力装置２、カラー画像処理装置３、カラー画像出力装置４、通信装置５、操作パネル６を備えている。
【００５２】
カラー画像入力装置（画像読取装置）２は、例えばＣＣＤ（Charge Coupled Device ）などの光学情報を電気信号に変換するデバイスを備えたスキャナ部（図示せず）より構成され、原稿からの反射光像を、ＲＧＢ（Ｒ：赤・Ｇ：緑・Ｂ：青）のアナログ信号としてカラー画像処理装置３に出力する。
【００５３】
カラー画像処理装置３は、Ａ／Ｄ変換部１１、シェーディング補正部１２、文書照合処理部１３、入力階調補正部１４、領域分離処理部１５、色補正部１６、黒生成下色除去部１７、空間フィルタ処理部１８、出力階調補正部１９、および階調再現処理部２０を備えている。カラー画像入力装置２からカラー画像処理装置３に出力されたアナログ信号は、カラー画像処理装置３内を、Ａ／Ｄ変換部１１、シェーディング補正部１２、文書照合処理部１３、入力階調補正部１４、領域分離処理部１５、色補正部１６、黒生成下色除去部１７、空間フィルタ処理部１８、出力階調補正部１９、階調再現処理部２０の順で送られ、ＣＭＹＫのデジタルカラー信号としてカラー画像出力装置４に出力される。
【００５４】
Ａ／Ｄ（アナログ／デジタル）変換部１１は、ＲＧＢのアナログ信号をデジタル信号に変換するものである。
【００５５】
シェーディング補正部１２は、Ａ／Ｄ変換部１１より送られてきたデジタルのＲＧＢ信号に対して、カラー画像入力装置２の照明系、結像系、撮像系で生じる各種の歪みを取り除く処理を施すものである。また、シェーディング補正部１２は、カラーバランスの調整、および濃度信号などカラー画像処理装置３に採用されている画像処理システムの扱い易い信号に変換する処理を施す。
【００５６】
文書照合処理部１３は、入力された画像データから特徴点を抽出し、抽出した特徴点に基づいて特徴量を算出する。また、文書照合処理部１３は、上記のように算出した特徴量を画像データと対応付けて後述するハッシュテーブルに記憶（登録）させる。また、文書照合処理部１３は、入力画像データから上記のように算出した特徴量をハッシュテーブルに記憶されている登録画像の特徴量と比較することで入力画像と登録画像との類似性を判定する。また、文書照合処理部１３は入力されたＲＧＢ信号をそのまま後段の入力階調補正部１４へ出力する。なお、文書照合処理部１３の詳細については後述する。
【００５７】
入力階調補正部１４は、シェーディング補正部にて各種の歪みが取り除かれたＲＧＢ信号に対して、下地色（下地色の濃度成分：下地濃度）の除去やコントラストなどの画質調整処理を施す。
【００５８】
領域分離処理部１５は、ＲＧＢ信号より、入力画像中の各画素を文字領域、網点領域、写真領域のいずれかに分離するものである。領域分離処理部１５は、分離結果に基づき、画素がどの領域に属しているかを示す領域識別信号を、色補正部１６、黒生成下色除去部１７、空間フィルタ処理部１８、および階調再現処理部２０へと出力するとともに、入力階調補正部１４より出力された入力信号をそのまま後段の色補正部１６に出力する。
【００５９】
色補正部１６は、色再現の忠実化実現のために、不要吸収成分を含むＣＭＹ（Ｃ：シアン・Ｍ：マゼンタ・Ｙ：イエロー）色材の分光特性に基づいた色濁りを取り除く処理を行うものである。
【００６０】
黒生成下色除去部１７は、色補正後のＣＭＹの３色信号から黒（Ｋ）信号を生成する黒生成、元のＣＭＹ信号から黒生成で得たＫ信号を差し引いて新たなＣＭＹ信号を生成する処理を行うものである。これにより、ＣＭＹの３色信号はＣＭＹＫの４色信号に変換される。
【００６１】
空間フィルタ処理部１８は、黒生成下色除去部１７より入力されるＣＭＹＫ信号の画像データに対して、領域識別信号を基にデジタルフィルタによる空間フィルタ処理を行い、空間周波数特性を補正する。これにより、出力画像のぼやけや粒状性劣化を軽減することができる。階調再現処理部２０も、空間フィルタ処理部１８と同様、ＣＭＹＫ信号の画像データに対して領域識別信号を基に所定の処理を施すものである。
【００６２】
例えば、領域分離処理部１５にて文字に分離された領域は、特に黒文字あるいは色文字の再現性を高めるために、空間フィルタ処理部１８による空間フィルタ処理における鮮鋭強調処理で高周波数の強調量が大きくされる。同時に、階調再現処理部２０においては、高域周波数の再現に適した高解像度のスクリーンでの２値化または多値化処理が選択される。
【００６３】
また、領域分離処理部１５にて網点領域に分離された領域に関しては、空間フィルタ処理部１８において、入力網点成分を除去するためのローパス・フィルタ処理が施される。そして、出力階調補正部１９では、濃度信号などの信号をカラー画像出力装置４の特性値である網点面積率に変換する出力階調補正処理を行った後、階調再現処理部２０で、最終的に画像を画素に分離してそれぞれの階調を再現できるように処理する階調再現処理（中間調生成）が施される。領域分離処理部１５にて写真に分離された領域に関しては、階調再現性を重視したスクリーンでの２値化または多値化処理が行われる。
【００６４】
上述した各処理が施された画像データは、いったん記憶装置（図示せず）に記憶され、所定のタイミングで読み出されてカラー画像出力装置４に入力される。
【００６５】
カラー画像出力装置４は、カラー画像処理装置３から入力された画像データを記録材（例えば紙等）上に出力するものである。カラー画像出力装置４の構成は特に限定されるものではなく、例えば、電子写真方式やインクジェット方式を用いたカラー画像出力装置を用いることができる。
【００６６】
通信装置５は、例えばモデムやネットワークカードより構成される。通信装置５は、ネットワークカード、ＬＡＮケーブル等を介して、ネットワークに接続された他の装置（例えば、パーソナルコンピュータ、サーバー装置、他のデジタルカラー複合機、ファクシミリ装置等）とデータ通信を行う。
【００６７】
なお、通信装置５は、画像データを送信する場合、相手先との送信手続きを行って送信可能な状態が確保されると、所定の形式で圧縮された画像データ（スキャナで読み込まれた画像データ）をメモリから読み出し、圧縮形式の変更など必要な処理を施して、通信回線を介して相手先に順次送信する。
【００６８】
また、通信装置５は、画像データを受信する場合、通信手続きを行うとともに、相手先から送信されてくる画像データを受信してカラー画像処理装置３に入力する。受信した画像データは、カラー画像処理装置３で伸張処理、回転処理、解像度変換処理、出力階調補正、階調再現処理などの所定の処理が施され、カラー画像出力装置４によって出力される。なお、受信した画像データを記憶装置（図示せず）に保存し、カラー画像処理装置３が必要に応じて読み出して上記所定の処理を施すようにしてもよい。
【００６９】
操作パネル６は、例えば、液晶ディスプレイなどの表示部と設定ボタンなどより構成され（いずれも図示せず）、デジタルカラー複合機１の主制御部（図示せず）の指示に応じた情報を上記表示部に表示するとともに、上記設定ボタンを介してユーザから入力される情報を上記主制御部に伝達する。ユーザは、操作パネル６を介して入力画像データに対する各種の処理要求（例えば、処理モード（複写、印刷、送信、編集、交点算出部４５における特徴点算出方法（斜め方向のライン画像を抽出することの要否）など）、処理枚数（複写枚数、印刷枚数）、入力画像データの送信先など）を入力することができる。上記主制御部は、例えばＣＰＵ（Central Processing Unit）等からなり、図示しないＲＯＭ等に格納されたプログラムや各種データ、操作パネル６から入力される情報等に基づいて、デジタルカラー複合機１の各部の動作を制御する。
【００７０】
（１−２．  文書照合処理部１３の構成）
次に、文書照合処理部１３の詳細について説明する。本実施形態にかかる文書照合処理部１３は、入力画像データから複数の特徴点を抽出し、抽出した各特徴点に対して局所的な特徴点の集合を決定し、決定した各集合から特徴点の部分集合を選択し、選択した各部分集合を特徴付ける量として、部分集合中の特徴点に関する複数の組み合わせに基づいて、幾何学的変換に対する不変量をそれぞれ求め、求めた各不変量を組み合わせてハッシュ値（特徴量）を算出する。また、計算したハッシュ値に対応する登録画像に投票することにより、入力画像データに類似する登録画像の検索、当該登録画像に対する類似性の判定処理（類似あり／類似なしの判定）を行う。また、計算したハッシュ値と、このハッシュ値を抽出した画像とを対応付けてハッシュテーブルに記憶（登録）させる処理を行うこともできる。
【００７１】
図１は、文書照合処理部１３の概略構成を示すブロック図である。この図に示すように、文書照合処理部１３は、特徴点算出部３１、特徴量算出部３２、投票処理部３３、類似度判定処理部３４、登録処理部３７、制御部７、メモリ８を備えている。
【００７２】
制御部７は、文書照合処理部１３の各部の動作を制御する。なお、制御部７は、デジタルカラー複合機１の各部の動作を制御するための主制御部に備えられていてもよく、主制御部とは別に備えられ、主制御部と協働して文書照合処理部１３の動作を制御するものであってもよい。
【００７３】
メモリ８には、登録画像を特定するためのインデックスと、登録画像から抽出した特徴量とを互いに対応付けて記憶するハッシュテーブル１０３が備えられている。また、メモリ８には、ハッシュテーブル１０３の他、文書照合処理部１３の各部の処理に用いられる各種データ、処理結果等を記憶する記憶部（図示せず）を備えている。なお、ハッシュテーブル１０３の詳細については後述する。
【００７４】
特徴点算出部３１は、入力画像データに含まれる文字や罫線などの画像からライン画像を抽出し、ライン画像同士の交点を特徴点として算出する。
【００７５】
図３は、特徴点算出部３１の概略構成を示すブロック図である。この図に示すように、特徴点算出部３１は、信号変換処理部（無彩化処理部）４１、解像度変換部４２、ＭＴＦ処理部４３、２値化処理部４４、交点算出部４５を備えている。
【００７６】
信号変換処理部（無彩化処理部）４１は、シェーディング補正部１２から入力された画像データ（ＲＧＢ信号）がカラー画像であった場合にこの画像データを無彩化して、明度信号もしくは輝度信号に変換するものである。
【００７７】
例えば、信号変換処理部（無彩化処理部）４１は、下記式によりＲＧＢ信号を輝度信号Ｙに変換する。
【００７８】
Ｙｉ＝０．３０Ｒｉ＋０．５９Ｇｉ＋０．１１Ｂｉ
ここで、Ｙは各画素の輝度信号であり、Ｒ，Ｇ，Ｂは各画素のＲＧＢ信号における各色成分であり、添え字のｉは画素毎に付与された値（ｉは１以上の整数）である。
【００７９】
あるいは、ＲＧＢ信号をＣＩＥ１９７６Ｌ*ａ*ｂ*信号（ＣＩＥ:Commission International de l'Eclairage、Ｌ*：明度、a*,ｂ*:色度）に変換してもよい。
【００８０】
解像度変換部４２は、入力画像データを変倍処理する。例えば、解像度変換部４２は、入力画像データがカラー画像入力装置２で光学的に変倍されている場合に、所定の解像度になるように入力画像データを再度変倍する。また、解像度変換部４２が、後段の各処理部における処理量を軽減するために、カラー画像入力装置２で等倍時に読み込まれる解像度よりも解像度を落とすための解像度変換を行うようにしてもよい（例えば、６００ｄｐｉ（dot per inch）で読み込まれた画像データを３００ｄｐｉに変換するなど）。
【００８１】
ＭＴＦ（modulation transfer function）処理部４３は、カラー画像入力装置２の空間周波数特性が機種ごとに異なることを吸収（調整）するために用いられる。ＣＣＤの出力する画像信号には、レンズやミラー等の光学部品、ＣＣＤの受光面のアパーチャ開口度、転送効率や残像、物理的な走査による積分効果及び走査むら等に起因しＭＴＦの劣化が生じている。このＭＴＦの劣化により、読み込まれた画像がぼやけたものとなっている。ＭＴＦ処理部４３は、適切なフィルタ処理（強調処理）を施すことにより、ＭＴＦの劣化により生じるぼやけを修復する処理を行う。また、後述する特徴点抽出処理に不要な高周波成分を抑制するためにも用いる。すなわち、混合フィルタ（図示せず）を用いて強調および平滑化処理を行う。なお、図４は、この混合フィルタにおけるフィルタ係数の一例を示している。
【００８２】
２値化処理部４４は、無彩化された画像データ（輝度値（輝度信号）または明度値（明度信号））と、予め設定された閾値とを比較することにより画像データを２値化する。
【００８３】
交点算出部４５は、２値化された画像データからライン画像を抽出し、抽出したライン画像同士の交点を特徴点として特徴量算出部３２に出力する。なお、交点算出部４５における処理の詳細については後述する。
【００８４】
特徴量算出部３２は、特徴点抽出部３２ａ、不変量算出部３２ｂ、ハッシュ値算出部３２ｃを備えており、特徴点算出部３１で算出された特徴点を用いて、原稿画像の回転、平行移動、拡大、縮小、平行移動等の幾何学的変形に対して不変な量である特徴量（ハッシュ値および／または不変量）を算出する。
【００８５】
特徴点抽出部３２ａは、図５に示すように、１つの特徴点を注目特徴点とし、この注目特徴点の周辺の特徴点を、注目特徴点からの距離が近いものから順に所定数（ここでは４点）だけ周辺特徴点として抽出する。図５の例では、特徴点ａを注目特徴点とした場合には特徴点ｂ，ｃ，ｄ，ｅの４点が周辺特徴点として抽出され、特徴点ｂを注目特徴点とした場合には特徴点ａ，ｃ，ｅ，ｆの４点が周辺特徴点として抽出される。
【００８６】
また、特徴点抽出部３２ａは、上記のように抽出した周辺特徴点４点の中から選択しうる３点の組み合わせを抽出する。例えば、図６（ａ）〜図６（ｃ）に示すように、図５に示した特徴点ａを注目特徴点とした場合、周辺特徴点ｂ，ｃ，ｄ，ｅのうちの３点の組み合わせ、すなわち、周辺特徴点ｂ，ｃ，ｄ、周辺特徴点ｂ，ｃ，ｅ、周辺特徴点ｃ，ｄ，ｅの各組み合わせが抽出される。
【００８７】
次に、不変量算出部３２ｂは、抽出した各組み合わせについて、幾何学的変形に対する不変量（特徴量の１つ）Ｈｉｊを算出する。ここで、ｉは注目特徴点を示す数（ｉは１以上の整数）であり、ｊは周辺特徴点３点の組み合わせを示す数（ｊは１以上の整数）である。本実施形態では、周辺特徴点同士を結ぶ線分の長さのうちの２つの比を不変量Ｈｉｊとする。なお、上記線分の長さは、各周辺特徴点の座標値に基づいて算出すればよい。例えば、図６（ａ）の例では、特徴点ｃと特徴点ｄとを結ぶ線分の長さをＡ１１、特徴点ｃと特徴点ｂとを結ぶ線分の長さをＢ１１とすると、不変量Ｈ１１はＨ１１＝Ａ１１／Ｂ１１である。また、図６（ｂ）の例では、特徴点ｃと特徴点ｂとを結ぶ線分の長さをＡ１２、特徴点ｂと特徴点ｅとを結ぶ線分の長さをＢ１２とすると、不変量Ｈ１２はＨ１２＝Ａ１２／Ｂ１２である。また、図６（ｃ）の例では、特徴点ｄと特徴点ｂとを結ぶ線分の長さをＡ１３、特徴点ｂと特徴点ｅとを結ぶ線分の長さをＢ１３とすると、不変量Ｈ１３はＨ１３＝Ａ１３／Ｂ１３である。このようにして、図６（ａ）〜図６（ｃ）の例では、不変量Ｈ１１，Ｈ１２，Ｈ１３が算出される。
【００８８】
次に、ハッシュ値算出部３２ｃは、（Ｈｉ１×１０２＋Ｈｉ２×１０１＋Ｈｉ３×１００）／Ｄの余りの値をハッシュ値（特徴量の１つ）Ｈｉとして算出し、メモリ８に記憶させる。なお、上記Ｄは余りが取り得る値の範囲をどの程度に設定するかに応じて予め設定される定数である。
【００８９】
なお、不変量Ｈｉｊの算出方法は特に限定されるものではなく、例えば、注目特徴点の近傍５点の複比、近傍ｎ点（ｎはｎ≧５の整数）から抽出した５点の複比、近傍ｎ点から抽出したｍ点（ｍはｍ＜ｎかるｍ≧５の整数）の配置およびｍ点から抽出した５点の複比に基づいて算出される値などを注目特徴点についての上記不変量Ｈｉｊとしてもよい。なお、複比とは、直線上の４点または平面上の５点から求められる値であり、幾何学的変換の一種である射影変形に対する不変量として知られている。
【００９０】
また、ハッシュ値Ｈｉの算出するための式についても上記式（２）に限るものではなく、他のハッシュ関数（例えば特許文献４に記載されているハッシュ関数のうちのいずれか）を用いてもよい。
【００９１】
また、特徴量算出部３２の各部は、１つの注目特徴点に対する周辺特徴点の抽出およびハッシュ値Ｈｉの算出が終わると、注目特徴点を他の特徴点に変更して周辺特徴点の抽出およびハッシュ値の算出を行い、全ての特徴点についてのハッシュ値を算出する。
【００９２】
図５の例では、特徴点ａを注目特徴点とした場合の周辺特徴点およびハッシュ値の抽出が終わると、次に特徴点ｂを注目特徴点とした場合の周辺特徴点およびハッシュ値の抽出を行う。図５の例では、特徴点ｂを注目特徴点とした場合、特徴点ａ，ｃ，ｅ，ｆの４点が周辺特徴点として抽出される。そして、図７（ａ）〜図７（ｃ）に示すように、これら周辺特徴点ａ，ｃ，ｅ，ｆの中から選択される３点の組み合わせ（周辺特徴点ａ，ｅ，ｆ、周辺特徴点ｃ，ｅ，ｆ、周辺特徴点ａ，ｃ，ｆ）を抽出し、各組み合わせについてハッシュ値Ｈｉを算出し、メモリ８に記憶させる。そして、この処理を各特徴点について繰り返し、各特徴点を注目特徴点とした場合のハッシュ値をそれぞれ求めてメモリ８に記憶させる。
【００９３】
なお、特徴点ａを注目特徴点としたときの不変量の算出方法は上記の方法に限るものではない。例えば、図３０（ａ）〜図３０（ｄ）に示すように、図５に示した特徴点ａを注目特徴点とした場合、特徴点ａから最も近い４つの周辺特徴点ｂ，ｃ，ｄ，ｅを選択し、さらに選択した４つの周辺特徴点のうちの３点の組み合わせ、すなわち、周辺特徴点ｂ，ｃ，ｄ、周辺特徴点ｂ，ｃ，ｅ、周辺特徴点ｂ，ｄ，ｅ、周辺特徴点ｃ，ｄ，ｅの各組み合わせを抽出し、抽出した各組み合わせについて、幾何学的変形に対する不変量（特徴量の１つ）Ｈｉｊを算出するようにしてもよい。この場合、不変量の算出方法としては上記した方法と同様の方法を用いることができる。
【００９４】
例えば、注目特徴点に最も近い周辺特徴点と２番目に近い周辺特徴点とを結ぶ線分をＡｉｊ、注目特徴点に最も近い周辺特徴点と３番目に近い周辺特徴点とを結ぶ線分をＢｉｊとし、不変量Ｈｉｊ＝Ａｉｊ／Ｂｉｊとしてもよい。この場合、図３０（ａ）の例では、特徴点ｂと特徴点ｃとを結ぶ線分の長さをＡ１１、特徴点ｂと特徴点ｄとを結ぶ線分の長さをＢ１１とすると、不変量Ｈ１１はＨ１１＝Ａ１１／Ｂ１１となる。また、図３０（ｂ）の例では、特徴点ｂと特徴点ｃとを結ぶ線分の長さをＡ１２、特徴点ｂと特徴点ｅとを結ぶ線分の長さをＢ１２とすると、不変量Ｈ１２はＨ１２＝Ａ１２／Ｂ１２となる。また、図３０（ｃ）の例では、特徴点ｂと特徴点ｄとを結ぶ線分の長さをＡ１３、特徴点ｂと特徴点ｅとを結ぶ線分の長さをＢ１３とすると、不変量Ｈ１３はＨ１３＝Ａ１３／Ｂ１３となる。また、図３０（ｄ）の例では、特徴点ｃと特徴点ｄとを結ぶ線分の長さをＡ１４、特徴点ｃと特徴点ｅとを結ぶ線分の長さをＢ１４とすると、不変量Ｈ１４はＨ１４＝Ａ１４／Ｂ１４となる。
【００９５】
また、図５に示した特徴点ｂを注目特徴点とした場合、図３１（ａ）〜図３１（ｄ）に示すように、特徴点ｂから最も近い４つの特徴点ａ，ｃ，ｅ，ｆを選択し、この４点の周辺特徴点の中から、ある３点の組み合わせ（周辺特徴点ａ，ｅ，ｆ、周辺特徴点ａ，ｃ，ｅ、周辺特徴点ａ，ｆ，ｃ、周辺特徴点ｅ，ｆ，ｃ）を抽出し、各組み合わせについて幾何学的変形に対する不変量Ｈｉｊを算出するようにしてもよい。
【００９６】
不変量に基づいてハッシュ値を算出する方法は、上記した方法と同様の方法を用いることができる。すなわち、（Ｈｉ１×１０３＋Ｈｉ２×１０２＋Ｈｉ３×１０１＋Ｈｉ４×１００）／Ｄの余りの値をハッシュ値として算出し、メモリ８に記憶させればよい。
【００９７】
上記の例では、注目特徴点に最も近い周辺特徴点と２番目に近い周辺特徴点とを結ぶ線分をＡｉｊ、注目特徴点に最も近い周辺特徴点と３番目に近い周辺特徴点とを結ぶ線分をＢｉｊとしたが、これに限らず、例えば周辺特徴点間を結ぶ線分の長さを基準にして選定する等、不変量Ｈｉｊの算出に用いる線分は任意の方法で選定すればよい。
【００９８】
なお、特徴量算出部３２は、入力画像データを登録画像として登録する登録処理を行う場合には、上記のように算出した入力画像データの各特徴点についてのハッシュ値（特徴量）を登録処理部３７に送る。また、特徴量算出部３２は、入力画像データが既に登録されている登録画像の画像データであるかどうかの判定処理（類似性判定処理）を行う場合には、上記のように算出した入力画像データの各特徴点についてのハッシュ値を投票処理部３３に送る。
【００９９】
登録処理部３７は、特徴量算出部３２が算出した各特徴点についてのハッシュ値と、原稿（入力画像データ）を表すインデックス（原稿ＩＤ）とを互いに対応付けてメモリ８に設けられたハッシュテーブル１０３に順次登録していく（図８（ａ）参照）。ハッシュ値がすでに登録されている場合は、当該ハッシュ値に対応付けて原稿ＩＤを登録する。原稿ＩＤは重複することなく順次番号が割り当てられる。なお、ハッシュテーブル１０３に登録されている原稿の数が所定値（例えば、登録可能な原稿の数の８０％）より多くなった場合、古い原稿ＩＤを検索して順次消去するようにしてもよい。また、消去された原稿ＩＤは、新たな入力画像データの原稿ＩＤとして再度使用できるようにしてもよい。また、算出されたハッシュ値が同値である場合（図８（ｂ）の例ではＨ１＝Ｈ５）、これらを１つにまとめてハッシュテーブル１０３に登録してもよい。
【０１００】
投票処理部３３は、入力画像データから算出した各特徴点のハッシュ値をハッシュテーブル１０３に登録されているハッシュ値と比較し、同じハッシュ値を有する登録画像に投票する。言い換えれば、登録画像毎に、登録画像が有するハッシュ値と同じハッシュ値が入力画像データから算出された回数をカウントし、カウント値をメモリ８に記憶させる。図９は、登録画像ＩＤ１，ＩＤ２，ＩＤ３に対する投票数の一例を示すグラフである。
【０１０１】
類似度判定処理部３４は、メモリ８から投票処理部３３の投票処理結果（各登録画像のインデックスおよび各登録画像に対する投票数；類似度）を読み出し、最大得票数および最大得票数を得た登録画像のインデックスを抽出する。そして、抽出された最大得票数を予め定められている閾値ＴＨａと比較して類似性（入力画像データが登録画像の画像データであるかどうか）を判定し、判定結果を示す判定信号を制御部７に送る。つまり、最大得票数が予め定められた閾値ＴＨａ以上である場合には「類似性あり（入力画像データは登録画像の画像データである）」と判定し、閾値ＴＨａ未満である場合には「類似性なし（入力画像データは登録画像の画像データではない）」と判定する。
【０１０２】
あるいは、類似度判定処理部３４が、各登録画像に対する得票数を投票総数（入力画像データから抽出された特徴点の総数）で除算して正規化することで類似度を算出し、この類似度と予め定められている閾値ＴＨａ（例えば投票総数の８０％）との比較を行うことによって類似度を判定してもよい。
【０１０３】
また、類似度判定処理部３４が、各登録画像に対する得票数を、ハッシュ値の登録数が最も多い登録画像についてのハッシュ値の登録数（最大登録数）で除算して正規化することで類似度を算出し、この類似度と予め定められている閾値ＴＨａ（例えば投票総数の８０％）との比較を行うことによって類似性を判定してもよい。つまり、算出した類似度が閾値ＴＨａ以上である場合には「類似性あり」と判定し、閾値ＴＨａ未満である場合には「類似性なし」と判定すればよい。なお、この場合、入力画像データから抽出されるハッシュ値の総数は上記最大登録数よりも大きくなる場合があるため（特に原稿および／または登録画像の少なくとも一部に手書き部分がある場合など）、類似度の算出値は１００％を超える場合も有り得る。
【０１０４】
また、類似性を判定する際の閾値ＴＨａは、各登録画像について一定であってもよく、あるいは各登録画像の重要度等に応じて登録画像毎に設定されてもよい。登録画像の重要度は、例えば、紙幣、有価証券、極秘書類、社外秘の書類等については重要度を最大にし、秘密書類については重要度を紙幣等よりも低くするといったように、登録画像に応じて段階的に設定してもよい。この場合、メモリ８に、登録画像の重要度に応じた重み付け係数を当該登録画像のインデックスと関連付けて記憶させておき、類似度判定処理部３４が、最大得票数を得た登録画像に対応する閾値ＴＨａを用いて類似性を判定するようにすればよい。
【０１０５】
また、類似性を判定する際、閾値ＴＨａは一定にする一方、各登録画像に対する投票数（各登録画像の得票数）に各登録画像の重み係数を掛けて類似性を判定するようにしてもよい。この場合、メモリ８に、各登録画像の重要度に応じた重み付け係数を各登録画像のインデックスと関連付けて記憶させておき、類似度判定処理部３４が、各登録画像の得票数に当該登録画像の重み付け係数を掛けた補正得票数を算出し、この補正得票数に基づいて類似性を判定するようにすればよい。例えば、最大補正得票数と閾値ＴＨａとを比較してもよく、最大補正得票数を投票総数で正規化したものを閾値ＴＨａと比較してもよく、最大補正得票数を最大登録数で正規化したものを閾値ＴＨａと比較してもよい。また、この場合、重み係数は、例えば、１より大きい値であって、かつ登録画像の重要度が高くなるにつれて大きい値になるように設定すればよい。
【０１０６】
また、本実施形態では、１つの特徴点（注目特徴点）に対して１つのハッシュ値を算出するものとしているが、これに限らず、１つの特徴点（注目特徴点）に対して複数のハッシュ値を算出するようにしてもよい。例えば、注目特徴点の周辺特徴点として６点を抽出し、この６点から５点を抽出した６通りの組み合わせそれぞれについて、５点から３点を抽出して不変量を求めてハッシュ値を算出する方法を用いてもよい。この場合には、１つの特徴点に対して６個のハッシュ値が算出されることになる。
【０１０７】
（１−３．  文章照合処理部１３における処理）
次に、文書照合処理部１３における処理について、図１０に示すフロー図を参照しながら説明する。
【０１０８】
まず、制御部７は、入力画像データ、および、操作パネル６あるいは通信装置５を介してユーザから入力される処理要求（指示入力）を取得する（Ｓ１、Ｓ２）。なお、入力画像データは、カラー画像入力装置２で原稿画像を読み取ることによって取得してもよく、通信装置５によって外部の装置から送信される入力画像データを取得してもよく、デジタルカラー複合機１に備えられるカードリーダー（図示せず）等を介して各種記録媒体から入力画像データを読み出して取得してもよい。
【０１０９】
次に、制御部７は、特徴点算出部３１に特徴点算出処理を実行させ（Ｓ３）、特徴量算出部３２に特徴量を算出させる（Ｓ４）。
【０１１０】
次に、制御部７は、上記処理要求によって要求されている処理が登録処理であるか否かを判断する（Ｓ５）。そして、登録処理であると判断した場合、制御部７は、特徴量算出部３２が算出した特徴量と原稿ＩＤ（登録画像のＩＤ）とを対応付けてハッシュテーブル１０３に登録させ（Ｓ６）、処理を終了する。
【０１１１】
一方、登録処理ではないと判断した場合（類似性の判定処理であると判断した場合）、制御部７は、投票処理部３３に投票処理を実行させ（Ｓ７）、類似度判定処理部３４に類似性の判定処理を実行させる（Ｓ８）。
【０１１２】
そして、類似ありと判定した場合には、入力画像データに対する画像処理（例えば、複写、印刷、電子配信、ファクシミリ送信、ファイリング、画像データの補正，編集等の処理）の実行を禁止し（Ｓ１１）、処理を終了する。また、類似なしと判定した場合には、入力画像データに対する画像処理の実行を許可し（Ｓ１２）、処理を終了する。なお、本実施形態では、類似ありの場合に画像処理の実行を許可し、類似なしの場合に画像処理の実行を禁止する例について説明しているが、これに限るものではない。例えば、類似性の判定結果を所定の通知先への通知するようにしてもよい。また、類似性の判定結果に応じて入力画像データの記録の要否、入力画像データに対応する出力画像に所定の記号等を重畳させることの要否、ユーザ認証を行うことの要否、類似性判定結果の表示の要否などを判断するようにしてもよい。
【０１１３】
（１−４．  交点算出部４５の構成および処理）
次に、交点算出部４５の構成および交点算出部４５における処理の詳細について説明する。まず、交点算出部４５における処理の概要について、図１１に示すフロー図を参照しながら説明する。この図に示すように、制御部７は、交点算出部４５に、２値化された画像データ（例えば、「１」（黒画素）、「０」（白画素）で表される）に基づいて、水平方向に伸びるライン画像および垂直方向に伸びるライン画像を抽出させ（Ｓ２１）、これら両方向に伸びるライン画像の交点を抽出させる（Ｓ２２）。なお、水平方向に伸びるライン画像および垂直方向に伸びるライン画像の抽出処理および交点の抽出処理については後述する。
【０１１４】
次に、制御部７は、斜め方向に伸びるライン画像同士の交点を特徴点として抽出するか否かを判断する（Ｓ２３）。この判断は、例えば、Ｓ２２で抽出された特徴点の数が所定値未満である場合に斜め方向に伸びるライン画像同士の交点を特徴点として抽出するようにしてもよく、操作パネル６あるいは通信可能に接続された外部装置から入力されるユーザのモード選択指示に応じて判断してもよい。例えば、ユーザは、斜め方向のライン検出にかかる処理時間や処理にかかる負荷を軽減したい場合には斜め方向のライン検出を行わないモードを選択することができ、類似性判定処理の精度をより向上させたい場合には斜め方向のライン検出を行うモードを選択することができる。また、例えば、入力画像に罫線が含まれており、罫線の交点が多数あって、入力画像にスキューがない場合などには、水平方向および垂直方向のライン画像の交点を特徴点とすることにより十分な類似性判定精度を確保できるので、斜め方向のライン画像の検出を行わないようにしてもよい。
【０１１５】
そして、斜め方向に伸びるライン画像同士の交点を特徴点として抽出しないと判断した場合、制御部７は、Ｓ２２で抽出した交点を特徴点として特徴量算出部３２に出力し（Ｓ２４）、交点算出処理を終了する。
【０１１６】
一方、Ｓ２３において斜め方向に伸びるライン画像同士の交点を特徴点として抽出しないと判断した場合、制御部７は、交点算出部４５に斜め２方向（左上から右下へ向かう方向（右下がりの方向）；第１斜め方向、および右上から左下へ向かう方向（左下がりの方向）；第２斜め方向）に伸びるライン画像を抽出させ（Ｓ２５，Ｓ２６）、これら両方向に伸びるライン画像の交点を抽出させる（Ｓ２７）。なお、Ｓ２５の処理とＳ２６の処理とは並行して行ってもよく、いずれか一方を先に行ってもよい。斜め方向に伸びるライン画像の抽出処理および斜め方向に伸びるライン画像同士の交点の抽出処理については後述する。
【０１１７】
そして、制御部７は、交点算出部４５に、Ｓ２２で抽出した交点とＳ２７で抽出した交点とを特徴点として特徴量算出部３２に出力させ（Ｓ２８）、交点算出処理を終了する。
【０１１８】
なお、上記の説明では、Ｓ２３において制御部７が斜め方向に伸びるライン画像同士の交点を特徴点として抽出するか否かを判断するものとしたが、これに限らず、例えば、水平方向および垂直方向に伸びるライン画像同士の交点の算出と、斜め２方向に伸びるライン画像同士の交点の算出とを必ず行うようにしてもよく、予め設定されたいずれか一方の交点のみを算出するようにしてもよい。また、斜め方向に伸びるライン画像同士の交点の算出を先に行い、その算出結果等に応じて制御部７が水平方向に伸びるライン画像と垂直方向に伸びるライン画像との交点の算出の要否を判断するようにしてもよい。ただし、水平方向および垂直方向のライン画像の検出処理よりも、斜め方向のライン画像の検出処理の方が処理のアルゴリズムが複雑であり、処理時間を要することから、水平方向および垂直方向のライン画像の検出および交点の算出を先に行い、斜め方向のライン画像の検出および交点の算出については必要に応じて行う構成とすることが好ましい。
【０１１９】
次に、ライン画像の抽出処理および交点の抽出処理ついてより詳細に説明する。図１２は交点算出部４５の構成を示すブロック図である。この図に示すように、交点算出部４５は、水平カウンタ６１、垂直カウンタ６２、第１ラベリング部６３、第１斜めカウンタ６４、第２ラベリング部６７、および第２斜めカウンタ６８を備えた計数部６０と、ライン判定部７１と、交点抽出部７２とを備えている。
【０１２０】
まず、水平方向および垂直方向のライン画像の抽出処理および交点の抽出処理について説明する。
【０１２１】
水平カウンタ６１は、２値化された画像データに対する水平方向のランレングスカウントのカウント値を記憶する。ここで、ランレングスカウントとは、画素値「１」の画素が所定方向に連続する数をカウントする処理である。
【０１２２】
より具体的には、制御部７は、２値化された画像データを左から右（あるいは右から左）へ水平方向に走査して各画素が黒画素（「１」）であるか否かを判断し、黒画素である場合には水平カウンタ６１のカウンタ値をインクリメントさせる。また、黒画素でない場合には水平カウンタ６１のカウンタ値をリセットさせる。また、上記走査が水平方向の端部に達した場合、水平カウンタ６１のカウンタ値をリセットさせるとともに、垂直方向に隣接する次のラインについてランレングスカウント処理を行う。また、制御部７は、水平カウンタ６１のカウンタ値をリセットさせる場合、リセット直前のカウンタ値とこのリセットを行うときに走査した画素の座標（あるいはリセットの直前に走査した画素の画像）とを水平カウンタ６１からライン判定部７１に出力させる。
【０１２３】
垂直カウンタ６２は、２値化された画像データに対する垂直方向のランレングスカウントのカウンタ値を記憶する。
【０１２４】
なお、本実施形態では、垂直カウンタ６２は、水平方向の画素数ｉと同数の列カウンタ６２＿１〜６２＿ｉを備えている。そして、制御部７は、２値化された画像データを左から右（あるいは右から左）へ水平方向に走査して各画素が黒画素（「１」）であるか否かを判断し、黒画素である場合には当該画素の水平方向（ｘ方向）の位置に応じた列カウンタのカウンタ値をインクリメントさせる。つまり、２値化された画像データに対する垂直方向のランレングスカウントのカウンタ値を各列カウンタによって列毎（ｘ座標毎）に記憶する。また、黒画素でない場合には当該画素の水平方向の位置に応じた列カウンタのカウンタ値をリセットさせる。また、上記走査が水平方向の端部に達した場合、垂直方向に隣接する次のラインについてランレングスカウント処理を行う。また、制御部７は、列カウンタのカウンタ値をリセットさせる場合、リセット直前のカウンタ値とこのリセットを行うときに走査した画素の座標（あるいはリセットの直前に走査した画素の画像）とを垂直カウンタ６２からライン判定部７１に出力させる。
【０１２５】
ライン判定部７１は、水平カウンタ６１から入力されたカウンタ値が閾値（例えば５）以上の数ｍである場合、このカウンタ値ｍをリセットするときに走査した画素の座標に基づいてカウンタ値１〜ｍに対応する各画素を求め、これら各画素からなる画像をライン画像と判定する。また、ライン判定部７１は、垂直カウンタ６２から入力されたカウンタ値が閾値（例えば５）以上の数ｎである場合、このカウンタ値ｎをリセットするときに走査した画素の座標に基づいて、カウンタ値１〜ｎに対応する各画素を求め、これら各画素に対応する各画素からなる画像をライン画像と判定する。また、ライン判定部７１は、ライン画像であると判定した場合、このライン画像に含まれる各画素の座標（あるいは画素値「１」の開始画素および終了画素の座標）を交点抽出部７２に出力する。
【０１２６】
交点抽出部７２は、ライン判定部７１からの入力に基づいて、水平方向のライン画像と垂直方向のライン画像との交点を抽出し、抽出した交点を特徴点として特徴量算出部３２に出力する。なお、互いに隣接する複数の画素が交点として抽出された場合、交点抽出部７２は、これら複数画素の中心座標、重心座標、あるいは複数画素からなる領域に含まれる所定の位置（例えば左上）の座標を特徴点とする。
【０１２７】
図１３は、交点算出部４５に入力される画像データの一例を示す説明図である。また、図１４は、図１３に示した画像データに対してライン判定処理を行った場合の、水平カウンタ６１および垂直カウンタ６２のカウンタ値の推移を示す説明図である。
【０１２８】
まず、ライン判定処理の開始時には水平カウンタ６１および垂直カウンタ６２に備えられる列カウンタ６２＿１〜６２＿ｉを「０」に初期化する。
【０１２９】
その後、左上の画素から右下方向の画素へ（座標（0,0）→（1,0）→（2,0）→・・・→（8,0）→（0,1）→（1,1）→・・・の順に）各画素を走査し、黒画素であるか否かの判定を行う。なお、走査方向はこれに限るものではなく、例えば右上から左下へ走査してもよい。
【０１３０】
図１３の例では、座標（3,1）までは黒画素が存在しないため水平カウンタ６１・垂直カウンタ６２の各列カウンタはいずれも初期値「０」のままである。座標（4,1）では黒画素が存在するため、水平カウンタ６１と垂直カウンタ６２＿４（ｘ座標４に対応する列カウンタ）をインクリメントする。そして、次の座標である座標（5,1）では黒画素が存在しないため、水平カウンタ６１を「０」にリセットし、リセット直前のカウンタ値「１」とリセットを行うときに走査した画素の座標（4,1）とを水平カウンタ６１からライン判定部７１に出力させる。この場合、リセット直前の水平カウンタは「１」であり、ライン判定閾値（５）より小さいため、ライン判定部７１はライン画像ではないと判定する。なお、この時点ではｘ座標が５であるため垂直カウンタ６２＿４はリセットされない。また、垂直カウンタ６２＿５は黒画素ではないので「０」のままである。
【０１３１】
同様の手順で処理を進めていくと、座標（2,3）〜（6,3）では水平方向に連続して黒画素が存在するため座標（6,3）になったときには水平カウンタ６１は「５」までインクリメントされている。そして、次の座標の座標（7,3）になると黒画素が存在しないので水平カウンタ６１は「０」にリセットされる。このリセット直前の水平カウンタは「５」でありライン判定閾値（５）以上であるため、ライン判定部７１は、リセットしたカウンタ値カウント値「１」〜「５」に対応する画素（座標（2,3）〜（6,3）の各画素）からなる画像を水平方向に伸びるライン画像であると判定する。
【０１３２】
また、座標（2,3）〜（6,3）には黒画素が存在するので、列カウンタ６２＿２〜６２＿６がインクリメントされる。ただし、座標（2,4）,（3,4）,（5,4）,（6,4）では黒画素が存在しないため、列カウンタ６２＿２、６２＿３、６２＿５、６２＿６は「０」にリセットされる。ライン判定部７１は、これら各列カウンタにおけるリセット直前のカウンタ値は「１」でありライン判定閾値（５）より小さいため、上記のカウンタ値「１」に対応する各画素についてはライン画像ではないと判定する。
【０１３３】
その後、同様の手順で各画素を走査していくと、座標（8,6）ではリセット前の水平カウンタ値は「７」でありライン判定閾値（５）以上であるため、リセットしたカウンタ値カウント値「１」〜「７」に対応する各画素（座標1,6）〜（7,6））が水平方向のライン画像と判定される。
【０１３４】
また、座標（4,7）ではリセット直前の列カウンタ６２＿４のカウンタ値は「６」でありライン判定閾値（５）以上であるため、リセットしたカウンタ値カウント値「１」〜「６」に対応する各画素（座標（4,1）〜（4,6））が垂直方向のライン画像と判定される。
【０１３５】
その後、交点抽出部７２では、水平方向および垂直方向の両方においてライン画像の一部であると判定された画素を交点として抽出し、抽出した交点を特徴点として特徴量算出部３２に出力する。なお、互いに隣接する複数の画素が交点として抽出された場合、交点抽出部７２は、これら複数の画素の中心座標、重心座標、あるいは複数画素からなる領域に含まれる所定の位置（例えば左上）の座標を算出し、算出結果を特徴点として特徴量算出部３２に出力する。
【０１３６】
図１５は、図１３に示した画像データについての水平方向および垂直方向のライン画像の抽出結果、および交点の抽出結果を示す説明図である。この図に示すように、図１３の画像データの場合、座標（4,3）,（4,6）が水平方向および垂直方向の両方向においてライン画像と判定されており、これら両座標が交点として抽出される。
【０１３７】
次に、図１２に示した交点算出部４５において行われる斜め２方向のライン画像の抽出処理および交点の抽出処理について説明する。
【０１３８】
第１ラベリング部６３は、２値化された画像データにおける黒画素に対して左上から右下に向かって各画素を走査したときに、各画素が黒画素であるか否かと、隣接する画素（左隣の画素および上隣の画素）に割り付けているラベルとに応じて当該各画素のラベル付けを行い、ラベルの割り付け結果を第１ラベル履歴テーブル６６に記憶させる。なお、上記のラベル付けを行う際、第１ラベリング部６３は、隣接する画素に割り付けているラベルを第１ラベル履歴テーブル６６に記憶させておいた情報に基づいて判断する。また、第１ラベリング部６３は、ラベル付けを行った各画素（ラベルが「０」以外である各画素）について、各画素の座標と各画素に割り付けたラベルとを対応付けて図示しない記憶部に記憶させる。ラベル付け方法の詳細については後述する。
【０１３９】
第１斜めカウンタ６４は、第１ラベルカウンタ６５と第１ラベル履歴テーブル６６とを備えている。
【０１４０】
第１ラベル履歴テーブル６６は、第１ラベリング部６３によって各画素に割り付けられたラベルを列毎（ｘ座標毎）に記憶する。なお、本実施形態では、各画素にラベルを割り付ける毎に、当該画素に対応する列のラベルを更新するようになっている。つまり、第１ラベル履歴テーブル６６には注目画素の上隣のラインにおける注目画素の上隣の画素から右側の各画素、および注目画素を含むラインにおける左端の画素から注目画素の左隣の画素までの合計１水平ライン分のラベルが格納されている。そして、注目画素を含む列に割り付けていたラベル（注目画素の上隣の画素に割り付けていたラベル）を注目画素に対して割り付けたラベルに更新するようになっている。これにより、全画素に割り付けたラベルを記憶する場合に比べて、ライン判定の精度を低下させることなく、第１ラベル履歴テーブル６６に要求される記憶容量を低減できるようになっている。また、注目画素の左隣および上隣の画素のラベルを容易かつ迅速に抽出できる。
【０１４１】
第１ラベルカウンタ６５は、各ラベルが割り付けられた回数をラベル毎にカウントする。そして、制御部７は、全画素に対する走査が完了したときに、各ラベルと各ラベルのカウント値とを第１ラベルカウンタ６５からライン判定部７１に出力させる。
【０１４２】
第２ラベリング部６７は、２値化された画像データにおける黒画素に対して右上から左下に向かって各画素を走査したときに、各画素が黒画素であるか否か、および隣接する画素（右隣の画素および上隣の画素）に割り付けているラベルに応じて当該各画素のラベル付けを行い、ラベルの割り付け結果を第２ラベル履歴テーブル７０に記憶させる。なお、上記のラベル付けを行う際、第２ラベリング部６７は、隣接する画素に割り付けているラベルを第２ラベル履歴テーブル７０に記憶させておいた情報に基づいて判断する。また、第２ラベリング部６７は、ラベル付けを行った各画素（ラベルが「０」以外である各画素）について、各画素の座標と各画素に割り付けたラベルとを対応付けて図示しない記憶部に記憶させる。ラベル付け方法の詳細については後述する。
【０１４３】
第２斜めカウンタ６８は、第２ラベルカウンタ６９と第２ラベル履歴テーブル７０とを備えている。
【０１４４】
第２ラベル履歴テーブル７０は、第２ラベリング部６７によって各画素に割り付けられたラベルを列毎（ｘ座標毎）に記憶する。なお、本実施形態では、各画素にラベルを割り付ける毎に、当該画素に対応する列のラベルを更新するようになっている。これにより、全画素に割り付けたラベルを記憶する場合に比べて、ライン判定の精度を低下させることなく、第２ラベル履歴テーブル７０に要求される記憶容量を低減できるようになっている。また、注目画素の右隣および上隣の画素のラベルを容易かつ迅速に抽出できる。
【０１４５】
第２ラベルカウンタ６９は、各ラベルが割り付けられた回数をラベル毎にカウントする。そして、制御部７は、全画素に対する走査が完了したときに、各ラベルと各ラベルのカウント値とを第２ラベルカウンタ６９からライン判定部７１に出力させる。
【０１４６】
ライン判定部７１は、第１斜めカウンタ６４から入力されたカウンタ値が閾値（例えば５）以上である場合に、このカウンタ値に対応するラベルに対応する各画素からなる画像をライン画像と判定する。また、これと同様に、第２斜めカウンタ６８から入力されたカウンタ値が閾値（例えば５）以上である場合に、このカウンタ値に対応するラベルに対応する各画素からなる画像をライン画像と判定する。また、ライン判定部７１は、ライン画像であると判定した場合、当該ライン画像を構成する各画素の座標を上記記憶部から読み出して交点抽出部７２に出力する。
【０１４７】
交点抽出部７２は、ライン判定部７１からの入力に基づいて、上記した斜め２方向のライン画像同士の交点を抽出し、抽出した交点を特徴点として特徴量算出部３２に出力する。なお、互いに隣接する複数の画素が交点として抽出された場合、交点抽出部７２は、これら複数画素の中心座標、重心座標、あるいは複数画素からなる領域に含まれる所定の位置（例えば左上）の座標を特徴点とする。
【０１４８】
次に、第１ラベリング部６３におけるラベル付け方法について説明する。第１ラベリング部６３は、以下のルールに基づいて各画素のラベル付けを行う。
（１）注目画素が黒画素であって、注目画素の左隣の画素に対してラベル付けされている場合（左隣の画素のラベルが「０」ではない場合）、この左隣の画素と同じラベルを割り付ける。例えば、図１６（ａ）に示すように注目画素の左隣の画素のラベルが「１」、注目画素の上隣の画素のラベルが「２」であった場合、注目画素のラベルは「１」となる。
（２）注目画素が黒画素であって、注目画素の左隣の画素に対してラベル付けされておらず（左隣の画素のラベルが「０」であり）、注目画素の上隣の画素に対してラベル付けされている場合、この上隣の画素と同じラベルを割り付ける。例えば、図１６（ｂ）に示すように注目画素の左隣の画素のラベルが「０」、注目画素の上隣の画素のラベルが「２」であった場合、注目画素のラベルは「２」となる。
（３）注目画素が黒画素であって、注目画素の左隣の画素および上隣の画素がいずれもラベル付けされていない場合、当該注目画素に対して新規のラベルを割り付ける。したがって、図１６（ｃ）に示すように注目画素の左隣の画素および上隣の画素のラベルがいずれも「０」であった場合、注目画素にはそれまでの走査（左上から右下に向かう走査）において他の画素に割り付けられていない新たなラベルが割り付けられる。
（４）注目画素が黒画素ではない場合、当該注目画素のラベルを「０」とする。
【０１４９】
なお、第２ラベリング部６７におけるラベル付け方法は、右上から左下に向かって各画素を走査する点、および上記（１）〜（４）における「左隣」を「右隣」に変更する点以外は第１ラベリング部６３におけるラベル付け方法と同様である。
【０１５０】
したがって、右上から左下への走査時には、例えば図１７（ａ）に示すように注目画素の右隣の画素のラベルが「１」、注目画素の上隣の画素のラベルが「２」であった場合、注目画素のラベルは「１」となる。また、例えば、図１７（ｂ）に示すように注目画素の右隣の画素のラベルが「０」、注目画素の上隣の画素のラベルが「２」であった場合、注目画素のラベルは「２」となる。また、図１７（ｃ）に示すように注目画素の左隣の画素および上隣の画素のラベルがいずれも「０」であった場合、注目画素にはそれまでの走査（右上から左下に向かう走査）において他の画素に割り付けられていない新たなラベルが割り付けられる。
【０１５１】
次に、斜め方向についてのライン画像の抽出処理および交点の抽出処理について、図１８に示す画像データに対する処理を例としてより詳細に説明する。
【０１５２】
まず、左上から右下に向かって走査するときのラベル付け方法について、図１９を参照しながら説明する。図１９は、左上から右下に向かって走査するときのラベル付けの手順を示す説明図である。
【０１５３】
まず、走査開始時には第１ラベルカウンタ６５および第１ラベル履歴テーブル６６を「０」に初期化する。その後、左上から右下方向へ（座標（0,0）→（1,0）→（2,0）→・・・→（8,0）→（0,1）→（1,1）→・・・の順に）走査していく。
【０１５４】
座標（6,1）となるまでは黒画素が存在しないため第１ラベルカウンタ６５および第１ラベル履歴テーブル６６に格納されている情報は全て初期値「０」のままである。
【０１５５】
座標（6,1）では黒画素が存在するためラベル付けを行う。ここでは、左隣の画素のラベル（第１ラベル履歴テーブル６６におけるｘ＝５の値）と上隣の画素のラベル（第１ラベル履歴テーブル６６におけるｘ＝６の更新前の値）が共に「０」であり、それまでのいずれの画素にもラベルが割り付けられていないので、第１ラベリング部６３は、座標（6,1）の画素に対して新規ラベル（ラベル「１」）を割り付ける。また、座標（6,1）と座標（6,1）の画素に割り付けたラベル「１」とを対応付けて図示しない記憶部に記憶させる。また、ラベル「１」のラベルカウンタを「１」にインクリメントする。また、第１ラベル履歴テーブル６６におけるｘ＝６のラベルを「１」に更新する。
【０１５６】
次の座標（7,1）においても黒画素が存在するためラベル付けを行う。ここでは、左隣の画素のラベル（第１ラベル履歴テーブル６６におけるｘ＝６の値）が「０」でないため、第１ラベリング部６３は、座標（7,1）の画素に対して左隣の画素のラベルと同じラベル（ラベル「１」）を割り付ける。また、座標（7,1）と座標（7,1）の画素に割り付けたラベル「１」とを対応付けて図示しない記憶部に記憶させる。また、ラベル「１」のラベルカウンタを「２」にインクリメントする。また、第１ラベル履歴テーブル６６におけるｘ＝７のラベルを「１」に更新する。
【０１５７】
同様の手順で走査を続けると、座標（2,2）で新規ラベル（ラベル「２」）が割り付けられ、座標（2,2）と座標（2,2）の画素に割り付けたラベル「２」とが対応付けられて図示しない記憶部に記憶され、ラベル「２」のラベルカウンタが「１」にインクリメントされ、第１ラベル履歴テーブル６６におけるｘ＝２のラベルが「１」に更新される。また、座標（3,2）では、ラベル「２」が割り付けられ、座標（3,2）と座標（3,2）の画素に割り付けたラベル「２」とが対応付けられて図示しない記憶部に記憶され、ラベル「２」のラベルカウンタが「２」にインクリメントされ、第１ラベル履歴テーブル６６におけるｘ＝３のラベルが「２」に更新される。
【０１５８】
また、座標（5,2）では新規ラベル（ラベル「３」）が割り付けられ、座標（5,2）と座標（5,2）の画素に割り付けたラベル「３」とが対応付けられて図示しない記憶部に記憶され、ラベル「３」のラベルカウンタが「１」にインクリメントされ、第１ラベル履歴テーブル６６におけるｘ＝５のラベルが「１」に更新される。また、座標（6,2）では、ラベル「３」が割り付けられ、座標（6,2）と座標（6,2）の画素に割り付けたラベル「３」とが対応付けられて図示しない記憶部に記憶され、ラベル「３」のラベルカウンタが「２」にインクリメントされ、第１ラベル履歴テーブル６６におけるｘ＝６のラベルが「３」に更新される。
【０１５９】
また、座標（3,3）では、黒画素であり、左隣の画素のラベル（第１ラベル履歴テーブル６６におけるｘ＝２の値）が「０」であり、上隣の画素のラベル（第１ラベル履歴テーブル６６におけるｘ＝３の更新前の値）が「２」なので、ラベル「２」が割り付けられ、座標（3,3）と座標（3,3）の画素に割り付けたラベル「２」とが対応付けられて図示しない記憶部に記憶され、ラベル「２」のラベルカウンタが「３」にインクリメントされ、第１ラベル履歴テーブル６６におけるｘ＝３のラベルが「２」に更新される。
【０１６０】
以下、右下の画素（座標（8,6））まで同様に走査およびラベル付けを行う。そして、右下の画素（座標（8,6））まで走査およびラベル付けが完了すると、制御部７は、第１斜めカウンタ６４からライン判定部７１に各ラベルと各ラベルのカウント値とを出力させる。
【０１６１】
次に、右上から左下に向かって走査するときのラベル付け方法について、図２０を参照しながら説明する。図２０は、右上から左下に向かって走査するときのラベル付けの手順を示す説明図である。
【０１６２】
まず、走査開始時には第２ラベルカウンタ６９および第２ラベル履歴テーブル７０を「０」に初期化する。その後、右上から左下方向へ（座標（8,0）→（7,0）→（6,0）→・・・→（0,0）→（8,1）→（7,1）→・・・の順に）走査していく。
【０１６３】
座標（7,1）となるまでは黒画素が存在しないため第１ラベルカウンタ６５および第１ラベル履歴テーブル６６に格納されている情報は全て初期値「０」のままである。
【０１６４】
座標（7,1）では黒画素が存在するためラベル付けを行う。ここでは、右隣の画素のラベル（第２ラベル履歴テーブル７０におけるｘ＝８の値）と上隣の画素のラベル（第２ラベル履歴テーブル７０におけるｘ＝７の更新前の値）が共に「０」であり、それまでのいずれの画素にもラベルが割り付けられていないので、第２ラベリング部７６は、座標（7
,1）の画素に対して新規ラベル（ラベル「１」）を割り付ける。また、制御部７は、座標（7,1）と座標（7,1）の画素に割り付けたラベル「１」とを対応付けて図示しない記憶部に記憶させる。また、ラベル「１」のラベルカウンタを「１」にインクリメントする。また、第２ラベル履歴テーブル７０におけるｘ＝７のラベルを「１」に更新する。
【０１６５】
以下、同様にして、黒画素に対して、右隣の画素のラベル、上隣の画素のラベル、それまでに割り付けたラベルに応じて各画素にラベルを割り付けるとともに、第２ラベル履歴テーブル７０における当該各画素を含む列のラベルを更新していく。また、各ラベルを割り付ける毎に当該ラベルのラベルカウンタ値をインクリメントしていく。また、ラベル付けを行った各画素（ラベルが「０」以外である各画素）について、各画素の座標と各画素に割り付けたラベルとを対応付けて図示しない記憶部に記憶させていく。
【０１６６】
そして、左下の画素（座標（0,6））まで走査およびラベル付けが完了すると、制御部７は、第２斜めカウンタ６８からライン判定部７１に各ラベルと各ラベルのカウント値とを出力させる。
【０１６７】
図２１は、図１８に示した画像データについての斜め２方向のライン画像の抽出結果、および交点の抽出結果を示す説明図である。この図に示すように、図１８の画像データの場合、左上から右下への走査では、５種類のラベル（ラベル「１」〜「５」）が割り付けられる。また、各ラベルのカウント値は、ラベル「１」，「３」，「４」，「５」が「２」、ラベル「２」が「７」となる。したがって、この場合、ライン判定部７１は、カウント値が閾値「５」以上であるラベル「２」に対応する画素からなる画像をライン画像と判定する。そして、ライン判定部７１は、ライン画像であると判定した場合、当該ライン画像を構成する各画素の座標を上記記憶部から読み出して交点抽出部７２に出力する。
【０１６８】
右上から左下への走査では、図２１に示すように、３種類のラベル（ラベル「１」〜「３」）が割り付けられる。また、各ラベルのカウント値は、ラベル「２」，「３」が「２」、ラベル「１」が「１１」となる。したがって、この場合、ライン判定部７１は、カウント値が閾値「５」以上であるラベル「１」に対応する画素からなる画像をライン画像と判定する。そして、ライン判定部７１は、ライン画像であると判定した場合、当該ライン画像を構成する各画素の座標を上記記憶部から読み出して交点抽出部７２に出力する。
【０１６９】
そして、交点抽出部７２は、左上から右下への走査および右上から左下への走査の両方においてライン画像であると判定された画素の座標（3,3）,（4,3）,（5,3）の中心座標である座標（4,3）を交点として算出する。また、交点抽出部７２は、算出した交点を特徴点として特徴量算出部３２に出力する。
【０１７０】
以上のように、本実施形態にかかるデジタルカラー複合機１の文書照合処理部１３では、交点算出部４５が、入力画像データからライン画像（例えば文字や罫線におけるライン部分）を抽出し、ライン画像同士の交点を抽出して特徴点とする。
【０１７１】
このように、ライン画像同士の交点を特徴点とすることで、例えば文字が少ない原稿から読み取った入力画像データの場合であっても多数の特徴点を抽出することができるので、入力画像データを適切に特定することができ、類似性判定処理（照合処理）の精度を向上させることができる。
【０１７２】
また、ライン画像の抽出とライン画像同士の交点の算出とを行うだけで特徴点を算出できるので、入力画像データから文字，文字列枠，枠，枠を示す直線などを抽出し、抽出した複数種類の要素について類似性判定処理を行う構成に比べて、特徴点算出処理にかかるアルゴリズムを簡略化するとともに、処理時間を短縮できる。
【０１７３】
なお、本実施形態では、図１２に示した交点算出部４５において、左上から右下、および右上から左下への走査を行って各画素にラベル付けを行い、同一ラベルを付された画素の数に応じてライン画像を判定する構成について説明したが、ライン画像の検出方法はこれに限るものではない。
【０１７４】
例えば、左上から右下、および右上から左下への走査を行う際、各画素のラベル付けを上述した方法で行うとともに、ラベルの種類ごとにその開始座標と終了座標を記憶しておき、各ラベルについての開始座標と終了座標とを用いてライン画像の検出を行うようにしてもよい。図２２は、この場合の交点算出部４５の構成を示すブロック図であり、図１２に示した交点算出部４５に代えて文書照合処理部１３に備えられる。
【０１７５】
図２２に示す交点算出部４５は、図１２に示した交点算出部４５における第１斜めカウンタ６４に代えて第１ラベル付け情報記憶部６４ｂを備えており、第２斜めカウンタ６８に代えて第２ラベル付け情報記憶部６８ｂを備えている。
【０１７６】
第１ラベル付け情報記憶部６４ｂは、第１ラベル開始終了座標格納部６５ｂと第１ラベル履歴テーブル６６とを備えている。第１ラベル開始終了座標格納部６５ｂは、第１ラベリング部６３による各画素へのラベル割り付け結果に基づいて、ラベルの種類毎にその開始座標と終了座標とを記憶するものである。第１ラベル履歴テーブル６６は図１２で説明した機能と略同様の機能を有する。
【０１７７】
第２ラベル付け情報記憶部６８ｂは、第２ラベル開始終了座標格納部６９ｂと第２ラベル履歴テーブル７０とを備えている。第２ラベル開始終了座標格納部６９ｂは、第２ラベリング部６７による各画素へのラベル割り付け結果に基づいて、ラベルの種類毎にその開始座標と終了座標とを記憶するものである。第２ラベル履歴テーブル７０は図１２で説明した機能と略同様の機能を有する。
【０１７８】
次に、図２２に示した交点算出部４５によるライン画像の抽出処理および交点の抽出処理について説明する。
【０１７９】
第１ラベリング部６３は、上述したラベル付け方法でラベル付け処理を行っていく。その際、各画素にラベルを付す毎に、ラベルの割り付け結果を第１ラベル履歴テーブル６６に記憶させるとともに、第１ラベル開始終了座標格納部６５ｂに記憶させている当該ラベルの開始座標および終了座標を更新していく。同様に、第２ラベリング部６７は、各画素にラベルを付す毎に、ラベルの割り付け結果を第２ラベル履歴テーブル７０に記憶させるとともに、第２ラベル開始終了座標格納部６９ｂに記憶させている当該ラベルの開始座標および終了座標を更新していく。
【０１８０】
なお、ラベリング時には、ｘ座標およびｙ座標のそれぞれについて各ラベルの最小座標と最大座標を求める。これにより、そのラベルの外接矩形の４点の座標を求めることができる。左上から右下に向かって走査するときは同一ラベルを付された画素からなる画像の外接矩形左上を開始座標、外接矩形右下を終了座標とし、右上から左下に向かって走査するときは同一ラベルを付された画素からなる画像の外接矩形右上を開始座標、外接矩形左下を終了座標とする。
【０１８１】
開始座標および終了座標の更新手順は以下の通りである。
（１）新規ラベル割り付け時は開始座標（ｘｓｔ,ｙｓｔ）、終了座標（ｘｅｎｄ,ｙｅｎｄ）共に現在の座標（ｘｃｒｔ,ｙｃｒｔ）とする。（２）既存ラベルの更新時には以下の条件（ａ）〜（ｄ）および（ｅ）〜（ｈ）に基づいてｘｓｔ，ｙｓｔ，ｘｅｎｄ，ｙｅｎｄをそれぞれ更新する。
【０１８２】
左上から右下に向かって走査する場合、
（ａ）ｘｃｒｔ＜ｘｓｔであればｘｓｔを更新する。
（ｂ）ｙｃｒｔ＜ｙｓｔであればｙｓｔを更新する。
（ｃ）ｘｃｒｔ＞ｘｅｎｄであればｘｅｎｄを更新する。
（ｄ）ｙｃｒｔ＞ｙｅｎｄであればｙｅｎｄを更新する。
【０１８３】
右上から左下に向かって走査する場合、
（ｅ）ｘｃｒｔ＞ｘｓｔであればｘｓｔを更新する。
（ｆ）ｙｃｒｔ＜ｙｓｔであればｙｓｔを更新する。
（ｇ）ｘｃｒｔ＜ｘｅｎｄであればｘｅｎｄを更新する。
（ｈ）ｙｃｒｔ＞ｙｅｎｄであればｙｅｎｄを更新する。
【０１８４】
次に、図２２に示した交点算出部４５による斜め方向についてのライン画像の抽出処理および交点の抽出処理について、図２３に示す画像データに対する処理を例としてより詳細に説明する。
【０１８５】
図２４は、図２３に示した画像に対して左上から右下に向かって走査するときのラベル付けの手順を示す説明図である。この図を参照しながら、まず左上から右下への走査時の処理について説明する。
【０１８６】
まず、走査開始時には第１ラベル履歴テーブル６６を「０」に初期化する。その後、左上から右下方向へ（座標（０,０）→（１,０）→（２,０）→・・・→（１１,０）→（０,１）→（１,１）→・・・の順に）走査していく。
【０１８７】
座標（７,１）となるまでは黒画素が存在しないため第１ラベル履歴テーブル６６に格納されている情報は全て初期値「０」のままである。
【０１８８】
座標（７,１）では黒画素が存在するためラベル付けを行う。ここでは、左隣の画素のラベル（第１ラベル履歴テーブル６６におけるｘ＝６の値）と上隣の画素のラベル（第１ラベル履歴テーブル６６におけるｘ＝７の更新前の値）が共に「０」であり、それまでのいずれの画素にもラベルが割り付けられていないので、第１ラベリング部６３は、座標（７,１）の画素に対して新規ラベル（ラベル「１」）を割り付ける。また、座標（７,１）と座標（７,１）の画素に割り付けたラベル「１」とを対応付けて図示しない記憶部に記憶させる。また、ラベル「１」の開始座標を（７,１）、終了座標を（７,１）にする。すなわち、ｘｓｔ＝７，ｙｓｔ＝１，ｘｅｎｄ＝７，ｙｅｎｄ＝１に設定する。また、第１ラベル履歴テーブル６６におけるｘ＝７のラベルを「１」に更新する。
【０１８９】
次の座標（８,１）においても黒画素が存在するためラベル付けを行う。ここでは、左隣の画素のラベル（第１ラベル履歴テーブル６６におけるｘ＝７の値）が「０」でないため、第１ラベリング部６３は、座標（８,１）の画素に対して左隣の画素のラベルと同じラベル（ラベル「１」）を割り付ける。また、座標（８,１）と座標（８,１）の画素に割り付けたラベル「１」とを対応付けて図示しない記憶部に記憶させる。また、上記式（ｃ）を満たすため、ラベル「１」の終了座標を（８,１）に更新する。すなわち、ｘｅｎｄの値を８に更新する。また、第１ラベル履歴テーブル６６におけるｘ＝８のラベルを「１」に更新する。
【０１９０】
座標（９,１），（１０,１）についても同様の処理を行うことにより、これら各座標にラベル「１」が割り付けられ、座標（９,１）（１０,１）の画素に割り付けたラベル「１」とを対応付けて図示しない記憶部に記憶させる。また、座標（１０，１）のラベル付け時には、上記式（ｃ）を満たすためラベル「１」の終了座標が（１０,１）に更新される（座標（９,１）の時点でも更新されているが座標（１０,１）の情報で上書きされている）。また、第１ラベル履歴テーブル６６におけるｘ＝９、１０のラベルを「１」に更新する。
【０１９１】
同様の手順で走査を続けると、座標（２,２）で新規ラベル（ラベル「２」）が割り付けられ、座標（２,２）と座標（２,２）の画素に割り付けたラベル「２」とが対応付けられて図示しない記憶部に記憶され、ラベル「２」の開始座標が（２,２）、終了座標が（２,２）にされ、第１ラベル履歴テーブル６６におけるｘ＝２のラベルが「２」に更新される。
【０１９２】
また、座標（３,２）ではラベル「２」が割り付けられ、座標（３,２）と座標（３,２）の画素に割り付けたラベル「２」とが対応付けられて図示しない記憶部に記憶され、上記式（ｃ）を満たすためラベル「２」の終了座標が（３,２）に更新され、第１ラベル履歴テーブル６６におけるｘ＝３のラベルが「２」に更新される。
【０１９３】
同様に、座標（４,２）にはラベル「２」が割り付けられ、座標（４，２）と座標（４,２）の画素に割り付けたラベル「２」とが対応付けられて図示しない記憶部に記憶される。また、上記式（ｃ）を満たすためラベル「２」の終了座標が（４,２）に更新される。また、第１ラベル履歴テーブル６６におけるｘ＝４のラベルが「２」に更新される。
【０１９４】
また、座標（６,２）では新規ラベル（ラベル「３」）が割り付けられ、座標（６,２）と座標（６,２）の画素に割り付けたラベル「３」とが対応付けられて図示しない記憶部に記憶され、ラベル「３」の開始座標が（６,２）、終了座標が（６,２）にされ、第１ラベル履歴テーブル６６におけるｘ＝６のラベルが「３」に更新される。
【０１９５】
座標（７,２）〜（１０,２）についても同様の処理が実行され、これら各座標にはラベル「３」が割り付けられ、座標（７,２）〜（１０,２）の画素に割り付けたラベル「３」とを対応付けて図示しない記憶部に記憶させる。また、ラベル「３」の終了座標は座標（１０，２）に対する処理時に（１０,２）に更新される（座標（７,２）〜（９,２）の時点でも更新されているが座標（１０,２）の情報で上書きされる）。また、第１ラベル履歴テーブル６６におけるｘ＝７〜１０のラベルが「３」に更新される。
【０１９６】
また、座標（３,３）では、黒画素であり、左隣の画素のラベル（第１ラベル履歴テーブル６６におけるｘ＝２の値）が「０」であり、上隣の画素のラベル（第１ラベル履歴テーブル６６におけるｘ＝３の更新前の値）が「２」なので、ラベル「２」が割り付けられ、座標（３,３）と座標（３,３）の画素に割り付けたラベル「２」とが対応付けられて図示しない記憶部に記憶され、上記式（ｄ）を満たすためラベル「２」の終了座標が（４,３）に更新される。また、第１ラベル履歴テーブル６６におけるｘ＝３のラベルが「２」に更新される。
【０１９７】
座標（４,３）〜（８,３）についても同様の処理が実行され、これら各座標にはラベル「２」が割り付けられ、座標（４,３）〜（８,３）と座標（４,３）〜（８,３）の画素に割り付けたラベル「２」とが対応付けられて図示しない記憶部に記憶される。また、上記式（ｃ）を満たすためラベル「２」の終了座標が（８,３）に更新される（座標（５,３）〜（７,３）の時点でも更新されているが座標（８,３）の情報で上書きされる）。また、第１ラベル履歴テーブル６６におけるｘ＝４〜８のラベルが「２」に更新される。
【０１９８】
以下、右下の画素（座標（１１,８））まで同様に走査およびラベル付けを行う。そして、右下の画素（座標（１１,８））まで走査およびラベル付けが完了すると、制御部７は、各ラベルと各ラベルの開始座標および終了座標とを第１ラベル付け情報記憶部６４ｂからライン判定部７１に出力させる。
【０１９９】
次に、右上から左下への走査時のラベル付け処理について図２５を参照しながら説明する。図２５は、図２３に示した画像に対して右上から左下に向かって走査するときのラベル付けの手順を示す説明図である。
【０２００】
まず、走査開始時には第２ラベル履歴テーブル７０を「０」に初期化する。その後、右上から左下方向へ（座標（１１,０）→（１０,０）→（９,０）→・・・→（０,０）→（１１,１）→（１０,１）→・・・の順に）走査していく。
【０２０１】
座標（１０,１）となるまでは黒画素が存在しないため第２ラベル履歴テーブル７０に格納されている情報は全て初期値「０」のままである。
【０２０２】
座標（１０,１）では黒画素が存在するためラベル付けを行う。ここでは、右隣の画素のラベル（第２ラベル履歴テーブル７０におけるｘ＝１１の値）と上隣の画素のラベル（第２ラベル履歴テーブル７０におけるｘ＝１０の更新前の値）が共に「０」であり、それまでのいずれの画素にもラベルが割り付けられていないので、第２ラベリング部７６は、座標（１０,１）の画素に対して新規ラベル（ラベル「１」）を割り付ける。また、制御部７は、座標（１０,１）と座標（１０,１）の画素に割り付けたラベル「１」とを対応付けて図示しない記憶部に記憶させる。また、ラベル「１」の開始座標を（１０,１）、終了座標を（１０,１）にする。また、第２ラベル履歴テーブル７０におけるｘ＝１０のラベルを「１」に更新する。
【０２０３】
以下、同様にして、黒画素に対して、右隣の画素のラベル、上隣の画素のラベル、それまでに割り付けたラベルに応じて各画素にラベルを割り付けるとともに、第２ラベル履歴テーブル７０における当該各画素を含む列のラベルを更新していく。また、各ラベルを割り付ける毎に当該ラベルの開始座標および終了座標を更新していく。また、ラベル付けを行った各画素（ラベルが「０」以外である各画素）について、各画素の座標と各画素に割り付けたラベルとを対応付けて図示しない記憶部に記憶させていく。
【０２０４】
そして、左下の画素（座標（０,８））まで走査およびラベル付けが完了すると、制御部７は、各ラベルと各ラベルの開始／終了座標とを第２ラベル付け情報記憶部６８ｂからライン判定部７１に出力させる。
【０２０５】
次に、ライン判定部７１におけるライン判定処理および交点抽出部７２における交点抽出処理について図４６を参照しながら説明する。図４６は、図２３に示した画像データ、この画像データに対するラベル付け結果、ライン判定結果、および交点抽出結果を示す説明図である。
【０２０６】
図４６に示すように、図２３の画像データの場合、左上から右下への走査では、５種類のラベル（ラベル「１」〜「５」）が割り付けられる。
【０２０７】
ライン判定部７１は、各ラベルの開始座標（ｘｓｔ,ｙｓｔ）と終了座標（ｘｅｎｄ,ｙｅｎｄ）の距離ｄをｄ＝√（（ｘｓｔ−ｘｅｎｄ）２＋（ｙｓｔ−ｙｅｎｄ）２）に基づいて算出する。図４６の例では、各ラベルについての距離ｄは、ラベル「１」が「３」，ラベル「２」が「８．９４」,「３」が「４」，「４」が「２」，「５」が「３．１６」となる。
【０２０８】
また、ライン判定部７１は、上記のように算出した各ラベルについての距離ｄと予め設定された閾値（本実施形態では「８」）とを比較し、距離ｄが閾値以上であるラベルに対応する各画素からなる画像をライン画像であると判定する。図４６の例ではラベル「２」に対応する画素からなる画像がライン画像と判定される。
【０２０９】
そして、ライン判定部７１は、ライン画像であると判定した場合、当該ライン画像を構成する各画素の座標を上記記憶部から読み出して交点抽出部７２に出力する。
【０２１０】
右上から左下への走査では、図４６に示すように、４種類のラベル（ラベル「１」〜「４」）が割り付けられる。また、各ラベルについての距離ｄは、ラベル「１」が「１０．８２」，ラベル「２」が「２」,「３」が「２」，「４」が「２」となる。したがって、この場合、ライン判定部７１は、距離ｄが閾値「８」以上であるラベル「１」に対応する画素からなる画像をライン画像と判定する。そして、ライン判定部７１は、ライン画像であると判定した場合、当該ライン画像を構成する各画素の座標を上記記憶部から読み出して交点抽出部７２に出力する。
【０２１１】
交点抽出部７２は、左上から右下への走査および右上から左下への走査の両方においてライン画像であると判定された画素の中心座標をライン画像同士の交点として算出する。なお、中心座標の算出は、例えばｘ座標およびｙ座標の平均値をそれぞれ算出し、小数点以下を四捨五入することによって算出すればよい。これにより、図４６の例では、左上から右下への走査および右上から左下への走査の両方においてライン画像であると判定された画素として座標（３,３）〜（８,３）、（４,４）〜（８,４）が抽出され、これら各画素の中心座標である座標（６,３）がライン画像同士の交点として算出される。
【０２１２】
図４７は、斜め方向のライン画像の検出処理に関し、ラベルカウント値を用いてライン画像を検出する場合と、ライン画像の開始座標から終了座標までの距離を用いてライン画像を検出する場合との検出結果の違いを示す説明図である。
【０２１３】
図４７の上段は、図２３と同じ画像について、ラベルカウント値を用いてライン画像を検出した結果、およびライン画像の開始座標から終了座標までの距離を用いてライン画像を検出した結果を示している。図４７の上段右側に示したように、この場合、ラベル１のラベルカウント値は３０、開始座標から終了座標までの距離は１０.８２となる。
【０２１４】
一方、図４７の下段は、図２３の画像におけるライン画像部分を全体的に細くした画像について、ラベルカウント値を用いてライン画像を検出した結果、およびライン画像の開始座標から終了座標までの距離を用いてライン画像を検出した結果を示している。図４７の下段右側に示したように、この場合、ラベル１のラベルカウント値は２０、開始座標から終了座標までの距離は１０.８２となる。
【０２１５】
このようにラベルカウント値を用いてライン画像の検出を行う場合、ラインの太さが太いほどラベルカウント値が増加するため、ライン画像の長さが同じ場合であっても太さによってラベルカウント値が増減する。このため、例えば図４７に示した例の場合、ラベルカウント値の閾値が２０と３０の間（例えば２５）であれば、線の太さによってライン検出結果が変わることになる。
【０２１６】
一方、ライン画像の開始座標から終了座標までの距離を用いてライン画像の検出を行う場合、ライン画像の太さが異なっていてもライン画像の長さが同じであれば開始座標から終了座標までの距離は略一定になる。
【０２１７】
したがって、ライン画像の太さに依存せずにライン画像の判定を行いたい場合には、ライン画像の開始座標から終了座標までの距離を用いてライン画像の検出を行うことが好ましい。
【０２１８】
なお、上述の例では、交点抽出部７２が、左上から右下への走査および右上から左下への走査の両方においてライン画像であると判定された画素の中心座標をライン画像同士の交点とするものとしたが、交点の抽出方法はこれにかぎるものではない。
【０２１９】
例えば、図５１に示すように、左上から右下への走査において検出されたライン画像の開始座標および終了画像からこのライン画像の直線（線分）の式を算出し、右上から左下への走査において検出されたライン画像についても同様に開始座標および終了画像からこのライン画像の直線（線分）の式を算出し、これら２つの直線（線分）の式に基づいて交点の座標を算出するようにしてもよい。
【０２２０】
具体的には、図５１に示すように、図２３の画像の場合、左上から右下への走査時においてラインと判定されたラベル「２」の開始座標は（２,２）、終了座標は（１０,６）であるから、この２点間の直線（線分）の式は以下のようになる。
ｙ＝ｘ／２＋１（ただし、２≦ｘ≦１０,２≦ｙ≦６）
また、右上から左下への走査時においてラインと判定されたラベル「１」の開始座標は（１０,１）、終了座標は（１,７）であることから、この２点間の直線（線分）の式は以下のようになる。
ｙ＝−２ｘ／３＋２３／３（ただし、１≦ｘ≦１０，１≦ｙ≦７）
これら２つの直線（線分）の式から交点を求めると、（４０／７，２７／７）≒（５.７１,３.８６）となり、小数点以下を四捨五入すると交点座標は（６,４）となる。
【０２２１】
なお、水平方向のライン画像と垂直方向のライン画像との交点を算出する場合にも、斜め方向のライン画像同士の交点を算出する場合と同様、両ライン画像の直線の式を算出し、これら２つの直線の式に基づいて両直線の交点を算出し、算出した交点に対応する座標を両ライン画像の交点とするようにしてもよい。
【０２２２】
また、本実施形態では、２値化処理部４４によって２値化された全ての画素について交点の算出処理を行っているが、これに限るものではない。
【０２２３】
例えば、黒画素の連結領域の面積が所定値以上である場合、あるいは黒画素の連結領域の垂直方向の幅および水平方向の幅が所定値以上の場合などには、この連結領域については交点算出処理を行わないようにしてもよい。これにより、例えば、所定範囲以上の領域が黒く塗りつぶされている場合などに、この領域を、例えば局所的な背景（サイズが大きい場合）、あるいは孤立点（サイズが小さい場合）として検出し、交点算出処理から除外できる。
【０２２４】
また、交点算出処理よりも前に入力画像データに対してエッジ検出処理を施すエッジ検出手段を設け、エッジとして検出された画素に対して交点算出処理を行うようにしてもよい。この場合、例えば所定範囲以上の領域が黒く塗りつぶされている場合などであっても、この領域における周縁部から数画素程度の部分をエッジとして検出し、この部分に対してライン検出処理および交点算出処理を施すことができる。エッジ検出手段としては、例えば、注目画素と注目画素に隣接する画素との画素値の絶対値を算出し、算出した絶対値が予め定められている閾値以上の場合にエッジと判定する方法や、ゾーベルフィルタやラプラシアンフィルタの処理結果に閾値処理を施してエッジを抽出する方法等を用いることができる。
【０２２５】
また、本実施形態では、本発明をデジタルカラー複合機１に適用する場合について説明したが、本発明の適用対象はこれに限るものではない。例えば、モノクロの複合機に適用してもよい。また、複合機に限らず、例えば単体のファクシミリ通信装置、複写機、画像読取装置などの画像処理装置に適用してもよい。
【０２２６】
図２６は、本発明をフラットベッドスキャナ（画像読取装置、画像処理装置）１’に適用した場合の構成例を示すブロック図である。
【０２２７】
この図に示すように、フラットベッドスキャナ１’は、カラー画像入力装置２とカラー画像処理装置３’とを備えている。カラー画像処理装置３’は、Ａ／Ｄ変換部１１、シェーディング補正部１２、文書照合処理部１３、制御部７（図２６では図示せず）、メモリ８（図２６では図示せず）から構成されており、これに、カラー画像入力装置２が接続され、全体として画像読取装置１’を構成している。なお、カラー画像入力装置（画像読取手段）２におけるＡ／Ｄ変換部１１、シェーディング補正部１２、文書照合処理部１３、制御部７、メモリ８の機能は、上述したデジタルカラー複合機１と略同様であるのでここでは説明を省略する。
【０２２８】
また、文書照合処理部１３の機能を、画像処理装置と、この画像処理装置に通信可能に接続されたサーバー装置とからなる画像処理システムによって実現してもよい。図２７は、画像処理装置（複合機（ＭＦＰ）Ａ，Ｂ，・・・、プリンタＡ，Ｂ，・・・、ファクシミリＡ，Ｂ，・・・、コンピュータＡ，Ｂ，・・・、デジタルカメラＡ，Ｂ，・・・、スキャナＡ，Ｂ，・・・）と、サーバー装置５０とが通信可能に接続されてなる画像処理システム１００の構成を示す説明図である。なお、画像処理システム１００の構成はこれに限るものではなく、例えば、サーバー装置５０と、複合機、プリンタ（画像形成装置）、ファクシミリ、コンピュータ、デジタルカメラ（画像読取装置）、スキャナ（画像読取装置）のうちのいずれか１つ以上とからなるものであってもよい。
【０２２９】
上記スキャナは、原稿台、光走査部、ＣＣＤ（charge coupled device）等を備えており、原稿台に載置された原稿画像を光走査部によって走査することで原稿画像を読み込んで画像データを生成する。また、上記デジタルカメラは、撮像レンズ、ＣＣＤ等（画像入力装置）を備えており、原稿画像、人物や風景等を撮影して画像データを生成する。なお、上記スキャナおよびデジタルカメラは、画像を適切に再現するために所定の画像処理（例えば各種補正処理等）を施す機能を有していてもよい。上記プリンタは、コンピュータ、スキャナ、デジタルカメラによって生成された画像データに基づく画像をシート（記録用紙）に印刷する。また、上記ファクシミリは、画像入力装置より読み込まれた画像データに対して、２値化処理、解像度変換処理、回転等の処理を行って所定の形式に圧縮した画像データを相手先に送信したり、相手先から送信されてきた画像データを伸張して画像出力装置の性能に応じて回転処理や解像度変換処理、中間調処理を施し、ページ単位の画像として出力したりする。また、上記複合機は、スキャナ機能、ファクシミリ送信機能、印刷機能（複写機能、プリンタ機能）のうちの少なくとも２つ以上を有するものである。また、上記コンピュータは、スキャナやデジタルカメラにより読み込まれた画像データに対して編集を行ったり、アプリケーションソフトウェアを用いて文書の作成を行ったりする。
【０２３０】
画像処理システム１００では、上述した文書照合処理部１３の各部が、サーバー装置５０と、サーバー装置５０にネットワークを介して接続される画像処理装置とに分散して備えられている。そして、画像処理装置とサーバー装置５０とが協働して文書照合処理部１３の機能を実現するようになっている。
【０２３１】
図２８は、文書照合処理部１３が有する機能が、サーバー装置５０とデジタルカラー複合機１とに分散して備えられている場合の一構成例を示すブロック図である。
【０２３２】
図２８に示すように、デジタルカラー複合機１のカラー画像処理装置３は、特徴点算出部３１および特徴量算出部３２を備えた文書照合処理部１３ａと、文書照合処理部１３ａの動作を制御する制御部７ａと、文書照合処理部１３ａの処理に必要な情報を記憶するメモリ８ａと、外部の装置との通信を行う通信装置５とを備えている。また、サーバー装置５０は、外部の装置との通信を行う通信装置５１、投票処理部３３、類似度判定処理部３４、および登録処理部３７を備えた文書照合処理部１３ｂと、文書照合処理部１３ｂを制御する制御部７ｂと、文書照合処理部１３ｂの処理に必要な情報を記憶するメモリ８ｂとを備えている。なお、デジタルカラー複合機１に備えられる各機能ブロックとサーバー装置５０に備えられる各機能ブロックとの間でデータの送受信が必要な場合には、制御部７ａおよび制御部７ｂが通信装置５および５１を制御して適宜データの送受信を行う。その他の機能については上述した構成と同様である。
【０２３３】
また、図２８の例では、特徴量算出部３２の全部（特徴点抽出部３２ａ、不変量算出部３２ｂ、ハッシュ値算出部３２ｃ）がデジタルカラー複合機１に備えられているが、これに限らず、例えば図２９に示すように、特徴点抽出部３２ａおよび不変量算出部３２ｂをデジタルカラー複合機１に備える一方、ハッシュ値算出部３２ｃをサーバー装置５０に備えた構成としてもよい。
【０２３４】
また、特徴量算出部３２の各部をサーバー装置５０に備えておき、特徴点算出部３１の算出した特徴点に関するデータをデジタルカラー複合機１からサーバー装置５０に送信し、サーバー装置５０に備えられる特徴量算出部３２がメモリ８ｂに格納されているハッシュテーブル１０３と受信した特徴点のデータとに基づいてハッシュ値を算出するようにしてもよい。また、特徴点算出部３１および特徴量算出部３２の各部をサーバー装置５０に備えておき、デジタルカラー複合機１からサーバー装置５０に入力画像データを送信し、サーバー装置５０に備えられる特徴点算出部３１および特徴量算出部３２がサーバー装置５０から受信した入力画像データとメモリ８ｂに格納されているハッシュテーブル１０３とに基づいてハッシュ値を算出するようにしてもよい。
【０２３５】
また、上記の説明では、類似性の判定処理を行う場合の例について説明したが、登録処理を行う場合には、サーバー装置５０に備えられる登録処理部３７が、デジタルカラー複合機１から受信した原稿ＩＤとハッシュ値（あるいはサーバー装置５０に備えられるハッシュ値算出部３２ｃが算出したハッシュ値）とをメモリ８ｂに設けられたハッシュテーブル１０３に登録すればよい。なお、類似性判定処理を行うか登録処理を行うかは、デジタルカラー複合機１のユーザが操作パネル６を介して指定し、何れの処理を行うのかを示す信号をサーバー装置５０に送信するようにしてもよく、サーバー装置５０が類似性判定処理の結果、類似なしと判定した入力画像について登録処理を行うようにしてもよい。
【０２３６】
なお、ハッシュ値算出部３２ｃをサーバー装置５０に備える場合、ハッシュテーブル１０３に格納されているハッシュ値の算出方法とは異なる方法で（別のハッシュ関数を用いて）ハッシュ値を算出し、算出したハッシュ値を採用してハッシュテーブル１０３を更新してもよい。これにより、例えば原稿画像の種類等に応じて特徴量（不変量）を参照した適切なハッシュ値をハッシュテーブル１０３に登録（更新）することができ、それを用いて投票処理を行えるので、照合精度（類似性の判定精度）を向上させることができる。
【０２３７】
〔実施形態２〕
本発明の他の実施形態について説明する。なお、説明の便宜上、実施形態１と同様の機能を有する部材について実施形態１と同じ符号を付し、その説明を省略する。
【０２３８】
図３２は、本実施形態にかかるデジタルカラー複合機１に備えられる特徴点算出部３１ｂの概略構成を示すブロック図である。この特徴点算出部３１ｂは、実施形態１における特徴点算出部３１に代えてデジタルカラー複合機１に備えられる。なお、本実施形態にかかるデジタルカラー複合機１の構成は、特徴点算出部の構成が異なる以外は実施形態１におけるデジタルカラー複合機１と略同様である。
【０２３９】
図３２に示すように、特徴点算出部３１ｂは、実施形態１における特徴点算出部３１の構成に加えて、信号変換処理部（無彩化処理部）４１の前段に傾き検知部４７および傾き補正処理部４８を備えている。
【０２４０】
傾き検知部４７は、入力画像の傾き（入力画像データの縦方向・横方向に対する、この入力画像データ中の原稿画像の縦方向・横方向の傾き）を検知する処理を行う。傾きの検知方法は特に限定されるものではなく、従来から公知の種々の方法を用いることができる。
【０２４１】
例えば、図３３に示すように、入力画像データにおけるｘ方向の中心（スキャナで読み取られる領域におけるｘ方向の中心）からｘ方向両側にｗ／２だけ離れた２点で原稿の端部（エッジ）ｅ１，ｅ２、および入力画像データの端部Ｅ１，Ｅ２を検出する。そして、原稿の端部ｅ１から入力画像データのＥ１までのｙ方向に沿った距離ｄ１、原稿の端部ｅ２から入力画像データのＥ２までのｙ方向に沿った距離ｄ２、および原稿の端部ｅ１からｅ２までのｘ方向に沿った距離ｗとに基づいてｔａｎθ＝（ｄ２−ｄ１）／ｗを算出し、傾き角度θを算出する。傾き角度θの算出方法は特に限定されるものではないが、例えば図３４に示すような正接−角度テーブルを用いることによって容易に算出できる。
【０２４２】
なお、原稿のエッジを抽出する方法としては、例えば、図３３に示すようにエッジ計測ウィンド内の輝度値を投影して求める方法を用いることができる。具体的には、図３５に示すように、所定の大きさ（ここではｘ方向２０画素×ｙ方向１５０画素）のエッジ計測ウィンド内の入力画像データに対してエッジ強調フィルタ処理（エッジ強調処理）を施してエッジ強調画像を得る。図３６はエッジ検知用フィルタの一例である。そして、エッジ強調画像に対して、縦方向（ｙ方向）のエッジを検出するために、横方向（ｘ方向）の画素値の合計を求める投影処理を行い、縦方向のピークをとる位置（例えば最小値）を求める。投影処理（ウィンド内におけるｘ方向に並ぶ各画像の輝度値を合計する処理）を行うのは、ノイズの影響を抑えるためである。図３７は投影結果を示すグラフである。
【０２４３】
傾き補正処理部４８は、傾き検知部４７の検出した傾き角度θに基づいて入力画像データにおける原稿の傾きを補正する。傾き補正処理の方法は特に限定されるものではないが、例えば回転行列を用いたアフィン変換処理などを用いることができる。
【０２４４】
一般に、座標（ｘ，ｙ）をθ回転させた座標（ｘ’，ｙ’）は、下記の回転行列式で表すことができる。
【０２４５】
【数１】
0004487000.tif 000002
【０２４６】
画像の画素値として出力する場合には、整数値（ｘ’，ｙ’）に対応する小数値（ｘｓ，ｙｓ）を算出し、これをバイリニア等で補間演算すればよい。小数値（ｘｓ，ｙｓ）は、上記の回転行列式の逆変換式である下記の行列式によって算出される。
【０２４７】
【数２】
0004487000.tif 000003
【０２４８】
ｘ−ｙ座標系において、（ｘｓ，ｙｓ）を取り囲む４点の画素の座標は、図３８に示すように、（ｘｉ，ｙｉ）、（ｘｉ＋１，ｙｉ）、（ｘｉ，ｙｉ＋１）、（ｘｉ＋１，ｙｉ＋１）で表される（ｉ，ｊは１以上の整数）。ここで、ｘｉ≦ｘｓ＜ｘｉ＋１、ｙｊ≦ｙｓ＜ｙｊ＋１である。そして、上記４つの画素の値をそれぞれ（ｘｉ，ｙｉ）：Ｚ１、（ｘｉ＋１，ｙｉ）：Ｚ２、（ｘｉ，ｙｉ＋１）：Ｚ３、（ｘｉ＋１，ｙｉ＋１）：Ｚ４とし、ｘｉとｘｓとのｘ方向についての距離と、ｘｓとｘｉ＋１とのｘ方向についての距離との比をｕ：１−ｕ、ｙｉとｙｓとのｙ方向についての距離と、ｙｓとｙｉ＋１とのｙ方向についての距離との比をｖ：１−ｖすると、バイリニアによる補間後の座標値Ｚは、Ｚ（ｘ’，ｙ’）＝Ｚ（ｘｓ，ｙｓ）＝（１−ｖ）｛（１−ｕ）Ｚ１＋ｕ・Ｚ２｝＋ｖ｛（ｉ−ｕ）Ｚ３＋ｕ・Ｚ４｝で表される。なお、三角比の演算方法については特に限定されるものではないが、例えば上述した図３４の例と同様、テーブルを用いて行ってもよい。
【０２４９】
図３９は、本実施形態にかかるデジタルカラー複合機１における特徴点算出処理の流れを示すフロー図である。
【０２５０】
この図に示すように、シェーディング補正部１２から特徴点算出部３１ｂに画像データが入力されると、傾き検知部４７が入力画像の傾き（傾き角度）検知処理を行い（Ｓ２０ａ）、傾き検知部４７の検出結果に基づいて傾き補正処理部が傾き（傾き角度）補正処理を行う（Ｓ２０ｂ）。その後、信号変換処理部（無彩化処理部）４１による無彩化処理、解像度変換部４２による解像度変換処理、ＭＴＦ処理部４３によるＭＴＦ処理、２値化処理部４４による２値化処理を行った後（いずれも図示せず）、交点算出部４５が図１１と同様の方法によって交点（特徴点）の検出処理を行う（Ｓ２１〜Ｓ２８）。
【０２５１】
以上のように、本実施形態では、傾き検知部４７および傾き補正処理部４８を備えており、入力画像の傾き補正を行った後に交点（特徴点）の抽出を行う。これにより、例えば、入力画像データ中における原稿画像が傾斜している場合（例えば、画像読取装置の読取位置における所定の配置角度に対して原稿が傾斜して配置された状態で読み取られた場合など）でも、傾斜がない場合と同様、特徴点を精度よく抽出することが可能となる。したがって、このように抽出した特徴点に基づいて算出される特徴量に基づいて画像の類似度を算出することにより、入力画像と登録画像との類似性を精度よく判定できる。
【０２５２】
〔実施形態３〕
本発明のさらに他の実施形態について説明する。なお、説明の便宜上、実施形態１，２と同様の機能を有する部材については実施形態１，２と同じ符号を付し、その説明を省略する。
【０２５３】
図４０は、本実施形態にかかるデジタルカラー複合機１に備えられる特徴点算出部３１ｃの概略構成を示すブロック図である。この特徴点算出部３１ｃは、実施形態１における特徴点算出部３１に代えてデジタルカラー複合機１に備えられる。なお、本実施形態にかかるデジタルカラー複合機１の構成は、特徴点算出部の構成が異なる以外は実施形態１におけるデジタルカラー複合機１と略同様である。
【０２５４】
図４０に示すように、特徴点算出部３１ｃは、実施形態１における特徴点算出部３１の構成に加えて、２値化処理部４４の後段に、膨張処理部５２と縮退処理部５３とからなる欠落補正部５４を備えている。
【０２５５】
膨張処理部５２は、注目画素および当該注目画素の周辺画素に含まれる黒画素の数をカウントし、カウント値が閾値（第１閾値）以上である注目画素を黒画素とし、カウント値が閾値未満である注目画素を白画素とする（以下、膨張処理と称する）。上記閾値は特に限定されるものではないが、本実施形態では上記閾値を１とする。
【０２５６】
図４１（ａ）は膨張処理を行う前の画像データの一例を示す説明図であり、図４１（ｂ）は図４１（ａ）の画像データに対して上記閾値を１として膨張処理を施した画像データを示す説明図である。
【０２５７】
縮退処理部５３は、膨張処理後の画像データにおける注目画素および注目画素の周辺画素に含まれる白画素の数をカウントし、カウント値が閾値（第２閾値）以上である注目画素を白画素とし、カウント値が閾値未満である画素を黒画素とする（以下、縮退処理と称する）。上記閾値は特に限定されるものではないが、本実施形態では上記閾値を１とする。
【０２５８】
図４２（ａ）は縮退処理を行う前の画像データの一例（図４１（ｂ）の画像データと同じ）を示す説明図であり、図４２（ｂ）は図４１（ａ）の画像データに対して上記閾値を１として縮退処理を施した画像データを示す説明図である。
【０２５９】
図４３は、本実施形態にかかるデジタルカラー複合機１における特徴点算出処理の流れを示すフロー図である。
【０２６０】
この図に示すように、シェーディング補正部１２から特徴点算出部３１ｃに画像データが入力されると、信号変換処理部（無彩化処理部）４１による無彩化処理、解像度変換部４２による解像度変換処理、ＭＴＦ処理部４３によるＭＴＦ処理、２値化処理部４４による２値化処理を行った後（いずれも図示せず）、膨張処理部５２が入力画像データに対して上記した膨張処理を施し（Ｓ２０ｃ）、縮退処理部５３が膨張処理後の画像データに対して縮退処理を施す（Ｓ２０ｄ）。その後、交点算出部４５が図１１と同様の方法によって交点（特徴点）の検出処理を行う（Ｓ２１〜Ｓ２８）。
【０２６１】
以上のように、本実施形態では、膨張処理部５２が、注目画素および当該注目画素の周辺画素に含まれる黒画素の数をカウントし、カウント値が閾値以上である注目画素を黒画素とする。さらに、縮退処理部５３が、膨張処理後の画像データにおける注目画素および注目画素の周辺画素に含まれる白画素の数をカウントし、カウント値が閾値以上である注目画素を白画素とする。
【０２６２】
これにより、入力画像データにおけるライン部分にギャップ（画像データの欠落）が生じている場合であっても、このギャップを補正してからラインの検出処理を行うことができる。したがって、ギャップ（画像データの欠落）によってラインが本来よりも短く切断されて検出されることを防止し、入力画像データの特徴点を精度よく検出できる。
【０２６３】
なお、本実施形態では、実施形態１における特徴点算出部３１の各構成に加えて膨張処理部５２と縮退処理部５３とを備える構成について説明したが、これに限るものではない。例えば、図４４に示すように、実施形態２に示した特徴点算出部３１ｂに膨張処理部５２と縮退処理部５３とを設けた特徴点算出部３１ｄを用いてもよい。この場合、図４５に示すように、シェーディング補正部１２から特徴点算出部３１ｄに画像データが入力されると、傾き検知部４７が入力画像の傾き（傾き角度）検知処理を行い（Ｓ２０ａ）、傾き検知部４７の検出結果に基づいて傾き補正処理部が傾き（傾き角度）補正処理を行う（Ｓ２０ｂ）。その後、信号変換処理部（無彩化処理部）４１による無彩化処理、解像度変換部４２による解像度変換処理、ＭＴＦ処理部４３によるＭＴＦ処理、２値化処理部４４による２値化処理を行った後（いずれも図示せず）、膨張処理部５２が入力画像データに対して上記した膨張処理を施し（Ｓ２０ｃ）、縮退処理部５３が膨張処理後の画像データに対して縮退処理を施す（Ｓ２０ｄ）。その後、交点算出部４５が図１１と同様の方法によって交点（特徴点）の検出処理を行う（Ｓ２１〜Ｓ２８）。
【０２６４】
〔実施形態４〕
本発明のさらに他の実施形態について説明する。なお、説明の便宜上、上記各実施形態と同様の機能を有する部材については上記各実施形態と同じ符号を付し、その説明を省略する。
【０２６５】
なお、本実施形態にかかるデジタルカラー複合機１は、第１ラベリング部６３および第２ラベリング部６７によるラベリング（ラベル付け）方法が異なっている以外は実施形態１におけるデジタルカラー複合機１と略同様の構成である。
【０２６６】
実施形態１では、第１ラベリング部６３は、左上から右下に向かって各画素を走査していき、注目画素が黒画素であるか否かと、注目画素の左隣および上隣の画素に対するラベル付け結果とに基づいて注目画素のラベル付けを行っていた。また、第２ラベリング部６７は、右上から左下に向かって各画素を走査していき、注目画素が黒画素であるか否かと、注目画素の右隣および上隣の画素に対するラベル付け結果とに応じて注目画素のラベル付けを行っていた。
【０２６７】
これに対して、本実施形態では、第１ラベリング部６３が、左上から右下に向かって各画素を走査していき、注目画素が黒画素であるか否かと、注目画素の左隣と上隣と左上隣の画素に対するラベル付け結果とに基づいて注目画素のラベル付けを行う。また、第２ラベリング部６７が、右上から左下に向かって各画素を走査していき、注目画素が黒画素であるか否かと、注目画素の右隣と上隣と右上隣の画素に対するラベル付け結果とに基づいて注目画素のラベル付けを行う。
【０２６８】
また、第１ラベル履歴テーブル６６には、注目画素の上隣のラインにおける注目画素の左上隣の画素から右側の各画素、および注目画素を含むラインにおける左端の画素から注目画素の左隣の画素までの合計１水平ライン＋１画素分のラベルが格納される。そして、第１ラベル履歴テーブル６６は、注目画素に対するラベル付けが完了する毎に、当該注目画素の左上隣の画素に対するラベル付け結果を削除し、当該注目画素に対するラベル付け結果を記憶する。これにより、全画素に割り付けたラベルを記憶する場合に比べて、ライン判定の精度を低下させることなく、第１ラベル履歴テーブル６６に要求される記憶容量を低減できるようになっている。また、注目画素の左隣、上隣、および左上隣の画素のラベルを容易かつ迅速に抽出できるようになっている。
【０２６９】
同様に、第２ラベル履歴テーブル７０には、注目画素の上隣のラインにおける注目画素の右上隣の画素から左側の各画素、および注目画素を含むラインにおける右端の画素から注目画素の右隣の画素までの合計１水平ライン＋１画素分のラベルが格納される。そして、第２ラベル履歴テーブル７０は、注目画素に対するラベル付けが完了する毎に、当該注目画素の右上隣の画素に対するラベル付け結果を削除し、当該注目画素に対するラベル付け結果を記憶する。これにより、全画素に割り付けたラベルを記憶する場合に比べて、ライン判定の精度を低下させることなく、第２ラベル履歴テーブル７０に要求される記憶容量を低減できるようになっている。また、注目画素の右隣、上隣、および右上隣の画素のラベルを容易かつ迅速に抽出できるようになっている。
【０２７０】
次に、第１ラベリング部６３によるラベル付け方法について、図を参照しながらより詳細に説明する。図４８は、第１ラベリング部６３が注目画素に対するラベル付けを行う際の、隣接画素の参照順序を示す説明図である。
【０２７１】
この図に示すように、第１ラベリング部６３は、画像データを左上から右下に向かって走査していき（各ラインを左端から右端へ向かって走査していく処理を上端のラインから下端のラインへ向かって順次行っていき）、以下の（ａ）〜（ｅ）のルールに基づいてラベル付けを行う。
（ａ）注目画素が黒画素であって、注目画素の左隣の画素に対してラベル付けされている場合（左隣の画素のラベルが「０」ではない場合）、この左隣の画素と同じラベルを割り付ける。
（ｂ）注目画素が黒画素であって、注目画素の左隣の画素に対してラベル付けされておらず（左隣の画素のラベルが「０」であり）、注目画素の上隣の画素に対してラベル付けされている場合、この上隣の画素と同じラベルを割り付ける。
（ｃ）注目画素が黒画素であって、注目画素の左隣および上隣の画素に対してラベル付けされておらず（左隣の画素および上隣の画素のラベルが「０」であり）、注目画素の左上隣の画素に対してラベル付けされている場合、この左上隣の画素と同じラベルを割り付ける。
（ｄ）注目画素が黒画素であって、注目画素の左隣、上隣、および左上隣の画素のいずれにもラベル付けされていない場合、当該注目画素に対して新規のラベルを割り付ける。
（ｅ）注目画素が黒画素ではない場合、当該注目画素のラベルを「０」とする。
【０２７２】
なお、第２ラベリング部６７におけるラベル付け方法は、右上から左下に向かって各画素を走査する点、および上記（ａ）〜（ｅ）における「左隣」を「右隣」に変更し、「左上隣」を「右上隣」に変更する点以外は第１ラベリング部６３におけるラベル付け方法と同様である。図４９は、第２ラベリング部７６が、注目画素に対するラベル付けを行う際の、隣接画素の参照順序を示す説明図である。
【０２７３】
以上のように、本実施形態では、第１ラベリング部６３によるラベル付けを行う際、注目画素の左隣および上隣の画素に対するラベル付け結果に加えて、左上隣の画素に対するラベル付け結果を考慮して注目画素に対するラベル付けを行う。また、第２ラベリング部６７によるラベル付けを行う際、注目画素の右隣および上隣の画素に対するラベル付け結果に加えて、右上隣の画素に対するラベル付け結果を考慮して注目画素に対するラベル付けを行う。
【０２７４】
これにより、画像読取時の誤差等によって生じたばらつきによって斜め方向のラインの位置にずれが生じている場合であっても、本来は同一であるラインに対して別々のラベルが付され、ラインとして検出されなくなることを防止し、ラインの検出精度を向上させることができる。
【０２７５】
この点について、図５０（ａ）〜図５０（ｃ）を参照しながらより詳細に説明する。図５０（ａ）は、図１８に示した画像がカラー画像入力装置２によって適切に読み取られた場合に、この画像を実施形態１に示したラベル付け方法でラベル付けした結果を示す説明図である。図５０（ｂ）は、図１８に示した画像をカラー画像入力装置２によって読み取る際に読み取り誤差が生じた場合に、この読み取り誤差が生じた画像を実施形態１に示したラベル付け方法でラベル付けした結果を示す説明図である。図５０（ｃ）は、図１８に示した画像をカラー画像入力装置２によって読み取る際に読み取り誤差が生じた場合に、この読み取り誤差が生じた画像を本実施形態に示したラベル付け方法でラベル付けした結果を示す説明図である。
【０２７６】
図５０（ｂ）に示した例では、左上から右下に向かうライン画像に読み取り誤差による位置ずれが生じている。そして、このような位置ずれが生じた画像に対して実施形態１に示したラベル付け方法を適用すると、本来は同一のラインであるにもかかわらず、位置によって異なるラベルが付されてしまい、ラインとして検出されなくなる。
【０２７７】
これに対して、図５０（ｃ）に示すように、本実施形態のラベル付け方法によれば、読み取り誤差に起因する位置ずれが生じていても、左上隣の画素に対するラベル付け結果を考慮することにより、本来同一のラインである画素に対して同じラベルが付され、ラインとして検出することができる。したがって、読み取り誤差が生じている場合であっても、ラインを精度よく検出することができる。
【０２７８】
なお、本実施形態にかかるラベル付け方法（ライン検出方法）は、上記した各実施形態のいずれの構成にも適用できる。
【０２７９】
また、上記各実施形態において、デジタルカラー複合機１および／またはサーバー装置５０に備えられる文書照合処理部および制御部を構成する各部（各ブロック）は、ＣＰＵ等のプロセッサを用いてソフトウェアによって実現される。すなわち、デジタルカラー複合機１および／またはサーバー装置５０は、各機能を実現する制御プログラムの命令を実行するＣＰＵ（central processing unit）、上記プログラムを格納したＲＯＭ（read only memory）、上記プログラムを展開するＲＡＭ（random access memory）、上記プログラムおよび各種データを格納するメモリ等の記憶装置（記録媒体）などを備えている。そして、本発明の目的は、上述した機能を実現するソフトウェアであるデジタルカラー複合機１および／またはサーバー装置５０の制御プログラムのプログラムコード（実行形式プログラム、中間コードプログラム、ソースプログラム）をコンピュータで読み取り可能に記録した記録媒体を、デジタルカラー複合機１および／またはサーバー装置５０に供給し、そのコンピュータ（またはＣＰＵやＭＰＵ）が記録媒体に記録されているプログラムコードを読み出し実行することによって達成される。
【０２８０】
上記記録媒体としては、例えば、磁気テープやカセットテープ等のテープ系、フロッピー（登録商標）ディスク／ハードディスク等の磁気ディスクやＣＤ−ＲＯＭ／ＭＯ／ＭＤ／ＤＶＤ／ＣＤ−Ｒ等の光ディスクを含むディスク系、ＩＣカード（メモリカードを含む）／光カード等のカード系、あるいはマスクＲＯＭ／ＥＰＲＯＭ／ＥＥＰＲＯＭ／フラッシュＲＯＭ等の半導体メモリ系などを用いることができる。
【０２８１】
また、デジタルカラー複合機１および／またはサーバー装置５０を通信ネットワークと接続可能に構成し、通信ネットワークを介して上記プログラムコードを供給してもよい。この通信ネットワークとしては、特に限定されず、例えば、インターネット、イントラネット、エキストラネット、ＬＡＮ、ＩＳＤＮ、ＶＡＮ、ＣＡＴＶ通信網、仮想専用網（virtual private network）、電話回線網、移動体通信網、衛星通信網等が利用可能である。また、通信ネットワークを構成する伝送媒体としては、特に限定されず、例えば、ＩＥＥＥ１３９４、ＵＳＢ、電力線搬送、ケーブルＴＶ回線、電話線、ＡＤＳＬ回線等の有線でも、ＩｒＤＡやリモコンのような赤外線、Ｂｌｕｅｔｏｏｔｈ（登録商標）、８０２．１１無線、ＨＤＲ、携帯電話網、衛星回線、地上波デジタル網等の無線でも利用可能である。なお、本発明は、上記プログラムコードが電子的な伝送で具現化された、搬送波に埋め込まれたコンピュータデータ信号の形態でも実現され得る。
【０２８２】
また、デジタルカラー複合機１および／またはサーバー装置５０の各ブロックは、ソフトウェアを用いて実現されるものに限らず、ハードウェアロジックによって構成されるものであってもよく、処理の一部を行うハードウェアと当該ハードウェアの制御や残余の処理を行うソフトウェアを実行する演算手段とを組み合わせたものであってもよい。
【０２８３】
本発明のコンピュータシステムは、フラットベッドスキャナ・フィルムスキャナ・デジタルカメラなどの画像入力装置、所定のプログラムがロードされることにより上記類似度算出処理や類似性判定処理など様々な処理が行われるコンピュータ、コンピュータの処理結果を表示するＣＲＴディスプレイ・液晶ディスプレイなどの画像表示装置、およびコンピュータの処理結果を紙などに出力するプリンタ等の画像形成装置により構成されてもよい。さらには、ネットワークを介してサーバーなどに接続するための通信手段としてのネットワークカードやモデムなどが備えられていてもよい。
【０２８４】
また、上記の実施形態では、２値化処理部４４によって２値化処理を施した入力画像データに基づいて各画素が白画素であるか黒画素であるかを判定することでライン画像の検出処理を行う場合について説明したが、これに限らず、多値画像データにおける各画素の画素値が所定値以上であるか否かを判定することでライン画像の検出処理を行ってもよい。
【０２８５】
本発明は上述した実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能である。すなわち、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態、および請求項に示した範囲で適宜変更した技術的手段を組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
【産業上の利用可能性】
【０２８６】
本発明は、入力画像データから当該入力画像データを特定するための特徴点を抽出する画像処理装置に適用できる。
【図面の簡単な説明】
【０２８７】
【図１】本発明の一実施形態にかかる画像処理装置に備えられる文書照合処理部の概略構成を示すブロック図である。
【図２】本発明の一実施形態にかかる画像処理装置の概略構成を示すブロック図である。
【図３】図１に示した文書照合処理部に備えられる特徴点算出部の概略構成を示すブロック図である。
【図４】図３に示した特徴点算出部のＭＴＦ処理部に備えられる混合フィルタのフィルタ係数の一例を示す説明図である。
【図５】図１に示した文書照合処理部に備えられる特徴量算出部によって特徴量を算出する際に抽出される注目特徴点および周辺特徴点の一例を示す説明図である。
【図６】（ａ）〜（ｃ）は、特徴量算出部によって特徴量を算出する際に抽出される注目特徴点および周辺特徴点の組み合わせの一例を示す説明図である。
【図７】（ａ）〜（ｃ）は、特徴量算出部によって特徴量を算出する際に抽出される注目特徴点および周辺特徴点の組み合わせの一例を示す説明図である。
【図８】（ａ）および（ｂ）は、図１に示した文書照合処理部において、ハッシュテーブルに登録されるハッシュ値および入力画像データを表すインデックスの一例を示す説明図である。
【図９】図１に示した文書照合処理部に備えられる投票処理部における、各登録画像に対する投票数の一例を示すグラフである。
【図１０】図１に示した文書照合処理部における処理の流れを示すフロー図である。
【図１１】図１に示した文書照合処理部に備えられる交点算出部における処理の流れを示すフロー図である。
【図１２】図１に示した文書照合処理部に備えられる交点算出部の概略構成を示すブロック図である。
【図１３】入力画像データの一例を示す説明図である。
【図１４】図１３に示した入力画像データに対して水平方向および垂直方向のライン画像の検出を行う場合の処理を説明するための説明図である。
【図１５】図１３に示した入力画像データに対する水平方向および垂直方向のライン画像の検出結果、および交点の算出結果を示す説明図である。
【図１６】（ａ）〜（ｃ）は、入力画像データにおける左上から右下へ斜め方向に伸びるライン画像を検出する場合の、各画素へのラベルの割り付け方法を示す説明図である。
【図１７】（ａ）〜（ｃ）は、入力画像データにおける右上から左下へ斜め方向に伸びるライン画像を検出する場合の、各画素へのラベルの割り付け方法を示す説明図である。
【図１８】入力画像データの一例を示す説明図である。
【図１９】図１８に示した入力画像データに対して左上から右下に伸びるライン画像の検出処理を行う場合のラベル付けの手順を示す説明図である。
【図２０】図１８に示した入力画像データに対して右上から左下に伸びるライン画像の検出処理を行う場合のラベル付けの手順を示す説明図である。
【図２１】図１８に示した入力画像データに対する斜め方向のライン画像の検出結果、および交点の算出結果を示す説明図である。
【図２２】図１に示した文書照合処理部に備えられる交点算出部の変形例を示すブロック図である。
【図２３】入力画像データの一例を示す説明図である。
【図２４】図２３に示した入力画像データに対して左上から右下に伸びるライン画像の検出処理（ラインの開始・終了座標使用）を行う場合のラベル付けの手順を示す説明図である。
【図２５】図２３に示した入力画像データに対して右上から左下に伸びるライン画像の検出処理（ラインの開始・終了座標使用）を行う場合のラベル付けの手順を示す説明図である。
【図２６】本発明の一実施形態にかかる画像処理装置の変形例を示すブロック図である。
【図２７】本発明の一実施形態にかかる画像処理システムの構成を示す説明図である。
【図２８】本発明の一実施形態にかかる画像処理システムの一構成例を示すブロック図である。
【図２９】本発明の一実施形態にかかる画像処理システムの他の構成例を示すブロック図である。
【図３０】（ａ）〜（ｄ）は、本発明の一実施形態にかかる画像処理装置の特徴量算出部によって特徴量を算出する際に抽出される注目特徴点および周辺特徴点の組み合わせの一例を示す説明図である。
【図３１】（ａ）〜（ｄ）は、本発明の一実施形態にかかる画像処理装置の特徴量算出部によって特徴量を算出する際に抽出される注目特徴点および周辺特徴点の組み合わせの一例を示す説明図である。
【図３２】図１に示した文書照合処理部に備えられる特徴点算出部の変形例を示すブロック図である。
【図３３】図３２に示した特徴点算出部における傾き検知部で行われるエッジ検出処理の一例を説明するための説明図である。
【図３４】図３２に示した特徴点算出部における傾き検知部で用いられる正接−角度テーブルの一例を示す説明図である。
【図３５】図３２に示した特徴点算出部における傾き検知部で行われるエッジ検出処理の一例を説明するための説明図である。
【図３６】図３２に示した特徴点算出部における傾き検知部で行われるエッジ検出処理に用いられるエッジ検知用フィルタの一例を示す説明図である。
【図３７】図３２に示した特徴点算出部における傾き検知部で行われるエッジ検出処理の一例を説明するための説明図である。
【図３８】図３２に示した特徴点算出部における傾き補正処理部で行われる傾き補正処理の一例を説明するための説明図である。
【図３９】図３２に示した特徴点算出部における処理の流れを示すフロー図である。
【図４０】図１に示した文書照合処理部に備えられる特徴点算出部の変形例を示すブロック図である。
【図４１】（ａ）および（ｂ）は図４０に示した特徴点算出部における膨張処理部で行われる膨張処理を説明するための説明図である。
【図４２】（ａ）および（ｂ）は図４０に示した特徴点算出部における縮退処理部で行われる縮退処理を説明するための説明図である。
【図４３】図４０に示した特徴点算出部における処理の流れを示すフロー図である。
【図４４】図１に示した文書照合処理部に備えられる特徴点算出部の変形例を示すブロック図である。
【図４５】図４４に示した特徴点算出部における処理の流れを示すフロー図である。
【図４６】図２３に示した入力画像データに対する斜め方向のライン画像の検出結果、および交点の算出結果を示す説明図である。
【図４７】斜め方向のライン画像の検出に関して、右上から左下に伸びるライン画像の検出処理を例として、それぞれの方法（ラベルカウント使用、ラインの開始・終了座標間の距離使用）による結果の違いを示す説明図である。
【図４８】図１に示した文書照合処理部に備えられる交点算出部において、斜め方向に伸びるライン画像を検出する場合の各画素へのラベルの割り付け方法の一例を示す説明図である。
【図４９】図１に示した文書照合処理部に備えられる交点算出部において、斜め方向に伸びるライン画像を検出する場合の各画素へのラベルの割り付け方法の一例を示す説明図である。
【図５０】（ａ）は図１８に示した画像が適切に読み取られた場合にこの画像を実施形態１に示したラベル付け方法でラベル付けした結果を示す説明図である。（ｂ）は図１８に示した画像を読み取る際に読み取り誤差が生じた場合にこの読み取り誤差が生じた画像を実施形態１に示したラベル付け方法でラベル付けした結果を示す説明図である。（ｃ）は図１８に示した画像を読み取る際に読み取り誤差が生じた場合に、この読み取り誤差が生じた画像を実施形態４に示したラベル付け方法でラベル付けした結果を示す説明図である。
【図５１】図４６でのラインの交点算出時に、直線（線分）の式を用いた場合の説明図である。
【符号の説明】
【０２８８】
１  デジタルカラー複合機（画像処理装置、画像形成装置、画像読取装置、画像処理装置）
１’  フラットベッドスキャナ（画像処理装置、画像読取装置）
２  カラー画像入力装置（入力データ取得部、スキャナ装置）
３，３’  カラー画像処理装置（画像処理装置）
４  カラー画像出力装置（画像出力部）
５，５１  通信装置（入力データ取得部、送信装置）
６  操作パネル（処理入力部）
７，７ａ，７ｂ  制御部
８，８ａ，８ｂ  メモリ（記憶部）
１３，１３ａ，１３ｂ  文書照合処理部（類似度算出部）
３１，３１ｂ〜３１ｆ  特徴点算出部
３２  特徴量算出部
３３  投票処理部（類似度算出部）
３４  類似度判定処理部
３７  登録処理部
４１  信号変換処理部（無彩化処理部）
４２  解像度変換部
４３  ＭＴＦ処理部
４４  ２値化処理部
４５  交点算出部
４６  重心算出部
４７  傾き検知部
４８  傾き補正処理部
５０  サーバー装置
５２  膨張処理部
５３  縮退処理部
５４  欠落補正部
１００  画像処理システム
１０３  ハッシュテーブル
【図１】
0004487000.tif 000004
【図２】
0004487000.tif 000005
【図３】
0004487000.tif 000006
【図４】
0004487000.tif 000007
【図５】
0004487000.tif 000008
【図６】
0004487000.tif 000009
【図７】
0004487000.tif 000010
【図８】
0004487000.tif 000011
【図９】
0004487000.tif 000012
【図１０】
0004487000.tif 000013
【図１１】
0004487000.tif 000014
【図１２】
0004487000.tif 000015
【図１３】
0004487000.tif 000016
【図１４】
0004487000.tif 000017
【図１５】
0004487000.tif 000018
【図１６】
0004487000.tif 000019
【図１７】
0004487000.tif 000020
【図１８】
0004487000.tif 000021
【図１９】
0004487000.tif 000022
【図２０】
0004487000.tif 000023
【図２１】
0004487000.tif 000024
【図２２】
0004487000.tif 000025
【図２３】
0004487000.tif 000026
【図２４】
0004487000.tif 000027
【図２５】
0004487000.tif 000028
【図２６】
0004487000.tif 000029
【図２７】
0004487000.tif 000030
【図２８】
0004487000.tif 000031
【図２９】
0004487000.tif 000032
【図３０】
0004487000.tif 000033
【図３１】
0004487000.tif 000034
【図３２】
0004487000.tif 000035
【図３３】
0004487000.tif 000036
【図３４】
0004487000.tif 000037
【図３５】
0004487000.tif 000038
【図３６】
0004487000.tif 000039
【図３７】
0004487000.tif 000040
【図３８】
0004487000.tif 000041
【図３９】
0004487000.tif 000042
【図４０】
0004487000.tif 000043
【図４１】
0004487000.tif 000044
【図４２】
0004487000.tif 000045
【図４３】
0004487000.tif 000046
【図４４】
0004487000.tif 000047
【図４５】
0004487000.tif 000048
【図４６】
0004487000.tif 000049
【図４７】
0004487000.tif 000050
【図４８】
0004487000.tif 000051
【図４９】
0004487000.tif 000052
【図５０】
0004487000.tif 000053
【図５１】
0004487000.tif 000054