説明

画像処理装置及び画像処理プログラム

【課題】文字列画像より文字の線分の角度や長さ、出現頻度の情報を抽出することで、その文字列画像内の文字は活字又は手書きのいずれであるかを判定する画像処理装置を提供する。
【解決手段】画像処理装置の細線変換手段は、文字列を含む文字列画像に対して、細線情報に変換し、領域設定手段は、細線となった文字列画像内に矩形領域を設定し、ハフ変換手段は、前記領域設定手段によって設定された矩形領域に対して、ハフ変換を行い、特徴抽出手段は、前記ハフ変換手段によるハフ変換の処理結果の線分の角度情報と、その高さ情報を特徴として抽出し、判定手段は、前記特徴抽出手段によって抽出された特徴に基づいて、前記文字列画像内の文字列は活字又は手書きのいずれであるかを判定する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理装置及び画像処理プログラムに関する。
【背景技術】
【0002】
特許文献1には、1文字の文字データの中から、活字又は手書き文字に応じて異なる簡単な特徴を抽出し、対象文字が活字であるか手書き文字であるかを高精度に判定することを課題とし、特徴抽出部は、文字データ抽出部で抽出された1文字の文字データの中から、文字が活字であるか手書き文字であるかを判定するための特徴(文字ストロークの方向性、太さ、直線性など)を抽出し、文字種類判定部は、その特徴に基づいて活字であるか手書き文字であるかを判定し、その判定結果に応じて、活字文字認識部、手書き文字認識部のいずれかを実行させることが開示されている。
【0003】
特許文献2には、手書き文字と活字文字を高精度に短時間で識別できるようにし、文字認識処理に要する時間を短縮化することを課題とし、文書又は帳票等から読み取られた画像データから文字パターンが抽出され、手書き/活字判別部で手書き文字、活字の判別が行われ、手書き/活字判別部では、文字パターンから、少なくとも文字パターンの複雑さを表す特徴と、直線性を表す特徴を含むN個の特徴ベクトルを求め、この特徴ベクトルを用いて、上記文字パターンが手書き文字であるか活字文字であるかを判別し、文字認識部では、文字データが手書き文字か活字かに応じて、対応した文字認識処理を行い、上記文字パターンの特徴として、線幅のバラツキ、文字位置のバラツキ等を用いることもできることが開示されている。
【0004】
特許文献3には、被読み取り文字が手書き文字であるかあるいは活字であるかを迅速に判断して、手書き文字と活字が混在して記載されている帳票の読み取り速度を向上させることができる光学的文字読取装置を提供することを目的とし、フィールド切出部はシートバッファ内のスキャナで読み取られた文字データからフィールド単位で文字データを切り出して、これをフィールドバッファに格納し、文字種判定部はフィールドバッファ内の文字データの文字種を判定して、この判定結果を認識部に知らせ、認識部は前記判定結果にしたがって手書き辞書又は活字辞書のいずれか一方を使用してフィールドバッファ内の文字データの文字認識を行うことが開示されている。
【0005】
特許文献4には、文字データの高さ以外の特徴を用い、また複数の特徴を併用することによって文字の判別精度を向上させることを課題とし、文字矩形抽出部は文書画像の所定領域から文字矩形(黒画素連結矩形)を抽出し、文字矩形特徴算出部は抽出した各矩形の面積を算出し、標準偏差算出部は矩形面積値の集合の標準偏差を求め、比較判定部では標準偏差が所定の閾値を越えていたとき、上記所定領域内の文字は手書き文字であると判定し、閾値より小さいとき活字文字であると判定し、それぞれの辞書を用いて認識処理することが開示されている。
【0006】
特許文献5には、効率よく高精度に文字種を判定でき、判定処理が高速度に実行できることを課題とし、印刷文字列である簡易な複数の条件を確率の高い順に組み合わせて各条件に適合するか否かを判定し、印刷文字例か手書文字列か判定するようにしたものが開示されている。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開平10−162102号公報
【特許文献2】特開2000−181993号公報
【特許文献3】特開平05−189604号公報
【特許文献4】特開平10−214308号公報
【特許文献5】特開2000−339404号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
本発明は、文字列画像より文字の線分の角度や長さ、出現頻度の情報を抽出することで、その文字列画像内の文字は活字又は手書きのいずれであるかを判定する画像処理装置及び画像処理プログラムを提供することを目的としている。
【課題を解決するための手段】
【0009】
かかる目的を達成するための本発明の要旨とするところは、次の各項の発明に存する。
請求項1の発明は、文字列を含む文字列画像に対して、細線情報に変換する細線変換手段と、前記細線変換手段によって細線となった文字列画像内に矩形領域を設定する領域設定手段と、前記領域設定手段によって設定された矩形領域に対して、ハフ変換を行うハフ変換手段と、前記ハフ変換手段によるハフ変換の処理結果の線分の角度情報と、その高さ情報を特徴として抽出する特徴抽出手段と、前記特徴抽出手段によって抽出された特徴に基づいて、前記文字列画像内の文字列は活字又は手書きのいずれであるかを判定する判定手段を具備することを特徴とする画像処理装置である。
【0010】
請求項2の発明は、前記特徴抽出手段は、前記ハフ変換手段によるハフ変換の前記各矩形の処理結果に対して重みづけを行い、線分情報ではないと判断されるものを除外した該重みづけを行った処理結果を加算する加算手段と、前記加算手段による処理結果を角度における分布と予め定められた値を比較することによって、該処理結果内から第1の値を抽出する第1の値抽出手段と、前記第1の値抽出手段によって抽出された第1の値と予め定められた値との差を特徴量として抽出する第1の特徴量抽出手段を具備することを特徴とする請求項1に記載の画像処理装置である。
【0011】
請求項3の発明は、前記特徴抽出手段は、前記ハフ変換手段によるハフ変換の前記各矩形の処理結果に対して重みづけを行い、線分情報ではないと判断されるものを除外した該重みづけを行った処理結果を加算する加算手段と、前記加算手段による処理結果を角度における分布と予め定められた値を比較することによって、該処理結果内から第1の値を抽出する第1の値抽出手段と、前記第1の値抽出手段によって抽出された第1の値に対して予め定められた範囲内における前記加算手段による処理結果の分散を特徴量として抽出する第2の特徴量抽出手段を具備することを特徴とする請求項1に記載の画像処理装置である。
【0012】
請求項4の発明は、前記特徴抽出手段は、前記第1の値抽出手段によって抽出された第1の値に対して予め定められた範囲内における前記加算手段による処理結果の分散を特徴量として抽出する第2の特徴量抽出手段をさらに具備することを特徴とする請求項2に記載の画像処理装置である。
【0013】
請求項5の発明は、前記特徴抽出手段は、前記ハフ変換手段によるハフ変換の前記各矩形の処理結果を予め定められた値と比較することによって、該処理結果内から第2の値を抽出する第2の値抽出手段と、前記第2の値抽出手段によって抽出された第2の値の高さと角度を特徴量として抽出する第3の特徴量抽出手段を具備することを特徴とする請求項1から4のいずれか一項に記載の画像処理装置である。
【0014】
請求項6の発明は、前記特徴抽出手段は、予め定められた値に対して予め定められた範囲内における前記ハフ変換手段によるハフ変換の前記各矩形の処理結果の分散を算出する分散算出手段と、前記分散算出手段によって算出された前記各矩形の分散の合計と高さを特徴量として抽出する第4の特徴量抽出手段を具備することを特徴とする請求項1から4のいずれか一項に記載の画像処理装置である。
【0015】
請求項7の発明は、コンピュータを、文字列を含む文字列画像に対して、細線情報に変換する細線変換手段と、前記細線変換手段によって細線となった文字列画像内に矩形領域を設定する領域設定手段と、前記領域設定手段によって設定された矩形領域に対して、ハフ変換を行うハフ変換手段と、前記ハフ変換手段によるハフ変換の処理結果の線分の角度情報と、その高さ情報を特徴として抽出する特徴抽出手段と、前記特徴抽出手段によって抽出された特徴に基づいて、前記文字列画像内の文字列は活字又は手書きのいずれであるかを判定する判定手段として機能させることを特徴とする画像処理プログラムである。
【発明の効果】
【0016】
請求項1の画像処理装置によれば、文字列画像より文字の線分の角度や長さ、出現頻度の情報を抽出することで、その文字列画像内の文字は活字又は手書きのいずれであるかを判定することができる。
【0017】
請求項2の画像処理装置によれば、第1の値と予め定められた値との差を特徴量として活字又は手書きのいずれであるかを判定することができる。
【0018】
請求項3の画像処理装置によれば、第1の値に対して予め定められた範囲内における分散を特徴量として活字又は手書きのいずれであるかを判定することができる。
【0019】
請求項4の画像処理装置によれば、第1の値と予め定められた値との差、第1の値に対して予め定められた範囲内における分散を特徴量として活字又は手書きのいずれであるかを判定することができる。
【0020】
請求項5の画像処理装置によれば、第2の値の高さと角度を特徴量として活字又は手書きのいずれであるかを判定することができる。
【0021】
請求項6の画像処理装置によれば、ハフ変換の処理結果の分散の合計と高さを特徴量として活字又は手書きのいずれであるかを判定することができる。
【0022】
請求項7の画像処理プログラムによれば、文字列画像より文字の線分の角度や長さ、出現頻度の情報を抽出することで、その文字列画像内の文字は活字又は手書きのいずれであるかを判定することができる。
【図面の簡単な説明】
【0023】
【図1】本実施の形態の構成例についての概念的なモジュール構成図である。
【図2】本実施の形態による処理例を示すフローチャートである。
【図3】文字列抽出モジュールによって抽出された文字列画像の例を示す説明図である。
【図4】細線化処理モジュールによって細線化処理された結果の例を示す説明図である。
【図5】文字高さの例を示す説明図である。
【図6】文字列画像を矩形分割処理モジュールによって分割する矩形の例を示す説明図である。
【図7】ハフ変換処理モジュールによるハフ変換の処理結果の例を示す説明図である。
【図8】閾値処理モジュールによる閾値処理の結果の例を示す説明図である。
【図9】特徴抽出モジュール内の構成例についての概念的なモジュール構成図(1)である。
【図10】特徴抽出モジュールによる処理例を示すフローチャートである。
【図11】教師データテーブルのデータ構造例を示す説明図である。
【図12】加算処理モジュールによる加算処理の結果の例を示す説明図である。
【図13】ピーク・教師データ比較モジュールの処理の例を示す説明図である。
【図14】特徴抽出モジュール内の構成例についての概念的なモジュール構成図(2)である。
【図15】特徴抽出モジュールによる処理例を示すフローチャートである。
【図16】ピーク抽出モジュールによる処理例を示す説明図である。
【図17】ピーク特徴抽出モジュールによる処理例を示す説明図である。
【図18】特徴抽出モジュール内の構成例についての概念的なモジュール構成図(3)である。
【図19】特徴抽出モジュールによる処理例を示すフローチャートである。
【図20】分散合計・高さ抽出モジュールによる処理例を示す説明図である。
【図21】本実施の形態を実現するコンピュータのハードウェア構成例を示すブロック図である。
【発明を実施するための形態】
【0024】
以下、図面に基づき本発明を実現するにあたっての好適な一実施の形態の例を説明する。
図1は、本実施の形態の構成例についての概念的なモジュール構成図を示している。
なお、モジュールとは、一般的に論理的に分離可能なソフトウェア(コンピュータ・プログラム)、ハードウェア等の部品を指す。したがって、本実施の形態におけるモジュールはコンピュータ・プログラムにおけるモジュールのことだけでなく、ハードウェア構成におけるモジュールも指す。それゆえ、本実施の形態は、それらのモジュールとして機能させるためのコンピュータ・プログラム(コンピュータにそれぞれの手順を実行させるためのプログラム、コンピュータをそれぞれの手段として機能させるためのプログラム、コンピュータにそれぞれの機能を実現させるためのプログラム)、システム及び方法の説明をも兼ねている。ただし、説明の都合上、「記憶する」、「記憶させる」、これらと同等の文言を用いるが、これらの文言は、実施の形態がコンピュータ・プログラムの場合は、記憶装置に記憶させる、又は記憶装置に記憶させるように制御するの意である。また、モジュールは機能に一対一に対応していてもよいが、実装においては、1モジュールを1プログラムで構成してもよいし、複数モジュールを1プログラムで構成してもよく、逆に1モジュールを複数プログラムで構成してもよい。また、複数モジュールは1コンピュータによって実行されてもよいし、分散又は並列環境におけるコンピュータによって1モジュールが複数コンピュータで実行されてもよい。なお、1つのモジュールに他のモジュールが含まれていてもよい。また、以下、「接続」とは物理的な接続の他、論理的な接続(データの授受、指示、データ間の参照関係等)の場合にも用いる。「予め定められた」とは、対象としている処理の前に定まっていることをいい、本実施の形態による処理が始まる前はもちろんのこと、本実施の形態による処理が始まった後であっても、対象としている処理の前であれば、そのときの状況・状態に応じて、又はそれまでの状況・状態に応じて定まることの意を含めて用いる。
また、システム又は装置とは、複数のコンピュータ、ハードウェア、装置等がネットワーク(一対一対応の通信接続を含む)等の通信手段で接続されて構成されるほか、1つのコンピュータ、ハードウェア、装置等によって実現される場合も含まれる。「装置」と「システム」とは、互いに同義の用語として用いる。もちろんのことながら、「システム」には、人為的な取り決めである社会的な「仕組み」(社会システム)にすぎないものは含まない。
また、各モジュールによる処理毎に又はモジュール内で複数の処理を行う場合はその処理毎に、対象となる情報を記憶装置から読み込み、その処理を行った後に、処理結果を記憶装置に書き出すものである。したがって、処理前の記憶装置からの読み込み、処理後の記憶装置への書き出しについては、説明を省略する場合がある。なお、ここでの記憶装置としては、ハードディスク、RAM(Random Access Memory)、外部記憶媒体、通信回線を介した記憶装置、CPU(Central Processing Unit)内のレジスタ等を含んでいてもよい。
【0025】
本実施の形態である画像処理装置は、画像内の文字列は活字又は手書きのいずれであるかを判定するものであって、図1の例に示すように、画像受付モジュール110、文字列抽出モジュール120、細線化処理モジュール130、矩形サイズ決定モジュール140、矩形分割処理モジュール150、ハフ変換処理モジュール160、閾値処理モジュール170、特徴抽出モジュール180、距離測定モジュール185、判定モジュール190、出力モジュール195を有している。
【0026】
画像受付モジュール110は、文字列抽出モジュール120と接続されており、画像を受け付けて、その画像を文字列抽出モジュール120へ渡す。画像を受け付けるとは、例えば、スキャナ、カメラ等で画像を読み込むこと、ファックス等で通信回線を介して外部機器から画像を受信すること、CCD(Charge−Coupled Device)等で映像を撮影すること、ハードディスク(コンピュータに内蔵されているものの他に、ネットワークを介して接続されているもの等を含む)等に記憶されている画像を読み出すこと等が含まれる。画像は、2値画像、多値画像(カラー画像を含む)であってもよい。受け付ける画像は、1枚であってもよいし、複数枚であってもよい。また、画像の内容として、文字列が含まれていれば、ビジネスに用いられる文書、広告宣伝用のパンフレット等であってもよい。
【0027】
文字列抽出モジュール120は、画像受付モジュール110、細線化処理モジュール130と接続されており、画像受付モジュール110から画像を受け取り、文字列を含む文字列画像を抽出して、その文字列画像を細線化処理モジュール130へ渡す。文字列画像の抽出は、構造解析等の既存技術を用いる。例えば、画像から予め定められた幅以上の空白を検出し、その空白によって領域に区分し、その区分された領域の種別(文字領域、図形領域、写真領域等)を画素塊の大きさの分布等によって判断して、文字領域の座標(例えば、左上のX座標、Y座標、その領域の幅と高さ)を抽出する。そして、その文字領域内から文字列画像の座標(例えば、左上のX座標、Y座標、その文字列画像の幅と高さ)を抽出する。例えば、その文字領域内で、横方向及び縦方向に画素を計数し、規則的に並んでいる列を文字列と判断するようにしてもよい。
なお、画素塊とは、4連結又は8連結で連続する画素領域を少なくとも含み、これらの画素領域の集合をも含む。これらの画素領域の集合とは、4連結等で連続した画素領域が複数あり、その複数の画素領域は近傍にあるものをいう。ここで、近傍にあるものとは、例えば、互いの画素領域が距離的に近いもの、文章としての1行から1文字ずつ切り出すように縦又は横方向に射影し、空白地点で切り出した画像領域、又は一定間隔で切り出した画像領域等がある。
また、ここでの文字列とは、文字が横方向に並んだ文字列であってもよいし、文字が縦方向に並んだ文字列であってもよい。
【0028】
細線化処理モジュール130は、文字列抽出モジュール120、矩形サイズ決定モジュール140と接続されており、文字列抽出モジュール120から文字列画像を受け取り、その文字列画像に対して、細線情報に変換し、その細線化された文字列画像を矩形サイズ決定モジュール140へ渡す。細線情報に変換する細線化処理は、既存技術を用いる。例えば、除去する画素を定めたフィルタを用いて細線化するようにしてもよい。また、輪郭線を抽出するようにしてもよい。ここでの細線化処理とは、画像を文字の太さに影響されない線分だけの情報に変換することをいう。
【0029】
矩形サイズ決定モジュール140は、細線化処理モジュール130、矩形分割処理モジュール150と接続されており、細線化処理モジュール130によって細線化処理された文字列画像を区切る矩形の大きさを決定し、その矩形の大きさとともに細線化処理された文字列画像を矩形分割処理モジュール150へ渡す。矩形は、長方形であってもよいし、正方形であってもよい。決定する矩形の大きさとは、長方形の場合は高さと幅であり、正方形の場合は一辺の長さである。
矩形の大きさは、例えば、文字列画像内の文字の大きさとしてもよい。この場合、文字列画像内の画素塊の大きさから矩形の大きさを決定するようにしてもよい。例えば、前述のように画素塊を抽出した場合、1つの画素塊として、1文字の画像となる場合が多くなる。また、横方向に長い文字列画像である場合、文字列画像内の文字の高さを一辺とする正方形としてもよい。縦方向に長い文字列画像である場合は、文字列画像内の文字の幅を一辺とする正方形としてもよい。また、画素塊の大きさ、文字の高さ等に予め定められた値(0以上の値)を加算した値を矩形の大きさとしてもよい。
【0030】
矩形分割処理モジュール150は、矩形サイズ決定モジュール140、ハフ変換処理モジュール160と接続されており、細線化処理モジュール130によって細線化処理された文字列画像内を、矩形サイズ決定モジュール140によって決定された矩形に分割し、その分割された矩形の画像をハフ変換処理モジュール160へ渡す。ここでの矩形の分割は、端から順に矩形の大きさ毎に分割してもよいし、画素ができるだけ存在しない位置で分割してもよいし(つまり、その矩形内に文字(1つの文字であってもよいし、複数の文字であってもよい)が収まるように分割する)、矩形が重なる(オーバーラップする)ように分割してもよいし(つまり、重なった部分では同じ画像が含まれていることになり、矩形の境界で線分が途切れた場合に対応するものである)、矩形間に距離があってもよい(つまり、隣の矩形とは離れている状態に矩形を設定する)。
したがって、矩形サイズ決定モジュール140と矩形分割処理モジュール150によって、細線化処理モジュール130によって細線となった文字列画像内に矩形領域を設定することを行っている。
【0031】
ハフ変換処理モジュール160は、矩形分割処理モジュール150、閾値処理モジュール170と接続されており、矩形分割処理モジュール150によって分割された矩形の画像に対して、ハフ(Hough)変換を行い、その処理結果を閾値処理モジュール170へ渡す。ハフ変換は、直線の検出を行うものであり、中心(原点)から対象とする直線までの距離(その直線に引いた法線の長さ)と角度の組を算出し、それを計数する。なお、ハフ変換の処理結果とは、中心(原点)から対象とする直線までの距離と角度の組と、その組の計数結果(以下、高さともいう)である。例えば、図7に示すように、中心から直線までの距離の軸、角度の軸、高さの軸によって構成されるハフ空間上で、表現することができる。
【0032】
閾値処理モジュール170は、ハフ変換処理モジュール160、特徴抽出モジュール180と接続されており、ハフ変換処理モジュール160によるハフ変換の処理結果の高さに対して、予め定められた閾値と比較することによって、その処理結果を選択し、選択した処理結果を特徴抽出モジュール180へ渡す。ここでの選択処理は、線分情報ではないと判断されるものを除外する処理である。例えば、高さがその閾値より大きい特徴量(前述の選択した処理結果に該当し、これを矩形特徴量ともいう)を、文字を構成する線分の方向情報として抽出する。また、この閾値は、矩形サイズ決定モジュール140によって決定された矩形の大きさに基づいて設定するようにしてもよい。例えば、矩形の大きさと対応付けて閾値を記憶しているテーブルを予め用意しておき、このテーブルを用いて、矩形の大きさから閾値を設定する。また、矩形の大きさが大きくなれば、閾値も大きくなるような関数に基づいて、矩形の大きさから閾値を設定するようにしてもよい。なお、処理結果を選択するとは、そのまま処理結果を選択することの他に、処理結果の高さから閾値を引き、その結果0以下となったものを削除してもよい。結果として、高さが閾値分減少した処理結果が選択されたことになる。なお、閾値処理モジュール170はなくてもよい。つまり、ハフ変換処理モジュール160によるハフ変換の処理結果を特徴抽出モジュール180に渡すようにしてもよい。
また、閾値処理モジュール170は、ハフ変換処理モジュール160によるハフ変換の各矩形の処理結果に対して重みづけを行うようにしてもよい。そして、前述した選択処理によって、重みづけを行った処理結果を選択するようにしてもよい。なお、後述する加算処理モジュール910による処理を行う場合は、この処理を行う。
【0033】
特徴抽出モジュール180は、閾値処理モジュール170、距離測定モジュール185と接続されており、閾値処理モジュール170によって選択された処理結果の角度に基づいて特徴を抽出し、抽出した特徴を距離測定モジュール185へ渡す。特徴抽出モジュール180内のモジュール構成例、処理例等は、図9〜図20を用いて後述する。なお、閾値処理モジュール170がない場合は、ハフ変換処理モジュール160によるハフ変換の処理結果を対象とする。そして、その処理結果の線分の角度情報と、その高さ情報を特徴として抽出する。なお、ハフ変換の処理結果として高さ情報は、線分の長さと線分らしさを表している。
【0034】
距離測定モジュール185は、特徴抽出モジュール180、判定モジュール190と接続されており、特徴空間における活字の特徴と特徴抽出モジュール180によって抽出された特徴との距離を測定する。ここでの活字の特徴とは、いわゆる教師データであり、予め活字について特徴抽出して作成されたものである。
判定モジュール190は、距離測定モジュール185、出力モジュール195と接続されており、距離測定モジュール185によって測定された距離に基づいて、文字列画像内の文字列は活字又は手書きのいずれであるかを判定し、判定結果を出力モジュール195へ渡す。例えば、距離測定モジュール185によって測定された距離が予め定められた範囲内にあれば、活字であると判定し、それ以外の場合は手書き文字であると判定する。
【0035】
出力モジュール195は、判定モジュール190と接続されており、判定モジュール190による判定結果を出力する。出力先は、記憶装置であってもよいし、通信回線を介して他の情報処理装置であってもよい。例えば、出力先の情報処理装置として、次のような処理を行う。
(1)活字と手書き文字が混在している文書に対して文字認識を行う際、本実施の形態による処理を行って、活字部分は活字用文字認識装置、手書き文字部分は手書き用文字認識装置を使用する。
(2)本実施の形態による処理を行って、手書きで追記した部分を判別し、その部分を消去して、原画像を再生する。
(3)文書の画像の中から手書きで追記した文書を検索する。
【0036】
図2は、本実施の形態による処理例を示すフローチャートである。
ステップS202では、画像受付モジュール110が、画像を受け付ける。
ステップS204では、文字列抽出モジュール120が、構造解析を行い、文字列の画像を抽出する。例えば、図3に示した文字列画像300を抽出する。ここでは、横書きの文字列の画像を抽出した例である。
ステップS206では、細線化処理モジュール130が、文字列画像に対して細線化処理を行う。例えば、図3に示した文字列画像300に対して、細線化処理を施した結果が図4に示した細線化画像400である。太さのある線分を1ドットの線分に変換している。
【0037】
ステップS208では、矩形サイズ決定モジュール140が、矩形サイズを決定する。例えば、図5に示した細線化画像400内の文字画像の文字高さ510を矩形(正方形)の一辺の大きさとして矩形サイズを決定している。
ステップS210では、矩形分割処理モジュール150が、文字列画像を矩形サイズを用いて矩形の画像に分割する。図6は、文字列画像を矩形分割処理モジュール150によって分割する矩形の例を示す説明図である。この例では、細線化画像400を矩形611〜618の8つの矩形の画像に分割している。なお、ここでは、矩形が重ならないように順に分割している。また、矩形内には、1文字とは限らず、複数文字(代表的には2文字)があってもよい。
【0038】
ステップS212では、ハフ変換処理モジュール160が、各々の矩形の画像に対してハフ変換処理を施す。図7は、ハフ変換処理モジュール160によるハフ変換の処理結果の例を示す説明図である。これは、図6に例示した矩形611に対するハフ変換の処理結果をグラフ表現したものである。
ステップS214では、閾値処理モジュール170が、ハフ変換の処理結果に対して閾値処理を施す。図8は、閾値処理モジュール170による閾値処理の結果の例を示す説明図である。これは、図7に例示したハフ変換の処理結果に対して閾値処理を施したものである。つまり、予め定められた閾値より大きい高さの処理結果を取り出したものである。なお、前述したようにステップS214はなくてもよい。
【0039】
ステップS216では、特徴抽出モジュール180が、特徴抽出処理を行う。
ステップS218では、距離測定モジュール185が、ステップS216で抽出された特徴と活字の教師データとの距離を測定する。
ステップS220では、判定モジュール190が、対象としている文字列の画像は手書き文字か活字であるかを判定する。
ステップS222では、出力モジュール195が、判定結果を出力する。
【0040】
図9は、特徴抽出モジュール180内の構成例についての概念的なモジュール構成図(1)である。
特徴抽出モジュール180は、加算処理モジュール910、ヒストグラム作成処理モジュール920、ピーク抽出モジュール930、ピーク処理モジュール940、特徴量格納モジュール950を有している。
【0041】
加算処理モジュール910は、ヒストグラム作成処理モジュール920と接続されており、閾値処理モジュール170によって選択された各矩形の処理結果を加算する。ここで、処理結果を加算するとは、処理結果のうち中心から直線までの距離と角度が一致するものの高さを加算することをいう。
ヒストグラム作成処理モジュール920は、加算処理モジュール910、ピーク抽出モジュール930と接続されており、加算処理モジュール910による処理結果の角度における分布(以下、ヒストグラムともいう)を作成する。例えば、図13に示すようなグラフになる。これは、ハフ空間における角度の軸に対して、加算処理モジュール910による処理によって残ったハフ変換の処理結果の個数を計数している。計数した結果は、その角度における頻度となる。
ピーク抽出モジュール930は、ヒストグラム作成処理モジュール920、ピーク処理モジュール940と接続されており、ヒストグラム作成処理モジュール920によって作成されたヒストグラム内の頻度と予め定められた値を比較することによって、その処理結果内から第1の値を抽出する。第1の値を、以下、ピーク値という。例えば、予め定められた値よりも大きい値の頻度を示している角度をピーク値として抽出する。
【0042】
ピーク処理モジュール940は、ピーク抽出モジュール930、特徴量格納モジュール950と接続されており、ピーク・教師データ比較モジュール942、ピーク周囲分散算出モジュール944を有している。
ピーク・教師データ比較モジュール942は、ピーク抽出モジュール930によって抽出されたピーク値と予め定められた値との差を特徴量として抽出する。予め定められた値としては、例えば、図11に例示する教師データテーブル1100のように、教師データである活字の文字画像に対しての処理結果(画像受付モジュール110から閾値処理モジュール170、加算処理モジュール910からピーク・教師データ比較モジュール942までの処理を行った結果)であってもよいし、教師データに対しての処理結果を用いずに90度、180度、45度等の値であってもよい。これらは、活字の文字画像内で頻繁に出現する文字を構成する線の角度である。したがって、この差が小さい場合は活字の可能性が高いことを示しており、この差が大きい場合は手書き文字の可能性が高いことを示している。判定モジュール190が、この特徴量(差)を用いる場合は、この差と予め定められた値との比較によって、文字列画像内の文字列は活字又は手書きのいずれであるかを判定する。
【0043】
ピーク周囲分散算出モジュール944は、ピーク抽出モジュール930によって抽出されたピーク値に対して予め定められた範囲内(以下、ピーク値の周囲ともいう)における加算処理モジュール910による処理結果の分散を特徴量として抽出する。予め定められた範囲としては、例えば、ピーク値を中心としてそのピーク値から予め定められた距離以内であることをいう。この特徴量は線分の方向一致度を示していることになる。この範囲内における分散が小さい場合は活字の可能性が高いことを示しており、この差が大きい場合は手書き文字の可能性が高いことを示している。活字の場合は、予め定められた文字であるためブレが少ないが、手書き文字であるとブレが発生するためである。判定モジュール190が、この特徴量(分散)を用いる場合は、この分散と予め定められた値との比較によって、文字列画像内の文字列は活字又は手書きのいずれであるかを判定する。
なお、ピーク・教師データ比較モジュール942、ピーク周囲分散算出モジュール944は、いずれか一方だけであってもよいし、両方あってもよい。
特徴量格納モジュール950は、ピーク処理モジュール940と接続されており、ピーク・教師データ比較モジュール942、ピーク周囲分散算出モジュール944のいずれか一方、又は両方によって抽出された特徴量を記憶装置に記憶する。距離測定モジュール185、判定モジュール190は、この記憶装置に記憶された特徴量を用いる。
【0044】
図10は、特徴抽出モジュール180による処理例を示すフローチャートである。
ステップS1002では、加算処理モジュール910が、各矩形において閾値処理されたハフ変換の処理結果を加算する。図12は、加算処理モジュール910による加算処理の結果の例を示す説明図である。図6に例示した矩形611〜618の画像に対してハフ変換処理モジュール160、閾値処理モジュール170による処理結果の高さを加算したものである。
ステップS1004では、ヒストグラム作成処理モジュール920が、角度についてのヒストグラムを作成する。図13は、ピーク・教師データ比較モジュール942の処理の例を示す説明図である。図12に例示した加算結果の角度における頻度分布を生成したものである。
【0045】
ステップS1006では、ピーク抽出モジュール930が、ヒストグラム内のピーク値を抽出する。図13に示した例では、0度、90度、180度の近辺をピーク値として抽出する。
ステップS1008では、ピーク・教師データ比較モジュール942が、ピーク値と教師データを比較することによって、その差を算出する。
【0046】
ステップS1010では、ピーク周囲分散算出モジュール944が、ピーク値の周囲の分散を算出する。
ステップS1012では、特徴量格納モジュール950が、特徴量を格納する。
なお、ステップS1008、ステップS1010の処理は、いずれか一方であってもよい。また、いずれを先に行ってもよいし、並列して処理を行ってもよい。
【0047】
図14は、特徴抽出モジュール180内の構成例についての概念的なモジュール構成図(2)である。
特徴抽出モジュール180は、ピーク抽出モジュール1410、ピーク特徴抽出モジュール1420、特徴量格納モジュール1430を有している。
【0048】
ピーク抽出モジュール1410は、ピーク特徴抽出モジュール1420と接続されており、閾値処理モジュール170によって選択された各矩形のハフ変換の処理結果(矩形特徴量)を予め定められた値と比較することによって、その処理結果内から第2の値を抽出する。第2の値を、以下、ピーク値という。例えば、予め定められた値よりも大きい値の高さを示しているものをピーク値として抽出する。
ピーク特徴抽出モジュール1420は、ピーク抽出モジュール1410、特徴量格納モジュール1430と接続されており、ピーク抽出モジュール1410によって抽出されたピーク値の高さと角度を特徴量として抽出する。判定モジュール190が、この特徴量(ピーク値の高さと角度の組)を用いる場合は、このピーク値の高さと角度の組の分散と予め定められた値との比較によって、文字列画像内の文字列は活字又は手書きのいずれであるかを判定する。活字であるならば分散が小さくなり、手書き文字であるならばブレの発生によって分散が大きくなることを用いている。
特徴量格納モジュール1430は、ピーク特徴抽出モジュール1420と接続されており、ピーク特徴抽出モジュール1420によって抽出された特徴量を記憶装置に記憶する。距離測定モジュール185、判定モジュール190は、この記憶装置に記憶された特徴量を用いる。
【0049】
図15は、特徴抽出モジュール180による処理例を示すフローチャートである。
ステップS1502では、ピーク抽出モジュール1410が、各矩形において閾値処理されたハフ変換の処理結果からピーク値を抽出する。図16は、ピーク抽出モジュール1410による処理例を示す説明図である。図8に例示した閾値処理された結果では、ピーク1612、ピーク1614、ピーク1616の3つを抽出している。
ステップS1504では、ピーク特徴抽出モジュール1420が、ピーク値の高さと角度をその矩形の特徴として抽出する。図17は、ピーク特徴抽出モジュール1420による処理例を示す説明図である。特徴量として抽出したピーク値の高さと角度を、高さと角度の2次元空間にマッピングしたものである。
ステップS1506では、特徴量格納モジュール1430が、特徴量を格納する。
【0050】
図18は、特徴抽出モジュール180内の構成例についての概念的なモジュール構成図(3)である。
特徴抽出モジュール180は、分散算出モジュール1810、分散合計・高さ抽出モジュール1820、特徴量格納モジュール1830を有している。
【0051】
分散算出モジュール1810は、分散合計・高さ抽出モジュール1820と接続されており、予め定められた値に対して予め定められた範囲内(以下、代表角度の周囲ともいう)における閾値処理モジュール170によって選択された各矩形のハフ変換の処理結果(矩形特徴量)の分散を算出する。角度について、活字の教師データの代表角度(水平(0度、180度)、垂直(90度)、斜体角度(45度、135度等)等)周囲のデータの角度方向の分散を算出する。
【0052】
分散合計・高さ抽出モジュール1820は、分散算出モジュール1810、特徴量格納モジュール1830と接続されており、分散算出モジュール1810によって算出された各矩形の分散の合計と高さを特徴量として抽出する。前述のように、活字の教師データの代表角度は複数あるので、その代表角度の周囲における各分散を合計する。また、高さは、分散の対象となった矩形特徴量の高さの平均、最頻値等を用いるようにしてもよい。
判定モジュール190が、この特徴量(分散の合計と高さの組)を用いる場合は、この分散の合計と高さの組を2次元空間にマッピングし、予め定めた閾値との位置関係によって、文字列画像内の文字列は活字又は手書きのいずれであるかを判定する。図20は、分散合計・高さ抽出モジュール1820による処理例を示す説明図である。横軸に教師データの代表角度の周囲における矩形特徴量の分散の合計をとり、縦軸に高さをとった2次元空間に、各矩形の特徴量をマッピングしたものである。閾値2010の上側(活字領域2020)は、文字を構成している直線にブレがないので、ピーク値が高くなりやすく、その角度にもブレがないので、教師データに対しての分散も小さくなる。閾値2010の下側(手書き文字領域2030)は、活字に比べると文字を構成している直線にブレが発生しており、ピークの値が低くなりやすく、また、活字のように直角、水平等にはなりにくいため、教師データに対しての分散が大きくなる。
【0053】
特徴量格納モジュール1830は、分散合計・高さ抽出モジュール1820と接続されており、分散合計・高さ抽出モジュール1820によって抽出された特徴量を記憶装置に記憶する。距離測定モジュール185、判定モジュール190は、この記憶装置に記憶された特徴量を用いる。
【0054】
図19は、特徴抽出モジュール180による処理例を示すフローチャートである。
ステップS1902では、分散算出モジュール1810が、教師データの周囲の分散を算出する。
ステップS1904では、分散合計・高さ抽出モジュール1820が、分散の合計と高さをその矩形の特徴として抽出する。
ステップS1906では、特徴量格納モジュール1830が、特徴量を格納する。
【0055】
図21を参照して、本実施の形態の画像処理装置のハードウェア構成例について説明する。図21に示す構成は、例えばパーソナルコンピュータ(PC)などによって構成されるものであり、スキャナ等のデータ読み取り部2117と、プリンタなどのデータ出力部2118を備えたハードウェア構成例を示している。
【0056】
CPU2101は、前述の実施の形態において説明した各種のモジュール、すなわち、文字列抽出モジュール120、細線化処理モジュール130、矩形サイズ決定モジュール140、矩形分割処理モジュール150、ハフ変換処理モジュール160、閾値処理モジュール170、特徴抽出モジュール180、距離測定モジュール185、判定モジュール190等の各モジュールの実行シーケンスを記述したコンピュータ・プログラムにしたがった処理を実行する制御部である。
【0057】
ROM(Read Only Memory)2102は、CPU2101が使用するプログラムや演算パラメータ等を格納する。RAM2103は、CPU2101の実行において使用するプログラムや、その実行において適宜変化するパラメータ等を格納する。これらはCPUバスなどから構成されるホストバス2104により相互に接続されている。
【0058】
ホストバス2104は、ブリッジ2105を介して、PCI(Peripheral Component Interconnect/Interface)バスなどの外部バス2106に接続されている。
【0059】
キーボード2108、マウス等のポインティングデバイス2109は、操作者により操作される入力デバイスである。ディスプレイ2110は、液晶表示装置又はCRT(Cathode Ray Tube)などがあり、各種情報をテキストやイメージ情報として表示する。
【0060】
HDD(Hard Disk Drive)2111は、ハードディスクを内蔵し、ハードディスクを駆動し、CPU2101によって実行するプログラムや情報を記録又は再生させる。ハードディスクには、受け付けた画像、文字列画像、特徴抽出モジュール180の結果データなどが格納される。さらに、その他の各種のデータ処理プログラム等、各種コンピュータ・プログラムが格納される。
【0061】
ドライブ2112は、装着されている磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリ等のリムーバブル記録媒体2113に記録されているデータ又はプログラムを読み出して、そのデータ又はプログラムを、インタフェース2107、外部バス2106、ブリッジ2105、及びホストバス2104を介して接続されているRAM2103に供給する。リムーバブル記録媒体2113も、ハードディスクと同様のデータ記録領域として利用可能である。
【0062】
接続ポート2114は、外部接続機器2115を接続するポートであり、USB、IEEE1394等の接続部を持つ。接続ポート2114は、インタフェース2107、及び外部バス2106、ブリッジ2105、ホストバス2104等を介してCPU2101等に接続されている。通信部2116は、ネットワークに接続され、外部とのデータ通信処理を実行する。データ読み取り部2117は、例えばスキャナであり、ドキュメントの読み取り処理を実行する。データ出力部2118は、例えばプリンタであり、ドキュメントデータの出力処理を実行する。
【0063】
なお、図21に示す画像処理装置のハードウェア構成は、1つの構成例を示すものであり、本実施の形態は、図21に示す構成に限らず、本実施の形態において説明したモジュールを実行可能な構成であればよい。例えば、一部のモジュールを専用のハードウェア(例えば特定用途向け集積回路(Application Specific Integrated Circuit:ASIC)等)で構成してもよく、一部のモジュールは外部のシステム内にあり通信回線で接続しているような形態でもよく、さらに図21に示すシステムが複数互いに通信回線によって接続されていて互いに協調動作するようにしてもよい。また、複写機、ファックス、スキャナ、プリンタ、複合機(スキャナ、プリンタ、複写機、ファックス等のいずれか2つ以上の機能を有している画像処理装置)などに組み込まれていてもよい。
【0064】
なお、前述の実施の形態内の各種の特徴抽出モジュール180を組み合わせてもよく、各モジュールの処理内容として背景技術で説明した技術を採用してもよい。例えば、特徴量として、ピーク・教師データ比較モジュール942、ピーク周囲分散算出モジュール944、ピーク特徴抽出モジュール1420、分散合計・高さ抽出モジュール1820のうちの2つ以上のモジュールによって抽出された特徴量を組み合わせてもよい。さらに、既存技術を用いた特徴量(文字同士の間隔の分散、上下のブレ、面積の分散等)と組み合わせてもよい。
そして、この特徴量の組み合わせによる特徴空間における距離を距離測定モジュール185は測定し、判定モジュール190は、分布の違いにより文字列画像内の文字列は活字又は手書きのいずれであるかを判定する。
【0065】
なお、説明したプログラムについては、記録媒体に格納して提供してもよく、また、そのプログラムを通信手段によって提供してもよい。その場合、例えば、前記説明したプログラムについて、「プログラムを記録したコンピュータ読み取り可能な記録媒体」の発明として捉えてもよい。
「プログラムを記録したコンピュータ読み取り可能な記録媒体」とは、プログラムのインストール、実行、プログラムの流通などのために用いられる、プログラムが記録されたコンピュータで読み取り可能な記録媒体をいう。
なお、記録媒体としては、例えば、デジタル・バーサタイル・ディスク(DVD)であって、DVDフォーラムで策定された規格である「DVD−R、DVD−RW、DVD−RAM等」、DVD+RWで策定された規格である「DVD+R、DVD+RW等」、コンパクトディスク(CD)であって、読出し専用メモリ(CD−ROM)、CDレコーダブル(CD−R)、CDリライタブル(CD−RW)等、ブルーレイ・ディスク(Blu−ray Disc(登録商標))、光磁気ディスク(MO)、フレキシブルディスク(FD)、磁気テープ、ハードディスク、読出し専用メモリ(ROM)、電気的消去及び書換可能な読出し専用メモリ(EEPROM)、フラッシュ・メモリ、ランダム・アクセス・メモリ(RAM)等が含まれる。
そして、前記のプログラム又はその一部は、前記記録媒体に記録して保存や流通等させてもよい。また、通信によって、例えば、ローカル・エリア・ネットワーク(LAN)、メトロポリタン・エリア・ネットワーク(MAN)、ワイド・エリア・ネットワーク(WAN)、インターネット、イントラネット、エクストラネット等に用いられる有線ネットワーク、あるいは無線通信ネットワーク、さらにこれらの組み合わせ等の伝送媒体を用いて伝送させてもよく、また、搬送波に乗せて搬送させてもよい。
さらに、前記のプログラムは、他のプログラムの一部分であってもよく、あるいは別個のプログラムと共に記録媒体に記録されていてもよい。また、複数の記録媒体に分割して
記録されていてもよい。また、圧縮や暗号化など、復元可能であればどのような態様で記録されていてもよい。
【符号の説明】
【0066】
110…画像受付モジュール
120…文字列抽出モジュール
130…細線化処理モジュール
140…矩形サイズ決定モジュール
150…矩形分割処理モジュール
160…ハフ変換処理モジュール
170…閾値処理モジュール
180…特徴抽出モジュール
185…距離測定モジュール
190…判定モジュール
195…出力モジュール
910…加算処理モジュール
920…ヒストグラム作成処理モジュール
930…ピーク抽出モジュール
940…ピーク処理モジュール
942…ピーク・教師データ比較モジュール
944…ピーク周囲分散算出モジュール
950…特徴量格納モジュール
1100…教師データテーブル
1410…ピーク抽出モジュール
1420…ピーク特徴抽出モジュール
1430…特徴量格納モジュール
1810…分散算出モジュール
1820…分散合計・高さ抽出モジュール
1830…特徴量格納モジュール

【特許請求の範囲】
【請求項1】
文字列を含む文字列画像に対して、細線情報に変換する細線変換手段と、
前記細線変換手段によって細線となった文字列画像内に矩形領域を設定する領域設定手段と、
前記領域設定手段によって設定された矩形領域に対して、ハフ変換を行うハフ変換手段と、
前記ハフ変換手段によるハフ変換の処理結果の線分の角度情報と、その高さ情報を特徴として抽出する特徴抽出手段と、
前記特徴抽出手段によって抽出された特徴に基づいて、前記文字列画像内の文字列は活字又は手書きのいずれであるかを判定する判定手段
を具備することを特徴とする画像処理装置。
【請求項2】
前記特徴抽出手段は、
前記ハフ変換手段によるハフ変換の前記各矩形の処理結果に対して重みづけを行い、線分情報ではないと判断されるものを除外した該重みづけを行った処理結果を加算する加算手段と、
前記加算手段による処理結果を角度における分布と予め定められた値を比較することによって、該処理結果内から第1の値を抽出する第1の値抽出手段と、
前記第1の値抽出手段によって抽出された第1の値と予め定められた値との差を特徴量として抽出する第1の特徴量抽出手段
を具備することを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記特徴抽出手段は、
前記ハフ変換手段によるハフ変換の前記各矩形の処理結果に対して重みづけを行い、線分情報ではないと判断されるものを除外した該重みづけを行った処理結果を加算する加算手段と、
前記加算手段による処理結果を角度における分布と予め定められた値を比較することによって、該処理結果内から第1の値を抽出する第1の値抽出手段と、
前記第1の値抽出手段によって抽出された第1の値に対して予め定められた範囲内における前記加算手段による処理結果の分散を特徴量として抽出する第2の特徴量抽出手段
を具備することを特徴とする請求項1に記載の画像処理装置。
【請求項4】
前記特徴抽出手段は、
前記第1の値抽出手段によって抽出された第1の値に対して予め定められた範囲内における前記加算手段による処理結果の分散を特徴量として抽出する第2の特徴量抽出手段
をさらに具備することを特徴とする請求項2に記載の画像処理装置。
【請求項5】
前記特徴抽出手段は、
前記ハフ変換手段によるハフ変換の前記各矩形の処理結果を予め定められた値と比較することによって、該処理結果内から第2の値を抽出する第2の値抽出手段と、
前記第2の値抽出手段によって抽出された第2の値の高さと角度を特徴量として抽出する第3の特徴量抽出手段
を具備することを特徴とする請求項1から4のいずれか一項に記載の画像処理装置。
【請求項6】
前記特徴抽出手段は、
予め定められた値に対して予め定められた範囲内における前記ハフ変換手段によるハフ変換の前記各矩形の処理結果の分散を算出する分散算出手段と、
前記分散算出手段によって算出された前記各矩形の分散の合計と高さを特徴量として抽出する第4の特徴量抽出手段
を具備することを特徴とする請求項1から4のいずれか一項に記載の画像処理装置。
【請求項7】
コンピュータを、
文字列を含む文字列画像に対して、細線情報に変換する細線変換手段と、
前記細線変換手段によって細線となった文字列画像内に矩形領域を設定する領域設定手段と、
前記領域設定手段によって設定された矩形領域に対して、ハフ変換を行うハフ変換手段と、
前記ハフ変換手段によるハフ変換の処理結果の線分の角度情報と、その高さ情報を特徴として抽出する特徴抽出手段と、
前記特徴抽出手段によって抽出された特徴に基づいて、前記文字列画像内の文字列は活字又は手書きのいずれであるかを判定する判定手段
として機能させることを特徴とする画像処理プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate


【公開番号】特開2012−22359(P2012−22359A)
【公開日】平成24年2月2日(2012.2.2)
【国際特許分類】
【出願番号】特願2010−157514(P2010−157514)
【出願日】平成22年7月12日(2010.7.12)
【出願人】(000005496)富士ゼロックス株式会社 (21,908)
【出願人】(504137912)国立大学法人 東京大学 (1,942)
【Fターム(参考)】