(57)【要約】【課題】分離した複数の文字パーツによって構成される文字の検出が適正に行える技術を提供する。【解決手段】読取画像入力部には、分離した複数の文字パーツによって構成される文字が並んだ文字列の読取画像が入力される。検出部は、画像入力部に入力された読取画像に対して、文字パーツを検出する。グループ化部は、文字の高さ方向において、重複している部分がある文字パーツをグループ化し、また文字の幅方向において、分離している間隔が設定画素数以下である文字パーツをグループ化することにより、文字を検出する。【選択図】図２
2020149426.tif 000002
【特許請求の範囲】
【請求項１】
分離した複数の文字パーツによって構成される文字が並んだ文字列の読取画像が入力される読取画像入力部と、
前記画像入力部に入力された前記読取画像に対して、前記文字パーツを検出する検出部と、
前記文字パーツを文字単位でグループ化して文字を検出するグループ化部と、を備え、
前記グループ化部は、前記文字の高さ方向において、重複している部分がある前記文字パーツをグループ化し、また前記文字の幅方向において、分離している間隔が設定画素数以下である前記文字パーツをグループ化する、文字認識装置。
【請求項２】
前記グループ化部は、前記読取画像の文字列に対して、前記文字の幅方向において隣接する前記文字パーツ間毎に、当該文字パーツ間の画素数を計数した計数結果に基づき、前記設定画素数を設定する、請求項１に記載の文字認識装置。
【請求項３】
前記グループ化部によってグループ化された前記文字パーツを１文字として認識する認識部を備えた請求項１、または２に記載の文字認識装置。
【請求項４】
前記グループ化部は、グループ化した文字が、前記文字の幅方向の長さの上限を示す上限文字幅を超えるとき、この文字を複数の文字に分割する、請求項１〜３のいずれかに記載の文字認識装置。
【請求項５】
前記グループ化部は、グループ化した文字が、前記文字の高さ方向の長さの上限を示す上限文字高さを超えるとき、この文字を複数の文字に分割する、請求項１〜４のいずれかに記載の文字認識装置。
【請求項６】
画像入力部に入力された、分離した複数の文字パーツによって構成される文字が並んだ文字列の読取画像に対して、前記文字パーツを検出する検出ステップと、
前記文字パーツを文字単位でグループ化して文字を検出するグループ化ステップと、を備え、
前記グループ化ステップは、前記文字の高さ方向において、重複している部分がある前記文字パーツをグループ化し、また前記文字の幅方向において、分離している間隔が設定画素数以下である前記文字パーツをグループ化するステップである、文字認識方法。
【請求項７】
画像入力部に入力された、分離した複数の文字パーツによって構成される文字が並んだ文字列の読取画像に対して、前記文字パーツを検出する検出ステップと、
前記文字パーツを文字単位でグループ化して文字を検出するグループ化ステップと、をコンピュータに実行させる文字認識プログラムであって、
前記グループ化ステップは、前記文字の高さ方向において、重複している部分がある前記文字パーツをグループ化し、また前記文字の幅方向において、分離している間隔が設定画素数以下である前記文字パーツをグループ化するステップである、文字認識プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、分離した複数の文字パーツによって構成される文字を認識する技術に関する。
【背景技術】
【０００２】
従来、７セグメントによって表示された文字を、画像処理で認識する文字認識装置があった（特許文献１等参照）。７セグメントは、周知のように、７つのセグメントを所定のパターンに配置したものである。各セグメントは、直線形状である。７セグメントは、表示する数字等の文字に応じて、選択された１つ以上のセグメントによって文字を表示する。
【０００３】
特許文献１は、７セグメントの特徴（セグメントが直線形状であること、７つのセグメントの配置等）を前提にして選択されているセグメント（表示する数字等の文字に応じて選択されたセグメント）を連結することにより、７セグメントで表示された文字を認識する構成である。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１８−１５６１６９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、分離した複数の文字パーツによって文字を形成するフォントには、ステンシルフォントがある。ステンシルフォントは、７セグメントと異なり、曲線の文字パーツ等もあり、文字パーツの種類が多様である。また、ステンシルフォントは、文字パーツの相対的な位置関係も多様である。したがって、特許文献１に記載された構成では、ステンシルフォントにかかる文字については、文字単位で文字パーツを連結することができない。
【０００６】
なお、７セグメントにおいては、各セグメントが文字パーツである。
【０００７】
この発明の目的は、分離した複数の文字パーツによって構成される文字の検出が適正に行える技術を提供することにある。
【課題を解決するための手段】
【０００８】
この発明の文字認識装置は、上記目的を達成するため以下に示すように構成している。
【０００９】
読取画像入力部には、分離した複数の文字パーツによって構成される文字が並んだ文字列の読取画像が入力される。分離した複数の文字パーツによって構成される文字には、例えばステンシルフォントにかかる文字がある。
【００１０】
検出部が、画像入力部に入力された読取画像に対して、文字パーツを検出する。グループ化部が、文字パーツを文字単位でグループ化して文字を検出する。このグループ化部は、文字の高さ方向において、重複している部分がある文字パーツをグループ化し、また文字の幅方向において、分離している間隔が設定画素数以下である文字パーツをグループ化する。
【００１１】
通常、高さ方向において重複している部分がある文字パーツは、同じ文字を構成する文字パーツである。また、文字の幅方向において、同じ文字を構成する文字パーツが文字の幅方向に分離している間隔は、隣接する文字間の間隔に比べて狭い。したがって、設定画素数を、同じ文字を構成する文字パーツが文字の幅方向に分離している間隔に対応する画素数よりも多く、且つ隣接する文字間の間隔に対応する画素数よりも少なく設定することで、文字単位で文字パーツのグループ化が行える。
【００１２】
また、グループ化部は、読取画像の文字列に対して、文字の幅方向において隣接する文字パーツ間毎に、当該文字パーツ間の画素数を計数した計数結果に基づき、設定画素数を設定する構成にしてもよい。
【００１３】
このように構成すれば、同じ文字を構成する文字パーツ間の間隔に対応する画素数と、隣接する文字間の間隔に対応する画素数とが区別できる計数結果を得ることができるので、読取画像における文字の大きさに影響されることなく、設定画素数を適正に設定できる。
【００１４】
また、グループ化部によってグループ化された文字パーツを１文字として認識する認識部を備えることによって、文字認識が行える。
【００１５】
また、文字の高さ方向の長さの上限を示す上限文字高さ、または文字の幅方向の長さの上限を示す上限文字幅設定し、グループ化部が、グループ化した文字が、上限文字高さ、または上限文字幅を超えるとき、この文字を複数の文字に分割する構成にしてもよい。
【００１６】
このように構成すれば、例えば読取画像における文字列が２行である場合に、上の行の文字と、下の行の文字とが、１文字としてグループ化されても、適正に文字単位で分割できる。
【発明の効果】
【００１７】
この発明によれば、分離した複数の文字パーツによって構成される文字の検出が適正に行える。
【図面の簡単な説明】
【００１８】
【図１】図１（Ａ）は、文字認識装置を適用したシステムの概略図であり、図１（Ｂ）は、読取対象物に描かれている文字列を示す図である。
【図２】この例の文字認識装置の主要部の構成を示すブロック図である。
【図３】ステンシルフォントにかかる文字の文字パーツを説明する図である。
【図４】この例の文字認識装置の動作を示すフローチャートである。
【図５】ｓ４にかかるグループ化処理を示すフローチャートである。
【図６】設定画素数を入力された読取画像に応じて設定する処理を示すフローチャートである。
【図７】離間隔検出ラインを説明する図である。
【図８】変形例２のグループ化処理示すフローチャートである。
【図９】幅方向分離候補位置を説明する図である。
【図１０】変形例３のグループ化処理示すフローチャートである。
【図１１】高さ方向分離候補位置を説明する図である。
【発明を実施するための形態】
【００１９】
以下、この発明の実施形態について説明する。
【００２０】
＜１．適用例＞
図１（Ａ）は、この例の文字認識装置を適用したシステムの概略図である。図１（Ｂ）は、読取対象物に描かれている文字列を示す図である。この文字認識装置１には、画像読取装置２が接続されている。画像読取装置２は、読取対象物３の対象領域を光学的に読み取り、この対象領域の画像を取得する。画像読取装置２は、カメラであってもよいし、イメージスキャナであってもよい。画像読取装置２は、読取対象物３の対象領域を光学的に読み取った読取画像を文字認識装置１に出力する。
【００２１】
読取対象物３の対象領域には、図１（Ｂ）に示すように、文字列３０が描かれている。この文字列を構成する文字は、ステンシルフォントにかかる文字である。この読取対象物３は、原稿であってもよいし、鋼管、鋼板等のプラント設備等に使用される鋼材であってもよいし、これら以外のものであってもよい。読取対象物は、文字列３０が描かれているものであれば、どのような材質のものであってもよいし、どのような用途で使用されるものであってもよい。
【００２２】
文字認識装置１は、画像読取装置２から入力された読取画像を処理し、ステンシルフォントにかかる文字の文字列３０を、文字単位で分割する。文字認識装置１は、分割した文字毎に、その文字を認識する。文字の認識は、例えば、公知のパターン認識で行えばよい。文字認識装置１は、文字列３０の認識結果を出力する。
【００２３】
ステンシルフォントは、公知のように、分離した複数の文字パーツによって文字が形成されるフォントである。文字認識装置１は、以下に示す（１）〜（３）の条件によって、文字パーツを文字単位でグループ化する。  
（１）文字の高さ方向において重複している部分がある文字パーツを、同じ文字を形成する文字パーツとしてグループ化する。  
（２）文字の幅方向において、分離している間隔が設定画素数以下である文字パーツを、同じ文字を形成する文字パーツとしてグループ化する。  
（３）（１）、および（２）を満足しない文字パーツを、異なる文字を形成する文字パーツとみなし、グループ化しない。
【００２４】
＜２．構成例＞
図２は、この例にかかる文字認識装置の主要部の構成を示すブロック図である。文字認識装置１は、制御ユニット１１と、読取画像入力部１２と、出力部１３とを備えている。
【００２５】
制御ユニット１１は、文字認識装置１本体各部の動作を制御する。また、制御ユニット１１は、２値化処理部２１、検出部２２、グループ化部２３、および認識部２４を有している。制御ユニット１１が有する２値化処理部２１、検出部２２、グループ化部２３、および認識部２４については、後述する。
【００２６】
読取画像入力部１２には、画像読取装置２が接続されている。読取画像入力部１２には、画像読取装置２が読取対象物３の対象領域を光学的に読み取った読取画像が入力される。
【００２７】
出力部１３は、読取対象物３の対象領域に描かれていた文字列３０の認識結果を上位装置（不図示）に出力する。この上位装置は、例えば、文字認識装置１における文字列３０の認識結果を表示器の画面に表示する装置であってもよい。
【００２８】
また、上位装置は、製品の出荷検査を行う装置であってもよい。この場合、読取対象物３が出荷する製品であり、この製品に描かれている文字列３０は、例えばその製品を識別する製品コードである。上位装置は、文字認識装置１から入力された文字列３０の認識結果に基づき、出荷する製品が適正であるかどうか（製品コードが適正であるかどうか）を判定する。例えば、上位装置は、製品コードが適正でないと判定したときに警報を出力する。
【００２９】
なお、上位装置は、上記した例の装置に限らず、文字認識装置１から入力された文字列３０の認識結果を用いてなんらかの処理を行う装置であれば、どのような装置であってもよい。
【００３０】
次に、制御ユニット１１が有する２値化処理部２１、検出部２２、グループ化部２３、および認識部２４について説明する。
【００３１】
２値化処理部２１は、読取画像入力部１２に入力された読取画像を２値化画像に変換する。
【００３２】
検出部２２は、２値化画像に対して、文字を形成する文字パーツ５１〜５４を検出する。例えば、図３に示すように、
文字「Ｆ」は、２つの文字パーツ５１、５２によって形成され、
文字「７」は、２つの文字パーツ５３、５４によって形成され、
文字「０」は、２つの文字パーツ５５、５６によって形成され、
文字「５」は、４つの文字パーツ５７〜６０によって形成され、
文字「１」は、１つの文字パーツ６１によって形成され、
文字「３」は、３つの文字パーツ６２〜６４によって形成される。
【００３３】
グループ化部２３は、検出部２２によって検出された文字パーツ５１〜６４を文字単位でグループ化する。グループ化部２３が、文字パーツ５１〜６４を文字単位でグループ化する処理の詳細については後述する。
【００３４】
認識部２４は、グループ化部２３によってグループ化された文字を１つずつ認識する。
【００３５】
文字認識装置１の制御ユニット１１は、ハードウェアＣＰＵ、メモリ、その他の電子回路によって構成されている。ハードウェアＣＰＵが、この発明にかかる文字認識プログラムを実行したときに、２値化処理部２１、検出部２２、グループ化部２３、および認識部２４として動作する。また、メモリは、この発明にかかる文字認識プログラムを展開する領域や、この文字認識プログラムの実行時に生じたデータ等を一時記憶する領域を有している。制御ユニット１１は、ハードウェアＣＰＵ、メモリ等を一体化したＬＳＩであってもよい。また、ハードウェアＣＰＵが、この発明にかかる文字認識方法を実行するコンピュータである。
【００３６】
なお、制御ユニット１１のメモリは、グループ化部２３が文字パーツ５１〜６４を文字単位でグループ化するときに用いる設定画素数を記憶する。この設定画素数については、後述する。
【００３７】
＜３．動作例＞
図４は、この例の文字認識装置の動作を示すフローチャートである。文字認識装置１は、画像読取装置２から読取画像が読取画像入力部１２に入力されるのを待つ（ｓ１）。文字認識装置１は、読取画像が読取画像入力部１２に入力されると、２値化処理部２１が入力された読取画像を２値化画像に変換する２値化画像生成処理を行う（ｓ２）。ｓ２で生成される２値化画像は、文字パーツ５１〜６４にかかる画素が黒（「０」）であり、それ以外の画素が白（「１」）である２値化画像を生成する。ただし、ノイズ等によって、文字パーツ５１〜６４にかかる画素であっても白（「１」）になる画素もあれば、反対に、文字パーツ５１〜６４以外の画素であっても黒（「０」）になる画素もある。
【００３８】
なお、画像読取装置２が、読取画像の２値化画像を生成し、文字認識装置１に出力する構成である場合、ｓ２にかかる処理は不要になる。
【００３９】
検出部２２が、ｓ２で生成された２値化画像を処理し、文字パーツ５１〜６４を検出する（ｓ３）。隣接している黒画素の塊（ブロック）を、１つの文字パーツ５１〜６４として検出する。このとき、検出部２２は、設定画素数未満（例えば、３〜８画素未満）のブロックについては、ノイズであると判断し、このブロックが白画素のブロックであれば、このブロックに属する全ての画素を黒画素に変換し、反対に、このブロックが黒画素のブロックであれば、このブロックに属する全ての画素を白画素に変換する。
【００４０】
グループ化部２３が、ｓ３で検出された文字パーツ５１〜６４を文字単位でグループ化するグループ化処理を行う（ｓ４）。
【００４１】
図５は、ｓ４にかかるグループ化処理を示すフローチャートである。グループ化部２３は、ｓ３で検出された文字パーツ５１〜６４の中から、基準文字パーツを選択する（ｓ１１）。ここでは、文字列３０が、文字を左側から右側に書き進める左横書きであるとして説明する。グループ化部２３は、文字の書字方向において、後端に位置する文字パーツ５１〜６４を基準文字パーツとして選択する。図３に示す例では、まず、文字パーツ５１が基準文字パーツに選択される。
【００４２】
グループ化部２３は、ｓ１１で選択した基準文字パーツ（文字パーツ５１）に対して、文字の高さ方向においた、重複する部分を有する文字パーツ５２〜６４を抽出する（ｓ１２）。この例では、基準文字パーツが文字パーツ５１である場合、文字パーツ５２が抽出される。
【００４３】
グループ化部２３は、ｓ１１で選択した基準文字パーツ、またはｓ１２で抽出した文字パーツに対して、文字の幅方向において分離している間隔が、設定画素数以下である文字パーツを抽出する（ｓ１３）。この例では、この設定画素数は、予め設定されている。例えば、グループ化部２３は、基準文字パーツとして文字パーツ５１を選択した場合、ｓ１２で文字パーツ５２を抽出し、ｓ１３で文字パーツを抽出しない。また、グループ化部２３は、基準文字パーツとして文字パーツ５７を選択した場合、ｓ１２で文字パーツ５８を抽出し、さらにｓ１３で文字パーツ５９、６０を抽出する。また、グループ化部２３は、基準文字パーツとして文字パーツ６１を選択した場合、ｓ１２、およびｓ１３で文字パーツを抽出しない。
【００４４】
グループ化部２３は、ｓ１１で選択した文字パーツ（基準文字パーツ）、ｓ１２で抽出した文字パーツ、およびｓ１３で抽出した文字パーツをグループ化する（ｓ１４）。グループ化部２３は、ｓ１４でグループ化した文字パーツを、１文字として検出する。
【００４５】
グループ化部２３は、未処理の文字パーツ５１〜６４の有無を判定し（ｓ１５）、未処理の文字パーツ５１〜６４があればｓ１１に戻って、上記処理を繰り返す。ここで言う未処理の文字パーツ５１〜６４とは、ｓ１４で１文字として検出されていない文字パーツ５１〜６４である。図３に示す例では、基準文字パーツとして、文字パーツ５１、文字パーツ５３、文字パーツ５５、文字パーツ５７、文字パーツ６１、文字パーツ６２の順番に選択される。
【００４６】
グループ化部２３は、ｓ１５で未処理の文字パーツが無いと判定すると、このグループ化処理を終了する。
【００４７】
図４に戻って、文字認識装置１は、ｓ４にかかるグループ化処理で検出された文字を、認識部２４で認識する文字認識処理を行う（ｓ５）。この文字認識処理は、公知のパターンマッチング等の処理で行えばよい。文字認識装置１は、出力部１３において、文字認識結果を上位装置に出力し（ｓ６）、ｓ１に戻る。
【００４８】
通常、高さ方向において重複している部分がある文字パーツ５１〜６４は、同じ文字を構成する文字パーツである。また、文字の幅方向において、同じ文字を構成する文字パーツ５１〜６４が文字の幅方向に分離している間隔は、隣接する文字間の間隔に比べて狭い。したがって、ｓ１３で用いる設定画素数を、同じ文字を構成する文字パーツ５１〜６４が文字の幅方向に分離している間隔に対応する画素数よりも多く、且つ隣接する文字間の間隔に対応する画素数よりも少なく設定しておくことで、文字単位で文字パーツ５１〜６４のグループ化が行える。すなわち、分離した複数の文字パーツによって構成される文字の検出が適正に行える。その結果、文字認識も精度よく行える
＜４．変形例＞
［変形例１］
この変形例１にかかる文字認識装置１のハードウェアにかかる構成は、上記の例と同様に図２に示した構成である。また、この変形例１にかかる文字認識装置１は、上記した図４、および図５に示した処理に加えて、図６に示す処理を追加的に行う点で上記の例と相違する。具体的には、上記の例では、ｓ１３で用いる設定画素数を予め設定しておくとしたが、この変形例１にかかる文字認識装置１は、画像読取装置２から入力された読取画像に応じてｓ１３で用いる設定画素数を設定する。
【００４９】
同じ文字を構成する文字パーツ５１〜６４が文字の幅方向に分離している間隔は、読取画像における文字の大きさによって変化する。したがって、入力される読取画像間で、文字の大きさが異なるシステムであれば、以下に示す処理で、ｓ１３で用いる設定画素数を設定する構成を備えることによって、同じ文字を構成する文字パーツ５１〜６４が、別の文字を構成する文字パーツとしてグループ化されたり、反対に、別の文字を構成する文字パーツ５１〜６４が、同じ文字を構成する文字パーツとしてグループ化されたりするのを防止できる。すなわち、分離した複数の文字パーツ５１〜６４によって構成される文字の検出が適正に行える。
【００５０】
図６は、設定画素数を入力された読取画像に応じて設定する処理を示すフローチャートである。この例では、グループ化部２３がこの図６に示す処理を行う。また、この図６に示す処理は、上記ｓ１３にかかる処理を行う前に、実行される。
【００５１】
グループ化部２３は、文字列３０の文字の並び方向に延びる、分離間隔検出ライン１００を設定する。この分離間隔検出ライン１００は、図７に示すように、文字列３０の文字の並び方向において、文字パーツ５１〜６４間の隙間の個数が最大になる位置に設定する。ここで言う文字パーツ５１〜６４間の隙間には、同じ文字を構成する文字パーツ５１〜６４間の隙間と、隣接する文字間の隙間とが含まれる。
【００５２】
グループ化部２３は、文字パーツ５１〜６４間の隙間毎に、幅方向の画素数を計数する（ｓ２２）。図７に示す例では、文字パーツ５１と文字パーツ５２との間、文字パーツ５２と文字パーツ５３との間、文字パーツ５３と文字パーツ５５との間、文字パーツ５５と文字パーツ５６との間、文字パーツ５６と文字パーツ５７との間、文字パーツ５７と文字パーツ５９との間、文字パーツ５９と文字パーツ６１との間、文字パーツ６１と文字パーツ６２との間、および文字パーツ６２と文字パーツ６４との間の９か所について、画素数を計数する。
【００５３】
ｓ２２では、上記したように、同じ文字を構成する文字パーツ５１〜６４間の隙間、および隣接する文字間の隙間の画素数を計数している。このため、画素数の計数結果は、比較的画素数の少ないグループ（同じ文字を構成する文字パーツ５１〜６４間の隙間の画素数を計数したグループ）と、比較的画素数の多いグループ（隣接する文字間の隙間の画素数を計数したグループ）とに分かれる。
【００５４】
グループ化部２３は、上記２つのグループの間に存在する画素数を、ｓ１３にかかる処理で用いる設定画素数に設定する（ｓ２３）。
【００５５】
［変形例２］
この変形例２にかかる文字認識装置１のハードウェアにかかる構成は、上記の例と同様に図２に示した構成である。また、この変形例２にかかる文字認識装置１は、上記した例と異なる点は、グループ化処理として、上記した図５の処理に換えて、図８に示す処理を行う点で相違する。図８では、図５に示した処理と同じ処理については同じステップ番号を付している。
【００５６】
なお、この変形例２にかかる文字認識装置１は、図６に示した処理を実行してもよいし、実行しなくてもよい。
【００５７】
この変形例２にかかる文字認識装置１も、ｓ１１〜ｓ１４の処理を実行する。グループ化部２３は、ｓ１４でグループ化した文字の幅が、予め設定されている上限文字幅を超えているかどうかを判定する（ｓ３１）。この上限文字幅は、文字列３０に使用される文字であって、文字幅が最大である文字（幅基準文字）に応じて設定されている。具体的には、上限文字幅は、幅基準文字の文字幅の１．２倍〜１．３倍の長さに設定されている。
【００５８】
したがって、ｓ１４でグループ化した文字パーツ５１〜６４によって構成される文字が１文字であれば、上記ｓ３１において、上限文字幅を超えていないと判定される。一方、ｓ１４でグループ化した文字パーツ５１〜６４によって構成される文字が幅方向に並んでいる２文字以上であれば、上記ｓ３１において、上限文字幅を超えていると判定される。
【００５９】
グループ化部２３は、ｓ３１で上限文字幅を超えていないと判定すると、ｓ１５に進む。一方、グループ化部２３は、ｓ３１で上限文字幅を超えていると判定すると、幅方向において文字を分離する幅方向分離候補位置を設定する（ｓ３２）。ｓ３２では、文字パーツ５１〜６４間の隙間が、文字の高さ方向全体にわたって連続している位置を検出し、ここで検出した位置を幅方向分離候補位置に設定する。具体的には、図９に示すように、ｓ１４で文字「１」および「３」にかかる文字パーツがグループ化された場合、幅方向分離候補位置１０１ａ、１０１ｂが２つ設定される。幅方向分離候補位置１０１ａは、文字「１」と「３」との間の隙間であり、幅方向分離候補位置１０１ｂは、文字「３」の幅方向の中間に位置する隙間である。
【００６０】
グループ化部２３は、ｓ３２で設定した幅方向分離候補位置１０１ａ、１０１ｂの中から選択した幅方向分離候補位置１０１ａで、ｓ１４においてグループ化した文字パーツ５１〜６４によって構成される文字を分離し（ｓ３３）、ｓ１５に進む。ｓ３３では、幅方向の画素数（幅方向の間隔）が最大である幅方向分離候補位置１０１ａを選択する。
【００６１】
したがって、この変形例２にかかる文字認識装置１は、文字列３０において幅方向に隣接している２つ以上の文字を１文字として検出することがない。
【００６２】
［変形例３］
この変形例３にかかる文字認識装置１のハードウェアにかかる構成は、上記の例と同様に図２に示した構成である。また、この変形例３にかかる文字認識装置１は、上記した例と異なる点は、グループ化処理として、上記した図５の処理に換えて、図１０に示す処理を行う点で相違する。図１０では、図５に示した処理と同じ処理については同じステップ番号を付している。
【００６３】
なお、この変形例３にかかる文字認識装置１は、図６に示した処理を実行してもよいし、実行しなくてもよい。
【００６４】
この変形例３にかかる文字認識装置１も、ｓ１１〜ｓ１４の処理を実行する。グループ化部２３は、ｓ１４でグループ化した文字の高さが、予め設定されている上限文字高さを超えているかどうかを判定する（ｓ４１）。この上限文字高さは、文字列３０に使用される文字であって、文字高さが最大である文字（高さ基準文字）に応じて設定されている。具体的には、上限文字高さは、高さ基準文字の文字高さの１．２倍〜１．３倍の長さに設定されている。
【００６５】
したがって、ｓ１４でグループ化した文字パーツ５１〜６４によって構成される文字が１文字であれば、上記ｓ４１において、上限文字高さを超えていないと判定される。一方、ｓ１４でグループ化した文字パーツ５１〜６４によって構成される文字が高さ方向に並んでいる２文字以上であれば、上記ｓ４１において、上限文字高さを超えていると判定される。
【００６６】
グループ化部２３は、ｓ４１で上限文字高さを超えていないと判定すると、ｓ１５に進む。一方、グループ化部２３は、ｓ４１で上限文字高さを超えていると判定すると、高さ方向において文字を分離する高さ方向分離候補位置を設定する（ｓ４２）。ｓ４２では、文字パーツ５１〜６４間の隙間が、文字の幅方向全体にわたって連続している位置を検出し、ここで検出した位置を高さ方向分離候補位置に設定する。具体的には、図１１に示すように、ｓ１４で文字「Ｆ」および「７」にかかる文字パーツがグループ化された場合、高さ方向分離候補位置１０２ａ、１０２ｂが２つ設定される。高さ方向分離候補位置１０２ａは、文字「Ｆ」と「７」との間の隙間であり、高さ方向分離候補位置１０２ｂは、文字「７」の高さ方向の中間に位置する隙間である。
【００６７】
グループ化部２３は、ｓ４２で設定した高さ方向分離候補位置１０２ａ、１０２ｂの中から選択した高さ方向分離候補位置１０２ａで、ｓ１４においてグループ化した文字パーツ５１〜６４によって構成される文字を分離し（ｓ４３）、ｓ１５に進む。ｓ４３では、高さ方向の画素数（高さ方向の間隔）が最大である高さ方向分離候補位置１０２ａを選択する。
【００６８】
したがって、この変形例３にかかる文字認識装置１は、複数行にわたる文字列３０において高さ方向に隣接している２つ以上の文字を１文字として検出することがない。
【００６９】
なお、図１０における、ｓ１４とｓ４１の間、またはｓ４３とｓ１５の間のどちらかに、変形例２のｓ３１〜ｓ３３の処理を追加してもよい。ｓ１４とｓ４１の間に、変形例２のｓ３１〜ｓ３３の処理を追加する場合は、ｓ３１で上限文字高さを超えていないと判定すると、ｓ４１に進むようにすればよい。また、ｓ４３とｓ１５の間に、変形例２のｓ３１〜ｓ３３の処理を追加する場合は、ｓ４１で上限文字高さを超えていないと判定すると、ｓ３１に進むようにすればよい。
【００７０】
また、上記の例では、入力された読取画像を２値化画像に変換するとしたが、入力された読取画像をエッジ画像に変換してもよい。
【００７１】
また、上記した例の文字認識装置１は、分離した複数の文字パーツによって構成される文字であれば、ステンシルフォント以外の文字であっても、１文字ずつ検出し、検出した文字を認識することができる。
【００７２】
なお、この発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態に亘る構成要素を適宜組み合せてもよい。
【００７３】
さらに、この発明に係る構成と上述した実施形態に係る構成との対応関係は、以下の付記のように記載できる。  
＜付記＞
分離した複数の文字パーツ（５１〜６４）によって構成される文字が並んだ文字列の読取画像が入力される読取画像入力部（１２）と、
前記画像入力部（１２）に入力された前記読取画像に対して、前記文字パーツ（５１〜６４）を検出する検出部（２２）と、
前記文字パーツ（５１〜６４）を文字単位でグループ化して文字を検出するグループ化部（２３）と、を備え、
前記グループ化部（２３）は、前記文字の高さ方向において、重複している部分がある前記文字パーツ（５１〜６４）をグループ化し、また前記文字の幅方向において、分離している間隔が設定画素数以下である前記文字パーツ（５１〜６４）をグループ化する、文字認識装置（１）。
【符号の説明】
【００７４】
１…文字認識装置
２…画像読取装置
３…読取対象物
１１…制御ユニット
１２…読取画像入力部
１３…出力部
２１…２値化処理部
２２…検出部
２３…グループ化部
２４…認識部
３０…文字列
５１〜６４…文字パーツ
１００…分離間隔検出ライン
１０１ａ、１０１ｂ…幅方向分離候補位置
１０２ａ、１０２ｂ…高さ方向分離候補位置
【図１】
2020149426.tif 000003
【図２】
2020149426.tif 000004
【図３】
2020149426.tif 000005
【図４】
2020149426.tif 000006
【図５】
2020149426.tif 000007
【図６】
2020149426.tif 000008
【図７】
2020149426.tif 000009
【図８】
2020149426.tif 000010
【図９】
2020149426.tif 000011
【図１０】
2020149426.tif 000012
【図１１】
2020149426.tif 000013