(57)【特許請求の範囲】
【請求項１】
背景色を有する背景の上に前記背景色とは異なる色で記載された文字を有する被写体を撮像した入力画像と、前記背景から前記背景に影が重なる領域への輝度変化の判定に用いる第１の閾値と、前記背景に影が重なる領域から前記文字に影が重なる領域への輝度変化の判定に用いる第２の閾値と、を記憶する記憶部と、
前記入力画像内で前記被写体の端部に位置する画素について輝度の減少を検出し、当該輝度の減少が前記第１の閾値より大きい画素を特定し、特定した画素を始点として隣接する画素を順次追跡しながら輝度の増加及び減少を検出し、当該輝度の増加が前記第１の閾値より小さい画素を特定して第１のフラグを設定し、当該輝度の減少が前記第２の閾値より大きい画素を特定して第２のフラグを設定し、前記第１のフラグを設定した画素の輝度を前記背景の輝度に設定する演算部と、
を有する、画像処理装置。
【請求項２】
前記演算部は、前記特定した画素を始点として隣接する画素を順次追跡する際、追跡方向を維持するように追跡範囲を制限する
請求項１に記載の画像処理装置。
【請求項３】
前記記憶部は、前記影の形状を示すパターン情報をさらに記憶し、
前記演算部は、前記第１のフラグ及び前記第２のフラグを設定した画素の集合が有する形状に基づき、前記パターン情報の中から類似する前記影の形状を特定し、特定した形状に沿った方向に追跡範囲を拡張して前記画素を特定する処理を継続する
請求項１又は２に記載の画像処理装置。
【請求項４】
前記演算部は、前記被写体の端部に位置する画素のうち前記第１のフラグが設定された連続する画素の集合の数をカウントし、前記被写体の対向する二辺の一方についてカウントした前記集合の数と、他方についてカウントした前記集合の数とが同じ場合、前記一方の辺に位置する前記画素の集合と、前記他方の辺に位置する前記画素の集合とを結ぶ直線上に追跡範囲を制限して前記画素を特定する処理を実行する
請求項３に記載の画像処理装置。
【請求項５】
コンピュータが、
背景色を有する背景の上に前記背景色とは異なる色で記載された文字を有する被写体を撮像した入力画像と、前記背景から前記背景に影が重なる領域への輝度変化の判定に用いる第１の閾値と、前記背景に影が重なる領域から前記文字に影が重なる領域への輝度変化の判定に用いる第２の閾値と、を取得し、
前記入力画像内で前記被写体の端部に位置する画素について輝度の減少を検出し、当該輝度の減少が前記第１の閾値より大きい画素を特定し、特定した画素を始点として隣接する画素を順次追跡しながら輝度の増加及び減少を検出し、当該輝度の増加が前記第１の閾値より小さい画素を特定して第１のフラグを設定し、当該輝度の減少が前記第２の閾値より大きい画素を特定して第２のフラグを設定し、前記第１のフラグを設定した画素の輝度を前記背景の輝度に設定する
画像処理方法。
【請求項６】
コンピュータに、
背景色を有する背景の上に前記背景色とは異なる色で記載された文字を有する被写体を撮像した入力画像と、前記背景から前記背景に影が重なる領域への輝度変化の判定に用いる第１の閾値と、前記背景に影が重なる領域から前記文字に影が重なる領域への輝度変化の判定に用いる第２の閾値と、を取得し、
前記入力画像内で前記被写体の端部に位置する画素について輝度の減少を検出し、当該輝度の減少が前記第１の閾値より大きい画素を特定し、特定した画素を始点として隣接する画素を順次追跡しながら輝度の増加及び減少を検出し、当該輝度の増加が前記第１の閾値より小さい画素を特定して第１のフラグを設定し、当該輝度の減少が前記第２の閾値より大きい画素を特定して第２のフラグを設定し、前記第１のフラグを設定した画素の輝度を前記背景の輝度に設定する
処理を実行させる、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、画像処理方法、及びプログラムに関する。
【背景技術】
【０００２】
近年、様々な場面で入力画像から文字を自動認識する文字認識技術が利用されている。例えば、車両のナンバープレートから車番を読み取る車番認識システムや、カメラで撮像したランドマークの画像から文字を認識し、認識した文字に応じて情報を提供する情報提供システムなどに文字認識技術が利用されている。文字認識の方法としては、例えば、認識対象として設定した文字を表す辞書画像と入力画像とを画素単位で比較して類似度を計算し、最も類似度が高い辞書画像を認識結果とする方法がある。
【０００３】
辞書画像と入力画像とを比較する際、入力画像から文字を含む領域が切り出され、切り出された領域を二値化した二値化画像が辞書画像との比較に利用される。二値化画像の生成には、輝度の高い背景部と輝度の低い文字部とを判定する閾値が用いられる。つまり、閾値より輝度の高い画素を白に変換し、閾値より輝度の低い画素を黒に変換することで二値化画像が生成される。なお、背景部の輝度が文字部の輝度よりも低い場合には白と黒とを反転した二値化画像が生成される。
【０００４】
背景部と文字部との明暗差が画像内で一定の場合、二値化に用いる閾値を最大輝度と最小輝度との中間に設定すれば、上記の方法により背景部と文字部とを正しく分離した二値化画像が得られる。しかし、実際には、入力画像に影が映り込むことがあり、上記の方法を適用しても文字部と背景部とを正しく分離できないことがある。こうした事情に鑑み、入力画像全体に大局的な１つの閾値を設定するのではなく、画素ブロック毎に局所的な閾値を設定して二値化を行う手法が提案されている。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】Oivind Due Trier, and Anil K. Jain, "Goal-Directed Evaluation of Binarization Methods,"  IEEE Transactions On Pattern Analysis And Machine Intelligence, vol.17, no.12, pp.1194-1200, Dec. 1995.
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、細い物体による影などが文字部にかかり、線状の暗部が文字部に重なるような場合、上記提案に係る手法を適用すると、文字部と暗部とが結合して文字の形状が乱れるリスクや、重なり部分が除去されて文字部が分断されるリスクが生じる。例えば、画素ブロックのサイズを調整しても、いずれかのリスクが生じる可能性がある。そのため、線状の暗部が生じるような状況では、上記提案に係る手法を適用しても、文字認識に適した二値化画像が得られない可能性がある。
【０００７】
そこで、１つの側面によれば、本発明の目的は、文字部分を残して線状の暗部を除去することが可能な画像処理装置、画像処理方法、及びプログラムを提供することにある。
【課題を解決するための手段】
【０００８】
本開示の１つの側面によれば、背景色を有する背景の上に背景色とは異なる色で記載された文字を有する被写体を撮像した入力画像と、背景から背景に影が重なる領域への輝度変化の判定に用いる第１の閾値と、背景に影が重なる領域から文字に影が重なる領域への輝度変化の判定に用いる第２の閾値と、を記憶する記憶部と、入力画像内で被写体の端部に位置する画素について輝度の減少を検出し、当該輝度の減少が第１の閾値より大きい画素を特定し、特定した画素を始点として隣接する画素を順次追跡しながら輝度の増加及び減少を検出し、当該輝度の増加が第１の閾値より小さい画素を特定して第１のフラグを設定し、当該輝度の減少が第２の閾値より大きい画素を特定して第２のフラグを設定し、第１のフラグを設定した画素の輝度を背景の輝度に設定する演算部と、を有する、画像処理装置が提供される。
【０００９】
また、本開示の他の１つの側面によれば、コンピュータが、背景色を有する背景の上に背景色とは異なる色で記載された文字を有する被写体を撮像した入力画像と、背景から背景に影が重なる領域への輝度変化の判定に用いる第１の閾値と、背景に影が重なる領域から文字に影が重なる領域への輝度変化の判定に用いる第２の閾値と、を取得し、入力画像内で被写体の端部に位置する画素について輝度の減少を検出し、当該輝度の減少が第１の閾値より大きい画素を特定し、特定した画素を始点として隣接する画素を順次追跡しながら輝度の増加及び減少を検出し、当該輝度の増加が第１の閾値より小さい画素を特定して第１のフラグを設定し、当該輝度の減少が第２の閾値より大きい画素を特定して第２のフラグを設定し、第１のフラグを設定した画素の輝度を背景の輝度に設定する画像処理方法が提供される。
【００１０】
また、本開示の他の１つの側面によれば、コンピュータに、背景色を有する背景の上に背景色とは異なる色で記載された文字を有する被写体を撮像した入力画像と、背景から背景に影が重なる領域への輝度変化の判定に用いる第１の閾値と、背景に影が重なる領域から文字に影が重なる領域への輝度変化の判定に用いる第２の閾値と、を取得し、入力画像内で被写体の端部に位置する画素について輝度の減少を検出し、当該輝度の減少が第１の閾値より大きい画素を特定し、特定した画素を始点として隣接する画素を順次追跡しながら輝度の増加及び減少を検出し、当該輝度の増加が第１の閾値より小さい画素を特定して第１のフラグを設定し、当該輝度の減少が第２の閾値より大きい画素を特定して第２のフラグを設定し、第１のフラグを設定した画素の輝度を背景の輝度に設定する処理を実行させる、プログラムが提供される。
【発明の効果】
【００１１】
本発明によれば、文字部分を残して線状の暗部を除去することが可能になる。
【図面の簡単な説明】
【００１２】
【図１】第１実施形態に係る画像処理装置の一例を示した図である。
【図２】第２実施形態に係る車番認識システムの一例を示した図である。
【図３】第２実施形態に係る画像処理装置の機能を実現可能なハードウェアの一例を示した図である。
【図４】第２実施形態に係る画像処理装置が有する機能の一例を示したブロック図である。
【図５】第２実施形態に係る領域情報の一例を示した図である。
【図６】第２実施形態に係る領域の一例を示した図である。
【図７】第２実施形態に係る閾値情報の一例を示した図である。
【図８】第２実施形態に係る形状情報の一例を示した図である。
【図９】第２実施形態に係る辞書情報の一例を示した図である。
【図１０】第２実施形態に係る画像処理装置が実行する文字認識処理の流れを示したフロー図である。
【図１１】第２実施形態に係る端部、影、文字、重なりの一例を示した図である。
【図１２】第２実施形態に係る画像処理装置が実行する文字認識処理のうち影領域の特定及び輝度の補正に係る処理の流れを示した第１のフロー図である。
【図１３】第２実施形態に係る画像処理装置が実行する文字認識処理のうち影領域の特定及び輝度の補正に係る処理の流れを示した第２のフロー図である。
【図１４】第２実施形態に係る追跡対象の一例を示した図である。
【図１５】第２実施形態に係る画像処理装置が実行する文字認識処理のうち追跡対象の設定に係る処理の流れを示したフロー図である。
【図１６】第２実施形態に係る画像処理装置が実行する文字認識処理のうち追加探索に係る処理の流れを示したフロー図である。
【図１７】第２実施形態に係る画像処理装置が実行する文字認識処理のうち追加探索に係る処理の一例を示した図である。
【図１８】第２実施形態に係る画像処理装置が実行する文字認識処理のうち追加探索に係る処理の流れの一変形例を示したフロー図である。
【図１９】第２実施形態に係る画像処理装置が実行する文字認識処理のうち追加探索に係る処理の一変形例を示した図である。
【図２０】第２実施形態に係る画像処理装置が実行する文字認識処理のうち追跡対象の設定に係る処理の一変形例を示した図である。
【発明を実施するための形態】
【００１３】
以下に添付図面を参照しながら、本発明の実施形態について説明する。なお、本明細書及び図面において実質的に同一の機能を有する要素については、同一の符号を付することにより重複説明を省略する場合がある。
【００１４】
＜１．第１実施形態＞
図１を参照しながら、第１実施形態について説明する。図１は、第１実施形態に係る画像処理装置の一例を示した図である。
【００１５】
図１に示すように、画像処理装置１０は、記憶部１１及び演算部１２を有する。
なお、記憶部１１は、ＲＡＭ（Random Access Memory）などの揮発性記憶装置、或いは、ＨＤＤ（Hard Disk Drive）やフラッシュメモリなどの不揮発性記憶装置である。演算部１２は、ＣＰＵ（Central Processing Unit）やＤＳＰ（Digital Signal Processor）などのプロセッサである。但し、演算部１２は、ＡＳＩＣ（Application Specific Integrated Circuit）やＦＰＧＡ（Field Programmable Gate Array）などの電子回路であってもよい。演算部１２は、例えば、記憶部１１又は他のメモリに記憶されたプログラムを実行する。
【００１６】
記憶部１１は、入力画像Ｐｉｎ、第１の閾値Ｔｈ１、及び第２の閾値Ｔｈ２を記憶する。入力画像Ｐｉｎは、背景色を有する背景の上に背景色とは異なる色で記載された文字を有する被写体を撮像した画像である。なお、ここでは一例として背景色が文字の色よりも明るい色であると仮定している。例えば、背景色は白、黄色、ピンクなどであり、文字の色は黒などである。なお、背景色と文字色とを反転した場合は、背景色の輝度と文字色の輝度との関係を反転させれば、同様に第１実施形態に係る技術を適用可能である。
【００１７】
第１の閾値Ｔｈ１は、背景から、背景に影が重なる領域への輝度変化の判定に用いる閾値である。第２の閾値Ｔｈ２は、背景に影が重なる領域から文字に影が重なる領域への輝度変化の判定に用いる閾値である。背景から、背景に影が重なる領域への輝度変化は、背景に影が重なる領域から文字に影が重なる領域への輝度変化よりも大きい。そのため、第１の閾値Ｔｈ１は、例えば、第２の閾値Ｔｈ２よりも大きく設定される。
【００１８】
演算部１２は、入力画像Ｐｉｎ内で被写体の端部に位置する画素について輝度の減少を検出し、当該輝度の減少が第１の閾値Ｔｈ１より大きい画素を特定する。また、演算部１２は、端部で特定した画素を始点として隣接する画素を順次追跡しながら輝度の増加及び減少を検出する。追跡の過程で、演算部１２は、輝度の増加が第１の閾値Ｔｈ１より小さい画素を特定して第１のフラグを設定する。さらに、演算部１２は、追跡の過程で、輝度の減少が第２の閾値Ｔｈ２より大きい画素を特定して第２のフラグを設定する。そして、演算部１２は、第１のフラグだけを設定した画素の輝度を背景の輝度に設定する。
【００１９】
図１の例では、入力画像Ｐｉｎ内の被写体の枠に接する部分が端部となる。以下、枠に接する画素列から順に１段目、２段目、…と表記する場合がある。
例えば、入力画像Ｐｉｎの上辺端部に位置する（Ａ）の領域に注目すると、入力画像Ｐｉｎの上辺に接する画素列は１段目、上辺から下辺方向に向けて１段目に隣接する画素列が２段目となる。図１の例では、（Ａ）の領域に位置する１段目の画素列の一部に影がかかっているため、影がかかっている部分の輝度が背景色の輝度に比べて低下している。そのため、影がかかっている部分で輝度の減少が第１の閾値Ｔｈ１より大きくなる。演算部１２は、画素ＰｘＳとして、この部分の画素を特定する。
【００２０】
また、演算部１２は、画素ＰｘＳを始点として連続する画素を追跡しながら輝度変化を順次検出する。図１の例では、２段目の画素列のうち、連続する画素として画素ＰｘＳに対して縦方向及び斜め方向に隣接する画素が特定され、追跡範囲として設定されている。演算部１２は、追跡範囲の画素と画素ＰｘＳとの輝度変化に基づいて第１のフラグ及び第２のフラグの設定対象となる画素を特定する。図１の例では、画素ＰｘＳの下方に位置する画素（色付きの画素）に第１のフラグが設定されている。
【００２１】
第２段目の画素列について画素を特定した演算部１２は、３段目の画素列について第１のフラグ及び第２のフラグの設定対象となる画素を特定する。このとき、演算部１２は、１段目で特定した画素ＰｘＳと２段目で第１のフラグを設定した画素との位置関係から、追跡方向を計算し、３段目の追跡範囲を設定する。そして、演算部１２は、設定した追跡範囲の中で、第１のフラグ及び第２のフラグの設定対象となる画素を特定する。なお、連続する方向を考慮せず、予め設定した方向を基準に追跡範囲を設定してもよい。
【００２２】
３段目で画素を特定した方法と同様に、演算部１２は、４段目以降について第１のフラグ及び第２のフラグの設定対象となる画素を特定する。追跡範囲内で画素を特定できなかった場合、演算部１２は、始点とした画素ＰｘＳとは異なる画素ＰｘＳが１段目にないか探索し、他の画素ＰｘＳがある場合には当該他の画素ＰｘＳについて第１のフラグ及び第２のフラグの設定対象となる画素を特定する。第２のフラグが設定された画素を残し、第１のフラグが設定された画素の輝度を背景の輝度に設定すると、図１に示すように、文字の形状を乱さずに影が除去される。
【００２３】
上記のように、演算部１２は、被写体の端部から影の部分を探索し、影の部分に位置する画素を特定すると共に、文字と重なる影の部分を特定し、文字と重なる部分を残しつつ影の部分を除去する（影の部分に位置する画素の輝度を背景と同じにする）。この処理により、文字を残して影が消去されるため、文字と背景とを適切に分離する二値化用の閾値を決めることが可能になる。その結果、文字がくっきりと浮き立った鮮明な二値化画像が得られ、文字認識の精度が向上する。
【００２４】
以上、第１実施形態について説明した。
＜２．第２実施形態＞
次に、第２実施形態について説明する。
【００２５】
［２−１．システム］
まず、第２実施形態に係る技術を適用可能なシステムの例について説明する。
（車番認識システム５について）
図２を参照しながら、第２実施形態に係る技術を適用可能なシステムの一例として、車番認識システム５について説明する。図２は、第２実施形態に係る車番認識システムの一例を示した図である。
【００２６】
図２に示すように、車番認識システム５は、被写体５１を撮影する撮像装置５２、及び撮像装置５２が撮影した画像の処理を実行する画像処理装置１００を含む。撮像装置５２は、例えば、自動車やバイクなどの被写体５１に設置されたナンバープレートを含む領域ＮＲを撮影する。領域ＮＲの画像（以下、入力画像）は、画像処理装置１００に入力される。画像処理装置１００は、入力画像からナンバープレートに含まれる文字、数字、記号など（以下、単に文字と称する。）を認識する。
【００２７】
文字認識の精度は、画像に含まれる文字の鮮明度に依存する。例えば、図２に示すように、被写体５１の一部ＲＣ（例えば、バイクの荷台など）の影が領域ＮＲにかかる場合、入力画像に含まれる文字が影の影響で不鮮明になる。影の形状は、光源Ｌと領域ＮＲとの位置関係や影を作る部材の形状などに依存する。例えば、バイクの荷台は、領域ＮＲに線状の影をつくることがある。線状の影が文字にかかると、二値化した際に文字と影とが結合して文字の形が乱れ、文字認識に失敗することがある。
【００２８】
画像処理装置１００は、文字の形状を正しく残しつつ線状の影を入力画像から除去する。例えば、画像処理装置１００は、入力画像中の文字を含まない背景領域から一定幅の影を検出する。そして、画像処理装置１００は、影の部分に隣接する画素の輝度値を抽出し、影の部分として、輝度値が急激に変化しない画素を追跡する。また、画像処理装置１００は、同一方向に続く画素の集合について、輝度勾配の下降方向から上昇方向への変化の有無を記憶し、追跡した影の部分で当該変化がない画素の集合を背景領域に相当する輝度値に補正する。この補正により影が除去される。
【００２９】
上記補正後の輝度分布に基づいて二値化用の閾値を決定することで、影の影響を受けない二値化用の閾値が得られる。なお、画像処理装置１００は、背景領域から一定幅の影を検出する処理において、影の部分が延伸する方向を算出し、影の部分を追跡する範囲に限定を加えてもよい。また、バイクの荷台など、影を生じさせる部材の形状が既知の場合、影の出現するパターンの情報を予め用意しておき、画像処理装置１００が利用できるようにしてもよい。この場合、画像処理装置１００は、追跡範囲をパターンに基づいて絞り込むことができる。
【００３０】
上記のような画像処理により線状の影が除かれ、文字の鮮明度が上がる。その結果、文字認識の精度が向上する。
（その他のシステムについて）
ところで、第２実施形態に係る技術は、上記の車番認識システム５の他、例えば、ランドマーク認識システムやＯＣＲ（Optical Character Recognition）システムなど、画像から文字を認識する様々なシステムに適用することができる。
【００３１】
ランドマーク認識システムは、街中や観光地にある看板などをスマートフォンのカメラ機能などで撮像し、撮像画像から認識した文字列に基づいて地域や施設などのランドマークに関する情報を提供するシステムである。第２実施形態に係る技術をランドマーク認識システムに適用すると、看板などの文字が影にかかっているような状況においても文字認識がより精度良く行われるため、正しい情報を提供できる可能性が高まる。
【００３２】
ＯＣＲシステムは、スキャナなどの光学機器で読み取った文字列の画像から個々の文字を認識してテキストデータに変換するシステムである。第２実施形態に係る技術をＯＣＲシステムに適用すると、本などの原稿を読み取る際にスキャナのガラス面と紙面との間に異物が挟まった場合や、ガラス面のキズなどが線状の影となって生じた場合などにおいて文字認識の精度向上が期待できる。
【００３３】
以上、第２実施形態に係る技術を適用可能なシステムの例について説明した。以下では、上記の車番認識システム５を例に説明を進めるが、第２実施形態に係る技術の適用範囲はこれに限定されない。画像から文字認識を行う任意のシステムに対して第２実施形態に係る技術を適用することが可能である。
【００３４】
［２−２．ハードウェア］
ここで、図３を参照しながら、画像処理装置１００の機能を実現可能なハードウェアについて説明する。図３は、第２実施形態に係る画像処理装置の機能を実現可能なハードウェアの一例を示した図である。
【００３５】
画像処理装置１００が有する機能は、例えば、図３に示す情報処理装置のハードウェア資源を用いて実現することが可能である。つまり、画像処理装置１００が有する機能は、コンピュータプログラムを用いて図３に示すハードウェアを制御することにより実現される。
【００３６】
図３に示すように、このハードウェアは、主に、ＣＰＵ９０２と、ＲＯＭ（Read Only Memory）９０４と、ＲＡＭ９０６と、ホストバス９０８と、ブリッジ９１０とを有する。さらに、このハードウェアは、外部バス９１２と、インターフェース９１４と、入力部９１６と、出力部９１８と、記憶部９２０と、ドライブ９２２と、接続ポート９２４と、通信部９２６とを有する。
【００３７】
ＣＰＵ９０２は、例えば、演算処理装置又は制御装置として機能し、ＲＯＭ９０４、ＲＡＭ９０６、記憶部９２０、又はリムーバブル記録媒体９２８に記録された各種プログラムに基づいて各構成要素の動作全般又はその一部を制御する。ＲＯＭ９０４は、ＣＰＵ９０２に読み込まれるプログラムや演算に用いるデータなどを格納する記憶装置の一例である。ＲＡＭ９０６には、例えば、ＣＰＵ９０２に読み込まれるプログラムや、そのプログラムを実行する際に変化する各種パラメータなどが一時的又は永続的に格納される。
【００３８】
これらの要素は、例えば、高速なデータ伝送が可能なホストバス９０８を介して相互に接続される。一方、ホストバス９０８は、例えば、ブリッジ９１０を介して比較的データ伝送速度が低速な外部バス９１２に接続される。また、入力部９１６としては、例えば、マウス、キーボード、タッチパネル、タッチパッド、ボタン、スイッチ、及びレバーなどが用いられる。さらに、入力部９１６としては、赤外線やその他の電波を利用して制御信号を送信することが可能なリモートコントローラが用いられることもある。
【００３９】
出力部９１８としては、例えば、ＣＲＴ（Cathode Ray Tube）、ＬＣＤ（Liquid Crystal Display）、ＰＤＰ（Plasma Display Panel）、又はＥＬＤ（Electro-Luminescence Display）などのディスプレイ装置が用いられる。また、出力部９１８として、スピーカやヘッドホンなどのオーディオ出力装置、又はプリンタなどが用いられることもある。つまり、出力部９１８は、情報を視覚的又は聴覚的に出力することが可能な装置である。
【００４０】
記憶部９２０は、各種のデータを格納するための装置である。記憶部９２０としては、例えば、ＨＤＤなどの磁気記憶デバイスが用いられる。また、記憶部９２０として、ＳＳＤ（Solid State Drive）やＲＡＭディスクなどの半導体記憶デバイス、光記憶デバイス、又は光磁気記憶デバイスなどが用いられてもよい。
【００４１】
ドライブ９２２は、着脱可能な記録媒体であるリムーバブル記録媒体９２８に記録された情報を読み出し、又はリムーバブル記録媒体９２８に情報を書き込む装置である。リムーバブル記録媒体９２８としては、例えば、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリなどが用いられる。
【００４２】
接続ポート９２４は、例えば、ＵＳＢ（Universal Serial Bus）ポート、ＩＥＥＥ１３９４ポート、ＳＣＳＩ（Small Computer System Interface）、ＲＳ−２３２Ｃポート、又は光オーディオ端子など、外部接続機器９３０を接続するためのポートである。外部接続機器９３０としては、例えば、プリンタなどが用いられる。
【００４３】
通信部９２６は、ネットワーク９３２に接続するための通信デバイスである。通信部９２６としては、例えば、有線又は無線ＬＡＮ（Local Area Network）用の通信回路、ＷＵＳＢ（Wireless USB）用の通信回路、光通信用の通信回路やルータ、ＡＤＳＬ（Asymmetric Digital Subscriber Line）用の通信回路やルータ、携帯電話ネットワーク用の通信回路などが用いられる。通信部９２６に接続されるネットワーク９３２は、有線又は無線により接続されたネットワークであり、例えば、インターネット、ＬＡＮ、放送網、衛星通信回線などを含む。
【００４４】
以上、ハードウェアについて説明した。
［２−３．画像処理装置の機能］
次に、図４を参照しながら、画像処理装置１００の機能について説明する。図４は、第２実施形態に係る画像処理装置が有する機能の一例を示したブロック図である。
【００４５】
図４に示すように、画像処理装置１００は、記憶部１０１、画像取得部１０２、領域特定部１０３、影処理部１０４、二値化部１０５、及び文字認識部１０６を有する。
なお、記憶部１０１の機能は、上述したＲＡＭ９０６や記憶部９２０などを用いて実現できる。また、画像取得部１０２、領域特定部１０３、影処理部１０４、二値化部１０５、及び文字認識部１０６の機能は、上述したＣＰＵ９０２などを用いて実現できる。
【００４６】
（記憶部１０１）
記憶部１０１について説明する。
記憶部１０１は、領域情報１１１、閾値情報１１２、形状情報１１３、及び辞書情報１１４を有する。
【００４７】
（領域情報１１１）
まず、図５及び図６を参照しながら、領域情報１１１について説明する。
なお、図５は、第２実施形態に係る領域情報の一例を示した図である。図６は、第２実施形態に係る領域の一例を示した図である。
【００４８】
領域情報１１１は、ナンバープレートのフォーマットに関する情報である。領域情報１１１は、図５に示すように、ナンバープレートに設定された各領域の種類と、各領域が位置する座標とを含む。
【００４９】
図５の例では、領域の種類として、領域Ａ、Ｂ、Ｃが設定されている。領域Ａは、ナンバープレートの全体（プレート全体）に設定されている。領域Ｂは、画像から特定可能な要素を含む領域である。また、領域Ｂは、文字を要素として含む文字領域と、文字以外を要素として含む文字領域以外とに分類されている。領域Ｃは、領域Ａから領域Ｂを差し引いた残りの領域である。以下、領域Ｃを背景領域と呼ぶことがある。
【００５０】
文字の要素としては、例えば、市区町村コード、一連番号、用途コードなどがある。なお、市区町村コードは複数存在する場合があるため、図５の例では、市区町村コード＃１、市区町村コード＃２と分けて記載されている。また、一連番号も桁毎に番号が認識されるため、図５の例では、４桁の一連番号の場合、一連番号１桁目、２桁目、３桁目、４桁目と分けて記載されている。一方、文字以外の要素としては、例えば、ナンバープレートを固定するネジ部や、自賠責ステッカーなどがある。
【００５１】
各領域は、例えば、各領域を矩形で規定し、左上に位置する座標及び右下に位置する座標を用いて表現できる。図５の例では、プレート全体を規定する矩形の左上が原点（０，０）に設定され、右下が（３４４，２００）に設定されている。また、市区町村コード＃１の領域は、左上が（７３，１９）に設定され、右下が（２７１，５７）に設定されている。他の領域についても同様である。なお、図５に示したフォーマットは一例であり、車両の種類などに応じて異なるものが用いられる。
【００５２】
図５に例示した領域情報１１１を利用すると、図６に示すように、入力画像から切り出したナンバープレートの画像から領域Ｒ１、Ｒ２、…、Ｒ７などを特定することができる。領域Ｒ１、Ｒ７は、市区町村コードを含む領域である。領域Ｒ２は、用途コードを含む領域である。Ｒ３、…、Ｒ６は、一連番号を含む領域である。つまり、領域情報１１１を利用すれば、ナンバープレートの地色（以下、背景色）だけを含む背景領域（上記の領域Ｃ）を特定することができる。
【００５３】
（閾値情報１１２）
次に、図７を参照しながら、閾値情報１１２について説明する。図７は、第２実施形態に係る閾値情報の一例を示した図である。
【００５４】
図７に示すように、閾値情報１１２は、３種類の閾値を含む。その１つは、影の判定に用いる影判定用の閾値ＴｈＳである。入力画像の背景に影がかかると、背景に位置する画素の輝度に比べ、影の部分に位置する画素の輝度は小さくなる。そのため、文字が存在しない部分で隣接する画素間の輝度が減少した場合、低い輝度の画素は、影の部分に位置する画素であると判定できる。一方、低い輝度の画素を基準に隣接する画素間で輝度が増加した場合、高い輝度を有する画素は、背景の部分に位置する画素であると判定できる。このような判定に上記の閾値ＴｈＳが利用される。
【００５５】
また、閾値情報１１２には、影と文字とが重なる領域の判定に用いる重なり判定用の閾値ＴｈＢが含まれる。文字と影とが重なる部分に位置する画素の輝度は、文字だけの部分に位置する画素の輝度に比べて小さくなる。そのため、影の部分に位置する画素と隣接する画素との間で輝度が減少した場合、低い輝度の画素は、文字に影が重なった部分に位置する画素であると判定できる。一方、低い輝度の画素を基準に隣接する画素間で輝度が増加した場合、高い輝度を有する画素は、影の部分に位置する画素であると判定できる。このような判定に上記の閾値ＴｈＢが利用される。
【００５６】
但し、文字の部分に位置する画素の輝度と、文字に影が重なった部分に位置する画素の輝度との差は、背景の部分に位置する画素の輝度と、背景に影が重なった部分に位置する画素の輝度との差よりも小さいことが多い。そのため、閾値ＴｈＢは、例えば、閾値ＴｈＳよりも小さな値に設定される。なお、閾値ＴｈＣは、画像の二値化に用いる閾値であり、影を除去した入力画像における輝度分布から画像処理装置１００により決定されてもよいし、予め設定されて記憶部１０１に格納されていてもよい。
【００５７】
（形状情報１１３）
次に、図８を参照しながら、形状情報１１３について説明する。図８は、第２実施形態に係る形状情報の一例を示した図である。
【００５８】
ナンバープレートのように、影として映り込む物体が予め想定できる場合、影の形状を示したパターンを形状情報１１３として予め用意しておくことができる。図８の例では、バイクの荷台が影として映り込む場合を例に８つのパターンを示している。パターンＰ２Ａは、ナンバープレートの上辺から伸びる２本の線状のパターンを表している。また、パターンＰ３Ａは、上辺から伸びるＵ字カーブのような形状の影と１本の線状の影とを含むパターンを表している。
【００５９】
これらのパターンは、例えば、ナンバープレートの上辺に位置する影の端点数で分類することができる。図８の例では、上辺の端点数が２つのパターンとして、３つのパターンＰ２Ａ、Ｐ２Ｂ、Ｐ２Ｃが分類されている。また、上辺の端点数が３つのパターンとして、３つのパターンＰ３Ａ、Ｐ３Ｂ、Ｐ３Ｃが分類されている。また、上辺の端点数が４つのパターンとして、２つのパターンＰ４Ａ、Ｐ４Ｂが分類されている。このような分類を示す情報を形状情報１１３に含めることでパターンを効率的に検索できるようになる。
【００６０】
なお、図８に例示したパターンの他にも、被写体の種類や映り込む物体の形状などに応じて任意のパターンを用意することができる。また、分類方法も上辺の端点数だけでなく、下辺の端点数や、左辺又は右辺の端点数などを組み合わせて分類する方法なども適用可能である。こうした変形例についても第２実施形態の技術的範囲に含まれる。
【００６１】
（辞書情報１１４）
次に、図９を参照しながら、辞書情報１１４について説明する。図９は、第２実施形態に係る辞書情報の一例を示した図である。
【００６２】
辞書情報１１４は、文字の認識処理に利用する辞書画像を管理するデータベースである。例えば、図９に示すように、辞書情報１１４には、文字毎に、文字コードと、文字の形状を表す画像（辞書画像）とを対応付けるレコードが含まれる。なお、図９の例では、文字コードを辞書画像に対応付けているが、各文字を特定可能な情報であれば文字コード以外の情報を辞書画像に対応付けてもよい。また、辞書画像のデータフォーマットは任意であり、圧縮形式のデータフォーマットでもよいし、非圧縮形式のデータフォーマットでもよい。また、辞書情報１１４により管理される文字の種類は任意である。
【００６３】
（画像取得部１０２）
次に、画像取得部１０２について説明する。
画像取得部１０２は、撮像装置５２が撮像した画像を取得する。例えば、画像処理装置１００と撮像装置５２とがネットワークを介して接続されている場合、画像取得部１０２は、撮像装置５２と通信して画像を取得する。また、画像処理装置１００が撮像装置５２のメモリ（非図示）にアクセスできる場合、画像取得部１０２は、撮像装置５２のメモリから画像を読み出す。また、撮像装置５２により撮像された画像が、外部の記憶装置（非図示）に格納されている場合、画像取得部１０２は、外部の記憶装置から画像を取得してもよい。
【００６４】
例えば、屋外で撮影された通過車両のナンバープレートのように、照明環境や撮影対象を自由に設定することが難しい状況で、バイクの荷台などのように線状の物体による影が文字部にかかった画像などが画像取得部１０２により取得される。画像取得部１０２により取得された画像は、領域特定部１０３に入力される。
【００６５】
（領域特定部１０３）
次に、領域特定部１０３について説明する。
領域特定部１０３は、画像取得部１０２から入力された画像についてエッジ検出を行い、その画像からナンバープレートの輪郭に沿って画像（入力画像）を切り出す。また、領域特定部１０３は、入力画像に含まれるエッジの位置から文字を囲む矩形領域の輪郭を特定し、特定した矩形領域の位置に基づいてフォーマットを特定する。例えば、領域特定部１０３は、領域情報１１１を参照し、特定した矩形領域間の位置関係と、フォーマットを規定する領域間の位置関係とが最も類似するフォーマットを特定する。
【００６６】
なお、以下の説明において、ナンバープレートの輪郭周辺に文字は存在せず、無地の背景だけが存在するものとする。また、背景の輝度は、背景に影がかかった部分の輝度より大きいものとする。また、背景に影がかかった部分の輝度は、文字に影がかかった部分の輝度より大きいものとする。例えば、原動機付き自転車のナンバープレートを例に挙げると、多くの場合、背景色が白、黄色、ピンクのいずれかであり、文字色が黒である。つまり、上述した輝度の関係が成り立つ。以下、この例に沿って説明を進める。
【００６７】
領域特定部１０３により特定されたフォーマットの情報は、影処理部１０４、二値化部１０５、及び文字認識部１０６に入力される。
（影処理部１０４）
次に、影処理部１０４について説明する。
【００６８】
影処理部１０４は、入力画像の輪郭上にある画素について影の端点を探索する。例えば、影処理部１０４は、文字の存在しない背景領域の輝度値を基に二値化し、影の端点として、黒画素の幅が予め設定した値以下である画素の集合を検出する。端点を検出した場合、影処理部１０４は、端点を始点として連続する画素について、隣接する画素間の輝度差に基づく判定処理により影の部分を追跡する。
【００６９】
例えば、影処理部１０４は、端点の画素と隣接画素との輝度差を計算する。端点の画素に比べて隣接画素の輝度が減少している場合、影処理部１０４は、輝度差（絶対値）が閾値ＴｈＳ以下であるか否かを判定する。輝度差が閾値ＴｈＳ以下である場合、影処理部１０４は、隣接画素が影の部分の画素であると判定し、影が続いていると認識する。そして、影処理部１０４は、影の部分であると判定した画素に影フラグを設定する。一方、輝度差が閾値ＴｈＳ超過である場合、影処理部１０４は、隣接画素が背景の部分の画素であると判定し、影が続いていないと認識する。
【００７０】
また、端点の画素に比べて隣接画素の輝度が増加している場合、影処理部１０４は、輝度差（絶対値）が閾値ＴｈＢ以上であるか否かを判定する。輝度差が閾値ＴｈＢ以上である場合、影処理部１０４は、隣接画像が、文字に影が重なった部分の画素であると判定する。そして、影処理部１０４は、文字に影が重なった部分であると判定した画素に文字フラグを設定する。一方、輝度差が閾値ＴｈＢ未満である場合、隣接画素には文字フラグが設定されず、影フラグが設定される。
【００７１】
上記と同様に、影処理部１０４は、端点を始点として影が連続する画素を順次追跡し、輝度差に基づいて影フラグ又は文字フラグを設定する。
なお、文字フラグが設定された画素と、隣接画素との輝度差が減少している場合、影処理部１０４は、輝度差（絶対値）が閾値ＴｈＢ以上であるか否かを判定する。輝度差が閾値ＴｈＢ以上である場合、影処理部１０４は、隣接画素が、背景に影が重なった部分の画素であると判定し、当該隣接画素に影フラグを設定する。一方、輝度差が閾値ＴｈＢ未満である場合、影処理部１０４は、隣接画素が、文字に影が重なった部分の画素であると判定し、当該隣接画素に文字フラグを設定する。
【００７２】
影処理部１０４は、検出した端点の全てについて影の部分を追跡する上記の処理を実行し、輝度差に基づく影フラグ又は文字フラグを設定する。そして、影処理部１０４は、影フラグを設定した画素の輝度を背景の輝度に設定する。このとき、文字フラグが設定された画素の輝度は維持される。つまり、影処理部１０４は、文字と重なる部分を残しつつ影の部分を除去する。このようにして影処理部１０４により影の部分が除去された入力画像は、二値化部１０５に入力される。
【００７３】
（二値化部１０５、文字認識部１０６）
次に、二値化部１０５、及び文字認識部１０６について説明する。
二値化部１０５には、影の部分が除去された入力画像を二値化して二値化画像を生成する。例えば、二値化部１０５は、入力画像に含まれる画素の輝度分布（ヒストグラム）を求め、輝度の高い領域にできた分布の山と、輝度の低い領域にできた分布の山とを分離する輝度の値（例えば、２つのピークの中間に位置する輝度）を閾値ＴｈＣに設定する。そして、二値化部１０５は、入力画像に含まれる各画素の輝度と閾値ＴｈＣとを比較し、輝度が閾値ＴｈＣ以上の画素を白画素、輝度が閾値ＴｈＣ未満の画素を黒画素に設定する。
【００７４】
二値化部１０５により二値化された入力画像（以下、二値化画像）は、文字認識部１０６に入力される。文字認識部１０６は、領域情報１１１を参照し、二値化画像に含まれる文字の領域を特定する。また、文字認識部１０６は、辞書情報１１４を参照し、特定した領域の画像と各辞書画像とを比較し、最も類似する辞書画像を特定する。そして、文字認識部１０６は、特定した辞書画像に対応する文字を認識結果として出力する。
【００７５】
以上、画像処理装置１００の機能について説明した。
［２−４．処理の流れ］
次に、画像処理装置１００が実行する文字認識処理の流れについて説明する。
【００７６】
（全体的な流れ）
図１０及び図１１を参照しながら、文字認識処理の全体的な流れについて説明する。
なお、図１０は、第２実施形態に係る画像処理装置が実行する文字認識処理の流れを示したフロー図である。図１１は、第２実施形態に係る端部、影、文字、重なりの一例を示した図である。
【００７７】
（Ｓ１０１）画像取得部１０２は、撮像装置５２が撮像した画像を取得する。
例えば、屋外で撮影された通過車両のナンバープレートのように、照明環境や撮影対象を自由に設定することが難しい状況で、バイクの荷台などのように線状の物体による影が文字部にかかった画像などが画像取得部１０２により取得される。画像取得部１０２により取得された画像は、領域特定部１０３に入力される。
【００７８】
（Ｓ１０２）領域特定部１０３は、ナンバープレート及び各領域を特定する。
例えば、領域特定部１０３は、画像取得部１０２から入力された画像についてエッジ検出を行い、その画像からナンバープレートの輪郭に沿って画像（入力画像）を切り出す。また、領域特定部１０３は、入力画像に含まれるエッジの位置から文字を囲む矩形領域の輪郭を特定し、特定した矩形領域の位置に基づいてフォーマットを特定する。例えば、領域情報１１１は、領域情報１１１を参照し、特定した矩形領域間の位置関係と、フォーマットを規定する領域間の位置関係とが最も類似するフォーマットを特定する。
【００７９】
ここでは、ナンバープレートの輪郭周辺に文字は存在せず、無地の背景だけが存在するものとする。また、背景の輝度は、背景に影がかかった部分の輝度より大きいものとする。また、背景に影がかかった部分の輝度は、文字に影がかかった部分の輝度より大きいものとする。例えば、原動機付き自転車のナンバープレートを例に挙げると、多くの場合、背景色が白、黄色、ピンクのいずれかであり、文字色が黒である。つまり、上述した輝度の関係が成り立つ。以下、この例に沿って説明を進める。
【００８０】
（Ｓ１０３）影処理部１０４は、影領域の特定及び輝度の補正を実行する。
Ｓ１０３において、影処理部１０４は、入力画像の輪郭上にある画素について影の端点を探索する。入力画像の輪郭上にある画素とは、図１１に示すように、ナンバープレートの上辺、下辺、右辺、左辺の各端部に位置する画素である。例えば、影処理部１０４は、文字の存在しない背景領域の輝度値を基に二値化し、影の端点として、黒画素の幅が予め設定した値以下である画素の集合を検出する。
【００８１】
端点を検出した場合、影処理部１０４は、端点を始点として連続する画素について、隣接する画素間の輝度差に基づく判定処理により影の部分を追跡する。そして、影処理部１０４は、背景に影が重なった部分の画素に影フラグを設定し、文字に影が重なった部分の画素に文字フラグを設定する。図１１の例では、「重なり」と表記した黒色の部分にある画素に文字フラグが設定される。また、影処理部１０４は、影フラグを設定した画素の輝度を背景の輝度に設定する補正処理を実行する。
【００８２】
（Ｓ１０４）二値化部１０５は、Ｓ１０３で補正処理が施された入力画像から、二値化用の閾値ＴｈＣを計算する。例えば、二値化部１０５は、入力画像に含まれる画素の輝度分布（ヒストグラム）を求め、輝度の高い領域にできた分布の山と、輝度の低い領域にできた分布の山とを分離する輝度の値（例えば、２つのピークの中間に位置する輝度）を閾値ＴｈＣに設定する。そして、二値化部１０５は、入力画像に含まれる各画素の輝度と閾値ＴｈＣとを比較し、輝度が閾値ＴｈＣ以上の画素を白画素、輝度が閾値ＴｈＣ未満の画素を黒画素に設定する。
【００８３】
（Ｓ１０５、Ｓ１０６）文字認識部１０６は、領域情報１１１を参照し、二値化画像に含まれる文字の領域を特定する。また、文字認識部１０６は、辞書情報１１４を参照し、特定した領域の画像と各辞書画像とを比較し、最も類似する辞書画像を特定する。また、文字認識部１０６は、特定した辞書画像に対応する文字を認識結果として出力する。Ｓ１０６の処理が完了すると、図１０に示した一連の処理は終了する。
【００８４】
（影領域の特定及び輝度の補正）
ここで、図１２及び図１３を参照しながら、Ｓ１０３の処理について、さらに説明する。Ｓ１０３の処理は、主に影処理部１０４により実行される。
【００８５】
なお、図１２は、第２実施形態に係る画像処理装置が実行する文字認識処理のうち影領域の特定及び輝度の補正に係る処理の流れを示した第１のフロー図である。図１３は、第２実施形態に係る画像処理装置が実行する文字認識処理のうち影領域の特定及び輝度の補正に係る処理の流れを示した第２のフロー図である。
【００８６】
（Ｓ１１１）影処理部１０４は、入力画像の端部に端点探索の開始位置を設定する。例えば、影処理部１０４は、入力画像の左上に位置する画素を端点探索の開始位置に設定する。なお、最初に端点探索を実行する端部の開始位置は任意に設定してよい。
【００８７】
（Ｓ１１２）影処理部１０４は、Ｓ１１１で設定した端点探索の開始位置から、入力画像の輪郭に沿って影の端点を探索する。例えば、影処理部１０４は、文字の存在しない背景領域の輝度値を基に二値化し、影の端点として、黒画素の幅（つまり、端点の幅）が予め設定した値以下である画素の集合（連続する１以上の画素）を検出する。なお、黒画素の幅が予め設定した値を超過する場合、影処理部１０４は、線状の影ではないと判断し、端点から除外する。また、端点探索の方向は予め設定されているものとする。
【００８８】
（Ｓ１１３）影処理部１０４は、Ｓ１１２で影の端点が検出されたか否かを判定する。影の端点が検出された場合、処理はＳ１１４へと進む。一方、影の端点が検出されなかった場合、図１２に示した一連の処理は終了する。
【００８９】
（Ｓ１１４）影処理部１０４は、Ｓ１１２で検出した影の端点を始点として連続する影の部分を追跡し、影の部分に位置する画素に影フラグ又は文字フラグを設定する。この処理により、背景に影が重なる部分の画素には影フラグが設定され、文字に影が重なる部分の画素に文字フラグが設定される。なお、Ｓ１１４の処理については後で詳述する。
【００９０】
（Ｓ１１５）影処理部１０４は、端点探索の開始位置を未探索の隣接画素に設定する。例えば、影処理部１０４は、Ｓ１１２で検出した影の端点に隣接する未探索の画素を端点探索の開始位置に設定する。なお、未探索の隣接画素がない場合、影処理部１０４は、例えば、端点探索の開始位置を設定せず、処理をＳ１１６へと進める。
【００９１】
（Ｓ１１６）影処理部１０４は、入力画像の輪郭上にある全ての画素を探索し終えたか否かを判定する。輪郭上の画素を探索し終えた場合、処理はＳ１１７へと進む。一方、輪郭上の画素を探索し終えていない場合、処理はＳ１１２へと進む。
【００９２】
（Ｓ１１７）影処理部１０４は、形状情報１１３を参照し、影フラグが設定された画素及び文字フラグが設定された画素の集合がつくる形状に類似する影のパターンを抽出する。そして、影処理部１０４は、抽出した影のパターンに基づいて影フラグ又は文字フラグを設定する画素を追加探索する。なお、Ｓ１１７の処理については後で詳述する。
【００９３】
（Ｓ１１８）影処理部１０４は、影フラグを設定した画素の輝度値を背景画素の輝度値に設定する。このとき、影処理部１０４は、文字フラグを設定した画素の輝度値をそのまま維持する。Ｓ１１８の処理により文字と重なる部分を残したまま、線状の影を除去することができる。Ｓ１１８の処理が完了すると、図１２に示した一連の処理は終了する。
【００９４】
（フラグの設定）
ここで、図１３を参照しながら、Ｓ１１４の処理について、さらに説明する。
（Ｓ１２１）影処理部１０４は、影の端点を現在画素に設定する。現在画素は、影フラグ又は文字フラグを設定する画素を探索して影の部分を追跡する際の基準となる。
【００９５】
（Ｓ１２２）影処理部１０４は、現在画素を基準に、隣接画素を追跡対象に設定する。
例えば、図１４に示すように、入力画像の上辺を１段目としてＹ方向に２段目、３段目、…と追跡を進める場合、影処理部１０４は、現在画素が位置する段の次の段に位置する画素列のうち、現在画素を基準に縦方向に隣接する画素を追跡対象に設定する。なお、Ｘ方向に追跡を進める場合、影処理部１０４は、現在画素を基準に横方向に隣接する画素を追跡対象に設定する。なお、図１４は、第２実施形態に係る追跡対象の一例を示した図である。
【００９６】
（Ｓ１２３）影処理部１０４は、Ｓ１２２で追跡対象に設定した隣接画素と現在画素との輝度差を計算する。
（Ｓ１２４）影処理部１０４は、Ｓ１２３で計算した輝度差に基づき、現在画素から隣接画素への輝度の増加が閾値ＴｈＳ以下であるか否かを判定する。輝度の増加が閾値ＴｈＳ以下である場合、処理はＳ１２５へと進む。一方、輝度の増加が閾値ＴｈＳ以下でない場合、処理はＳ１２８へと進む。なお、輝度が減少している場合は、輝度の増加が閾値ＴｈＳ以下であると判定され、処理はＳ１２５へと進む。
【００９７】
（Ｓ１２５）影処理部１０４は、Ｓ１２３で計算した輝度差に基づき、現在画素から隣接画素への輝度の減少が閾値ＴｈＢ以上であるか否かを判定する。輝度の減少が閾値ＴｈＢ以上である場合、処理はＳ１２６へと進む。一方、輝度の減少が閾値ＴｈＢ以上でない場合、処理はＳ１２７へと進む。なお、輝度が増加している場合は、輝度の減少が閾値ＴｈＢ以上でないと判定され、処理はＳ１２７へと進む。
【００９８】
（Ｓ１２６）影処理部１０４は、隣接画素に文字フラグを設定する。Ｓ１２６の処理が完了すると、処理はＳ１２８へと進む。
（Ｓ１２７）影処理部１０４は、隣接画素に影フラグを設定する。Ｓ１２７の処理が完了すると、処理はＳ１２８へと進む。
【００９９】
（Ｓ１２８）影処理部１０４は、追跡対象の画素を探索し終えたか否かを判定する。追跡対象の画素を探索し終えている場合、処理はＳ１２９へと進む。一方、追跡対象の画素を探索し終えていない場合、処理はＳ１２３へと進む。
【０１００】
（Ｓ１２９）影処理部１０４は、現ターンでフラグを設定したかを判定する。現ターンは、現在設定されている現在画素について実行したＳ１２２以降の処理である。現在画素を基準とする隣接画素に影フラグも文字フラグも設定されていない場合、現在画素から先は影の部分が続いていないと判断される。従って、現ターンで各隣接画素にいずれのフラグも設定されていない場合、図１３に示した一連の処理は終了する。一方、現ターンで少なくとも１つの隣接画素に影フラグ又は文字フラグが設定された場合、処理はＳ１３０へと進む。
【０１０１】
（Ｓ１３０）影処理部１０４は、影フラグ又は文字フラグが設定された１以上の隣接画素を現在画素に設定し、現在画素の設定を更新する。Ｓ１３０の処理が完了すると、処理はＳ１２２へと進む。
【０１０２】
（追跡対象の設定）
ここで、図１５を参照しながら、Ｓ１２２の処理について、さらに説明する。図１５は、第２実施形態に係る画像処理装置が実行する文字認識処理のうち追跡対象の設定に係る処理の流れを示したフロー図である。
【０１０３】
（Ｓ１３１）影処理部１０４は、複数段を探索したか否かを判定する。例えば、図１４に示すように、影の端点を始点としてＹ方向に２段目、３段目、…と影の部分を追跡する場合、影処理部１０４は、２段以上にわたって影を追跡済みか否かを判定する。複数段を追跡している場合、処理はＳ１３２へと進む。一方、複数段を追跡していない場合（影の端点が現在画素の場合）、処理はＳ１３４へと進む。
【０１０４】
（Ｓ１３２）影処理部１０４は、影の端点と、影フラグ又は文字フラグを設定した画素との位置関係から影の延伸方向を計算する。例えば、図１４の例（図中の矢印を参照）では、Ｙ方向に３画素、Ｘ方向に２画素移動する方向に影が延伸しており、影の延伸方向として傾き２／３が得られる。
【０１０５】
（Ｓ１３３）影処理部１０４は、Ｓ１３２で計算した影の延伸方向に沿って追跡対象を設定する。例えば、影処理部１０４は、図１４に示すように、影の延伸方向に沿って現在画素（この例ではＸが７〜９、Ｙが４の範囲にある画素）に隣接する範囲（この例ではＸが７〜１０、Ｙが５の範囲）を追跡対象に設定する。このように、追跡対象の画素を制限することで、輝度差の計算処理、及び、影フラグ又は文字フラグの設定に関する判定処理にかかる負荷が低減される。Ｓ１３３の処理が完了すると、図１５に示した一連の処理は終了する。
【０１０６】
（Ｓ１３４）影処理部１０４は、現在画素の周囲に追跡対象を設定する。例えば、影処理部１０４は、現在画素を基準に縦方向、横方向、斜め方向に隣接する画素を追跡対象に設定する。この場合、Ｓ１３３の処理とは異なり影の延伸方向は考慮されない。Ｓ１３４の処理が完了すると、図１５に示した一連の処理は終了する。
【０１０７】
（追加探索）
ここで、図１６及び図１７を参照しながら、Ｓ１１７の処理について、さらに説明する。
【０１０８】
なお、図１６は、第２実施形態に係る画像処理装置が実行する文字認識処理のうち追加探索に係る処理の流れを示したフロー図である。図１７は、第２実施形態に係る画像処理装置が実行する文字認識処理のうち追加探索に係る処理の一例を示した図である。
【０１０９】
（Ｓ１４１）影処理部１０４は、上辺の端点数をカウントする。
（Ｓ１４２）影処理部１０４は、Ｓ１４１でカウントした端点数に応じたパターンから、影の形状と類似するパターンを特定する。
【０１１０】
例えば、影処理部１０４は、Ｓ１１１〜Ｓ１１６の処理を実行し、図１７のＴ１１、Ｔ１２に示すように影の延伸方向に沿って影の部分を追跡する。図１７の例では、Ｔ１３に示すように、上辺から延伸する４本の直線的な影の部分が特定されている。この場合、上辺に位置する端点数は４である。ここで、影処理部１０４は、形状情報１１３を参照し、端点数が４のパターンＰ４Ａ、Ｐ４Ｂを抽出する。さらに、影処理部１０４は、Ｔ１３の（Ａ）及び（Ｂ）の部分が下辺の端部まで延伸していないことを形状の特徴として認識し、この形状の特徴に適合するパターンＰ４Ｂを特定する。
【０１１１】
（Ｓ１４３）影処理部１０４は、Ｓ１４２でパターンを特定できたか否かを判定する。パターンを特定できた場合、処理はＳ１４４へと進む。一方、パターンを特定できなかった場合、図１６に示した一連の処理は終了する。
【０１１２】
（Ｓ１４４）影処理部１０４は、Ｓ１４２で特定したパターンに基づいて影の延伸方向を設定し、追跡及びフラグの設定を実行する。図１７の例では、パターンＰ４Ｂが特定されており、パターンＰ４Ｂに基づいてＴ１４の（Ａ）及び（Ｂ）の部分を架橋するように影の部分を追跡する。追跡方法及びフラグの設定方法は、上述したＳ１１４と同じである。図１７の例では、（Ａ）の部分と（Ｂ）の部分とを架橋する画素に対して影フラグ又は文字フラグが設定されている。Ｓ１４４の処理が完了すると、図１６に示した一連の処理は終了する。
【０１１３】
以上、文字認識処理の流れについて説明した。
（追加探索の変形例）
ここで、図１８及び図１９を参照しながら、上述したＳ１１７の処理に係る変形例について説明する。
【０１１４】
なお、図１８は、第２実施形態に係る画像処理装置が実行する文字認識処理のうち追加探索に係る処理の流れの一変形例を示したフロー図である。図１９は、第２実施形態に係る画像処理装置が実行する文字認識処理のうち追加探索に係る処理の一変形例を示した図である。
【０１１５】
（Ｓ１５１、Ｓ１５２）影処理部１０４は、上辺の端点数をカウントする。また、影処理部１０４は、下辺の端点数をカウントする。
（Ｓ１５３）影処理部１０４は、上辺の端点数と下辺の端点数とが同じか否かを判定する。上辺の端点数と下辺の端点数とが同じである場合、処理はＳ１５４へと進む。一方、上辺の端点数と下辺の端点数とが同じでない場合、処理はＳ１５５へと進む。
【０１１６】
（Ｓ１５４）影処理部１０４は、形状情報１１３を参照し、Ｓ１５１でカウントした端点数に対応し、且つ上辺の端点と下辺の端点とを各々直線で結ぶパターンを抽出する。例えば、図１９に示すように、上辺に４つの端点が検出され、下辺に４つの端点が検出された場合、上辺の端点数が４のパターンのうちパターンＰ４Ａが抽出される。なお、結ぶ端点の組み合わせ方法としては、例えば、左から何番目であるかを認識し、同じ順番の端点を抽出して結ぶ方法を適用できる。Ｓ１５４の処理が完了すると、処理はＳ１５７へと進む。
【０１１７】
（Ｓ１５５）影処理部１０４は、Ｓ１５１でカウントした端点数に応じたパターンから、影の形状と類似するパターンを特定する。
例えば、影処理部１０４は、Ｓ１１１〜Ｓ１１６の処理を実行し、図１７のＴ１１、Ｔ１２に示すように影の延伸方向に沿って影の部分を追跡する。図１７の例では、Ｔ１３に示すように、上辺から延伸する４本の直線的な影の部分が特定されている。この場合、上辺に位置する端点数は４である。ここで、影処理部１０４は、形状情報１１３を参照し、端点数が４のパターンＰ４Ａ、Ｐ４Ｂを抽出する。さらに、影処理部１０４は、Ｔ１３の（Ａ）及び（Ｂ）の部分が下辺の端部まで延伸していないことを形状の特徴として認識し、この形状の特徴に適合するパターンＰ４Ｂを特定する。Ｓ１５５の処理が完了すると、処理はＳ１５６へと進む。
【０１１８】
（Ｓ１５６）影処理部１０４は、Ｓ１５５でパターンを特定できたか否かを判定する。パターンを特定できた場合、処理はＳ１５７へと進む。一方、パターンを特定できなかった場合、図１８に示した一連の処理は終了する。
【０１１９】
（Ｓ１５７）影処理部１０４は、Ｓ１５４で抽出又はＳ１５５で特定したパターンに基づいて影の延伸方向を設定し、追跡及びフラグの設定を実行する。追跡方法及びフラグの設定方法は、上述したＳ１１４と同じである。Ｓ１５７の処理が完了すると、図１８に示した一連の処理は終了する。
【０１２０】
更なる変形例として、例えば、Ｓ１５３で上辺の端点数と下辺の端点数とが同じであると判定された場合、パターンを特定せず、上辺の端点と下辺の端点とを結ぶ直線の傾きを計算し、その傾きに沿って追跡範囲を設定する方法も適用可能である。この方法によれば、追跡範囲を限定することで追跡及びフラグの設定に係る処理の負荷を低減できる。
【０１２１】
（追跡対象の設定の変形例）
ここで、図２０を参照しながら、上述したＳ１２２の処理に係る変形例について説明する。なお、図２０は、第２実施形態に係る画像処理装置が実行する文字認識処理のうち追跡対象の設定に係る処理の一変形例を示した図である。
【０１２２】
（Ｓ１６１）影処理部１０４は、複数段を探索したか否かを判定する。例えば、図１４に示すように、影の端点を始点としてＹ方向に２段目、３段目、…と影の部分を追跡する場合、影処理部１０４は、２段以上にわたって影を追跡済みか否かを判定する。複数段を追跡している場合、処理はＳ１６２へと進む。一方、複数段を追跡していない場合（影の端点が現在画素の場合）、処理はＳ１６５へと進む。
【０１２３】
（Ｓ１６２）影処理部１０４は、影の端点と、影フラグ又は文字フラグを設定した画素との位置関係から影の延伸方向を計算する。例えば、図１４の例（図中の矢印を参照）では、Ｙ方向に３画素、Ｘ方向に２画素移動する方向に影が延伸しており、影の延伸方向として傾き２／３が得られる。
【０１２４】
（Ｓ１６３）影処理部１０４は、端点の幅を計算する。なお、端点の幅は、端点探索の実行時に予め計算して保持しておいてもよい。
（Ｓ１６４）影処理部１０４は、Ｓ１６２で計算した影の延伸方向に沿って、Ｓ１６３で計算した端点の幅に予め設定したマージン（例えば、５％など）を加えた幅を有する線状の領域を追跡対象に設定する。このように、追跡対象の画素を制限することで、輝度差の計算処理、及び、影フラグ又は文字フラグの設定に関する判定処理にかかる負荷が低減される。Ｓ１６４の処理が完了すると、図２０に示した一連の処理は終了する。
【０１２５】
（Ｓ１６５）影処理部１０４は、現在画素の周囲に追跡対象を設定する。例えば、影処理部１０４は、現在画素を基準に縦方向、横方向、斜め方向に隣接する画素を追跡対象に設定する。この場合、Ｓ１６４の処理とは異なり影の延伸方向は考慮されない。Ｓ１６５の処理が完了すると、図２０に示した一連の処理は終了する。
【０１２６】
以上、文字認識処理の流れに係る変形例について説明した。
［２−５．その他］
これまで、矩形のナンバープレートを例に入力画像の上下を横断する影について、影の部分を追跡し、文字と影とが重なる部分を残して影を消去する方法について説明してきた。しかし、第２実施形態に係る技術の適用範囲はこれに限定されない。例えば、入力画像の左右を横断する影についても同様の技術的思想に基づいて適切に影を消去することができる。また、背景の輝度が文字の輝度より小さい場合にも第２実施形態に係る技術を応用することができる。例えば、背景が黒などの暗色で、文字が白又は黄色などの明色である場合が考えられる。この場合、背景に影が重なった部分の輝度が最も小さく、次に背景だけの部分の輝度が小さく、次に影が文字に重なった部分の輝度が小さく、文字だけの部分の輝度が最も大きくなることを考慮して閾値を設定すれば、既に説明した第２実施形態と同様の技術的思想に基づいて影を消去することができる。
【０１２７】
以上、第２実施形態について説明した。
＜３．付記＞
以上説明した実施形態に関し、さらに以下の付記を開示する。
【０１２８】
（付記１）  背景色を有する背景の上に前記背景色とは異なる色で記載された文字を有する被写体を撮像した入力画像と、前記背景から前記背景に影が重なる領域への輝度変化の判定に用いる第１の閾値と、前記背景に影が重なる領域から前記文字に影が重なる領域への輝度変化の判定に用いる第２の閾値と、を記憶する記憶部と、
前記入力画像内で前記被写体の端部に位置する画素について輝度の減少を検出し、当該輝度の減少が前記第１の閾値より大きい画素を特定し、特定した画素を始点として隣接する画素を順次追跡しながら輝度の増加及び減少を検出し、当該輝度の増加が前記第１の閾値より小さい画素を特定して第１のフラグを設定し、当該輝度の減少が前記第２の閾値より大きい画素を特定して第２のフラグを設定し、前記第１のフラグだけを設定した画素の輝度を前記背景の輝度に設定する演算部と、
を有する、画像処理装置。
【０１２９】
（付記２）  前記演算部は、前記特定した画素を始点として隣接する画素を順次追跡する際、追跡方向を維持するように追跡範囲を制限する
付記１に記載の画像処理装置。
【０１３０】
（付記３）  前記記憶部は、前記影の形状を示すパターン情報をさらに記憶し、
前記演算部は、前記第１のフラグ及び前記第２のフラグを設定した画素の集合が有する形状に基づき、前記パターン情報の中から類似する前記影の形状を特定し、特定した形状に沿った方向に追跡範囲を拡張して前記画素を特定する処理を継続する
付記１又は２に記載の画像処理装置。
【０１３１】
（付記４）  前記演算部は、前記被写体の端部に位置する画素のうち前記第１のフラグが設定された連続する画素の集合の数をカウントし、前記被写体の対向する二辺の一方についてカウントした前記集合の数と、他方についてカウントした前記集合の数とが同じ場合、前記一方の辺に位置する前記画素の集合と、前記他方の辺に位置する前記画素の集合とを結ぶ直線上に追跡範囲を制限して前記画素を特定する処理を実行する
付記３に記載の画像処理装置。
【０１３２】
（付記５）  コンピュータが、
背景色を有する背景の上に前記背景色とは異なる色で記載された文字を有する被写体を撮像した入力画像と、前記背景から前記背景に影が重なる領域への輝度変化の判定に用いる第１の閾値と、前記背景に影が重なる領域から前記文字に影が重なる領域への輝度変化の判定に用いる第２の閾値と、を取得し、
前記入力画像内で前記被写体の端部に位置する画素について輝度の減少を検出し、当該輝度の減少が前記第１の閾値より大きい画素を特定し、特定した画素を始点として隣接する画素を順次追跡しながら輝度の増加及び減少を検出し、当該輝度の増加が前記第１の閾値より小さい画素を特定して第１のフラグを設定し、当該輝度の減少が前記第２の閾値より大きい画素を特定して第２のフラグを設定し、前記第１のフラグだけを設定した画素の輝度を前記背景の輝度に設定する
画像処理方法。
【０１３３】
（付記６）  コンピュータに、
背景色を有する背景の上に前記背景色とは異なる色で記載された文字を有する被写体を撮像した入力画像と、前記背景から前記背景に影が重なる領域への輝度変化の判定に用いる第１の閾値と、前記背景に影が重なる領域から前記文字に影が重なる領域への輝度変化の判定に用いる第２の閾値と、を取得し、
前記入力画像内で前記被写体の端部に位置する画素について輝度の減少を検出し、当該輝度の減少が前記第１の閾値より大きい画素を特定し、特定した画素を始点として隣接する画素を順次追跡しながら輝度の増加及び減少を検出し、当該輝度の増加が前記第１の閾値より小さい画素を特定して第１のフラグを設定し、当該輝度の減少が前記第２の閾値より大きい画素を特定して第２のフラグを設定し、前記第１のフラグだけを設定した画素の輝度を前記背景の輝度に設定する
処理を実行させる、プログラム。
【０１３４】
（付記７）  前記コンピュータが、前記特定した画素を始点として隣接する画素を順次追跡する際、追跡方向を維持するように追跡範囲を制限する
付記５に記載の画像処理方法。
【０１３５】
（付記８）  前記コンピュータが、前記影の形状を示すパターン情報を取得し、前記第１のフラグ及び前記第２のフラグを設定した画素の集合が有する形状に基づき、前記パターン情報の中から類似する前記影の形状を特定し、特定した形状に沿った方向に追跡範囲を拡張して前記画素を特定する処理を継続する
付記５又は７に記載の画像処理方法。
【０１３６】
（付記９）  前記コンピュータが、前記被写体の端部に位置する画素のうち前記第１のフラグが設定された連続する画素の集合の数をカウントし、前記被写体の対向する二辺の一方についてカウントした前記集合の数と、他方についてカウントした前記集合の数とが同じ場合、前記一方の辺に位置する前記画素の集合と、前記他方の辺に位置する前記画素の集合とを結ぶ直線上に追跡範囲を制限して前記画素を特定する処理を実行する
付記８に記載の画像処理方法。
【０１３７】
（付記１０）  背景色を有する背景の上に前記背景色とは異なる色で記載された文字を有する被写体を撮像した入力画像と、前記背景から前記背景に影が重なる領域への輝度変化の判定に用いる第１の閾値と、前記背景に影が重なる領域から前記文字に影が重なる領域への輝度変化の判定に用いる第２の閾値と、を記憶する記憶部と、
前記入力画像内で前記被写体の端部に位置する画素について輝度の増加を検出し、当該輝度の増加が前記第１の閾値より大きい画素を特定し、特定した画素を始点として隣接する画素を順次追跡しながら輝度の増加及び減少を検出し、当該輝度の減少が前記第１の閾値より小さい画素を特定して第１のフラグを設定し、当該輝度の増加が前記第２の閾値より大きい画素を特定して第２のフラグを設定し、前記第１のフラグだけを設定した画素の輝度を前記背景の輝度に設定する演算部と、
を有する、画像処理装置。
【０１３８】
（付記１１）  コンピュータが、
背景色を有する背景の上に前記背景色とは異なる色で記載された文字を有する被写体を撮像した入力画像と、前記背景から前記背景に影が重なる領域への輝度変化の判定に用いる第１の閾値と、前記背景に影が重なる領域から前記文字に影が重なる領域への輝度変化の判定に用いる第２の閾値と、を取得し、
前記入力画像内で前記被写体の端部に位置する画素について輝度の増加を検出し、当該輝度の増加が前記第１の閾値より大きい画素を特定し、特定した画素を始点として隣接する画素を順次追跡しながら輝度の増加及び減少を検出し、当該輝度の減少が前記第１の閾値より小さい画素を特定して第１のフラグを設定し、当該輝度の増加が前記第２の閾値より大きい画素を特定して第２のフラグを設定し、前記第１のフラグだけを設定した画素の輝度を前記背景の輝度に設定する
画像処理方法。
【０１３９】
（付記１２）  コンピュータに、
背景色を有する背景の上に前記背景色とは異なる色で記載された文字を有する被写体を撮像した入力画像と、前記背景から前記背景に影が重なる領域への輝度変化の判定に用いる第１の閾値と、前記背景に影が重なる領域から前記文字に影が重なる領域への輝度変化の判定に用いる第２の閾値と、を取得し、
前記入力画像内で前記被写体の端部に位置する画素について輝度の増加を検出し、当該輝度の増加が前記第１の閾値より大きい画素を特定し、特定した画素を始点として隣接する画素を順次追跡しながら輝度の増加及び減少を検出し、当該輝度の減少が前記第１の閾値より小さい画素を特定して第１のフラグを設定し、当該輝度の増加が前記第２の閾値より大きい画素を特定して第２のフラグを設定し、前記第１のフラグだけを設定した画素の輝度を前記背景の輝度に設定する
処理を実行させる、プログラム。
【０１４０】
（付記１３）  付記６又は１２に記載のプログラムが格納された、コンピュータにより読取り可能な記録媒体。
【符号の説明】
【０１４１】
１０  画像処理装置
１１  記憶部
１２  演算部
Ｔｈ１  第１の閾値
Ｔｈ２  第２の閾値
Ｐｉｎ  入力画像
ＰｘＳ  画素
【図１】
0006331819.tif 000002
【図２】
0006331819.tif 000003
【図３】
0006331819.tif 000004
【図４】
0006331819.tif 000005
【図５】
0006331819.tif 000006
【図６】
0006331819.tif 000007
【図７】
0006331819.tif 000008
【図８】
0006331819.tif 000009
【図９】
0006331819.tif 000010
【図１０】
0006331819.tif 000011
【図１１】
0006331819.tif 000012
【図１２】
0006331819.tif 000013
【図１３】
0006331819.tif 000014
【図１４】
0006331819.tif 000015
【図１５】
0006331819.tif 000016
【図１６】
0006331819.tif 000017
【図１７】
0006331819.tif 000018
【図１８】
0006331819.tif 000019
【図１９】
0006331819.tif 000020
【図２０】
0006331819.tif 000021