(57)【要約】撮影条件の変化に対して頑健な、新規な画像処理を提供する。画像処理装置１００は、画像を取得する取得部１１０と、取得された画像を、所定の平滑化レベルで平滑化する平滑化部１２０と、平滑化された画像を二値化する二値化部１３０と、平滑化１２０に平滑化レベルが異なる複数回の平滑化を実行させる制御部１４０とを有する。
2017141802.tif 000002
【特許請求の範囲】
【請求項１】
画像を取得する取得手段と、
前記取得された画像を、所定の平滑化レベルで平滑化する平滑化手段と、
前記平滑化された画像を二値化する二値化手段と、
前記平滑化手段に前記平滑化レベルが異なる複数回の平滑化を実行させる制御手段と
を有する画像処理装置。
【請求項２】
前記制御手段は、前記複数回の平滑化を前記平滑化レベルが強い順に前記平滑化手段に実行させる
請求項１に記載の画像処理装置。
【請求項３】
前記制御手段は、所定の条件が満たされるまで、前記平滑化手段に前記平滑化を繰り返し実行させる
請求項２に記載の画像処理装置。
【請求項４】
前記所定の条件は、前記平滑化手段により平滑化され、前記二値化手段により二値化された画像に対する文字認識の結果に関する条件を含む
請求項３に記載の画像処理装置。
【請求項５】
前記二値化手段は、前記平滑化された画像を当該画像の局所領域毎に決められる閾値を用いて二値化する
請求項１から請求項４までのいずれか１項に記載の画像処理装置。
【請求項６】
前記平滑化手段は、前記平滑化レベルに応じてフィルタのサイズ及び重み係数の少なくともいずれかが異なるフィルタ処理を実行する
請求項１から請求項５までのいずれか１項に記載の画像処理装置。
【請求項７】
前記平滑化手段は、前記フィルタ処理を移動平均フィルタ又は加重平均フィルタを用いて実行する
請求項６に記載の画像処理装置。
【請求項８】
画像を取得する取得手段と、
前記取得された画像を、所定の平滑化レベルで平滑化する平滑化手段と、
前記平滑化された画像を二値化する二値化手段と、
前記二値化された画像に含まれる文字を認識する文字認識手段と、
前記文字認識手段による文字の認識結果に応じて、前記平滑化手段に前記平滑化レベルが異なる平滑化を実行させる制御手段と
を有する文字認識装置。
【請求項９】
前記文字認識手段は、基準となる文字に対して前記平滑化レベルが異なる平滑化が実行された複数の文字を表す情報を含む辞書を参照して文字を認識する
請求項８に記載の文字認識装置。
【請求項１０】
前記画像に含まれる被写体の種別を識別する識別手段を備え、
前記二値化手段は、前記識別された種別に応じた方法で前記平滑化された画像を二値化する
請求項８又は請求項９に記載の文字認識装置。
【請求項１１】
画像を取得する取得手段と、
前記取得された画像を、所定の平滑化レベルで平滑化する平滑化手段と、
前記平滑化された画像を二値化する二値化手段と、
所定の条件が満たされた場合に、動作を終了し、当該条件が満たされない場合に、前記取得された画像に対する前記平滑化レベルが異なる平滑化を前記平滑化手段に実行させる制御手段と
を有する画像処理装置。
【請求項１２】
画像を取得し、
前記取得された画像を、所定の平滑化レベルで平滑化し、
前記平滑化された画像を二値化し、
前記取得された画像に対する前記平滑化及び前記二値化を、前記平滑化レベルを異ならせて実行する
画像処理方法。
【請求項１３】
画像を取得し、
前記取得された画像を、所定の平滑化レベルで平滑化し、
前記平滑化された画像を二値化し、
所定の条件が満たされた場合に、動作を終了し、当該条件が満たされない場合に、前記取得された画像に対する前記平滑化及び前記二値化を、前記平滑化レベルを異ならせて再度実行する
画像処理方法。
【請求項１４】
コンピュータに、
画像を取得する処理と、
前記取得された画像を、所定の平滑化レベルで平滑化する処理と、
前記平滑化された画像を二値化する処理と、
前記平滑化レベルが異なる複数回の平滑化を実行させる処理と
を実行させるためのプログラムを記録したコンピュータ読取可能なプログラム記録媒体。
【請求項１５】
コンピュータに、
画像を取得する処理と、
前記取得された画像を、所定の平滑化レベルで平滑化する処理と、
前記平滑化された画像を二値化する処理と、
所定の条件が満たされた場合に、動作を終了し、当該条件が満たされない場合に、前記取得された画像に対して前記平滑化レベルが異なる平滑化を実行させる処理と
を実行させるためのプログラムを記録したコンピュータ読取可能なプログラム記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、画像処理に関する。
【背景技術】
【０００２】
画像処理、特にイメージセンサによって撮影された画像に対する画像処理においては、画像の撮影条件（照度、フォーカス等）が必ずしも一定しない。例えば、被写体に対する照度は、被写体が同一であっても、光源の種類や光源と被写体の位置関係によって画像毎に異なり得る。また、（１つの画像に含まれる）１つの被写体においても、照度が場所によって異なる（すなわち、照度にムラがある）場合がある。【０００３】
特許文献１〜３は、文字等の認識に関する画像処理技術を開示している。例えば、特許文献１は、テンプレートマッチングにより撮影画像とテンプレート画像の一致度を判断し、判断結果に応じて撮影画像とテンプレート画像の一方を膨張させてからテンプレートマッチングを再度実行する工業文字認識方法を開示している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平１１−２８２９６０号公報
【特許文献２】特開２０１０−１２３０９０号公報
【特許文献３】国際公開第２０１５／０６４１０７号
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１に記載された膨張処理は、二値化された画像に対する処理である。このような膨張処理は、単に、２つの階調（例えば白と黒）のうちの一方の画素の総数（面積）を大きくするだけである。【０００６】
本開示の例示的な目的の一つは、撮影条件の変化に対して頑健な、新規な画像処理を提供することである。
【課題を解決するための手段】
【０００７】
本開示の一態様に係る画像処理装置は、画像を取得する取得手段と、前記取得された画像を、所定の平滑化レベルで平滑化する平滑化手段と、前記平滑化された画像を二値化する二値化手段と、前記平滑化手段に前記平滑化レベルが異なる複数回の平滑化を実行させる制御手段とを有する。【０００８】
本開示の一態様に係る文字認識装置は、画像を取得する取得手段と、前記取得された画像を、所定の平滑化レベルで平滑化する平滑化手段と、前記平滑化された画像を二値化する二値化手段と、前記二値化された画像に含まれる文字を認識する文字認識手段と、前記文字認識手段による文字の認識結果に応じて、前記平滑化手段に前記平滑化レベルが異なる平滑化を実行させる制御手段とを有する。【０００９】
本開示の一態様に係る画像処理装置は、画像を取得する取得手段と、前記取得された画像を、所定の平滑化レベルで平滑化する平滑化手段と、前記平滑化された画像を二値化する二値化手段と、所定の条件が満たされた場合に、動作を終了し、当該条件が満たされない場合に、前記取得された画像に対する前記平滑化レベルが異なる平滑化を前記平滑化手段に実行させる制御手段とを有する。【００１０】
本開示の一態様に係る画像処理方法は、画像を取得し、前記取得された画像を、所定の平滑化レベルで平滑化し、前記平滑化された画像を二値化し、前記取得された画像に対する前記平滑化及び前記二値化を、前記平滑化レベルを異ならせて実行する。【００１１】
本開示の一態様に係る画像処理方法は、画像を取得し、前記取得された画像を、所定の平滑化レベルで平滑化し、前記平滑化された画像を二値化し、所定の条件が満たされた場合に、動作を終了し、当該条件が満たされない場合に、前記取得された画像に対する前記平滑化及び前記二値化を、前記平滑化レベルを異ならせて再度実行する。【００１２】
本開示の一態様に係るプログラム記録媒体は、コンピュータに、画像を取得する処理と、前記取得された画像を、所定の平滑化レベルで平滑化する処理と、前記平滑化された画像を二値化する処理と、前記平滑化レベルが異なる複数回の平滑化を実行させる処理とを実行させるためのプログラムをコンピュータ読み取り可能に記録する。【００１３】
本開示の一態様に係るプログラム記録媒体は、コンピュータに、画像を取得する処理と、前記取得された画像を、所定の平滑化レベルで平滑化する処理と、前記平滑化された画像を二値化する処理と、所定の条件が満たされた場合に、動作を終了し、当該条件が満たされない場合に、前記取得された画像に対して前記平滑化レベルが異なる平滑化を実行させる処理とを実行させるためのプログラムをコンピュータ読み取り可能に記録する。
【発明の効果】
【００１４】
本開示によれば、撮影条件の変化に対して頑健な画像処理が提供される。
【図面の簡単な説明】
【００１５】
【図１】図１は、画像処理装置の構成の一例を示すブロック図である。
【図２】図２は、フィルタ及びその平滑化レベルを例示する図である。
【図３】図３は、画像処理装置の動作の一例を示すフローチャートである。
【図４】図４は、画像処理装置の動作の別の例を示すフローチャートである。
【図５】図５は、文字認識装置の構成の一例を示すブロック図である。
【図６】図６は、文字認識装置の動作の一例を示すフローチャートである。
【図７】図７は、平滑化レベルと文字認識の結果の関係を例示する図である。
【図８】図８は、通信端末の構成の一例を示すブロック図である。
【図９】図９は、通信端末によって実現される機能の構成の一例を示すブロック図である。
【図１０】図１０は、辞書に記憶されるデータの一例を示す図である。
【図１１】図１１は、通信端末の動作の一例を示すフローチャートである。
【図１２】図１２は、文字認識処理の具体例を示すフローチャートである。
【図１３】図１３は、通信端末の動作の別の例を示すフローチャートである。
【図１４】図１４は、コンピュータ装置のハードウェア構成の一例を示すブロック図である。
【発明を実施するための形態】
【００１６】
［第１実施形態］
図１は、本開示の第１の実施形態に係る画像処理装置１００の構成を示すブロック図である。画像処理装置１００は、取得部１１０と、平滑化部１２０と、二値化部１３０と、制御部１４０とを少なくとも有する。画像処理装置１００は、プロセッサ、メモリ等のハードウェアと、プログラム等のソフトウェアの組み合わせによって実現され得る。
【００１７】
取得部１１０は、画像を取得する。例えば、取得部１１０は、画像を表すデジタルデータ又はアナログ信号の入力を受け付けることによって画像を取得する。すなわち、「画像を取得する」とは、画像データ又は画像信号を取得すると換言することができる。取得部１１０により取得される画像は、例えば、ＣＭＯＳ（Complementary Metal-Oxide-Semiconductor）イメージセンサ、ＣＣＤ（Charge Coupled Device）イメージセンサ等を含む撮影デバイスによって撮影された画像を表す。
【００１８】
平滑化部１２０は、画像に対して平滑化処理を実行する。平滑化部１２０は、取得部１１０により取得された画像を所定の平滑化レベルで平滑化する。平滑化レベルは、平滑化処理による平滑化の程度を定める。以下においては、平滑化レベルを定めるパラメータのことを「平滑化パラメータ」ともいう。
【００１９】
平滑化処理は、例えば、フィルタ回路によって実現されるフィルタ処理である。具体的には、移動平均フィルタ、加重平均フィルタなどが平滑化処理に用いられる。この場合、平滑化レベルは、フィルタのサイズ及び重み係数（オペレータ）の少なくともいずれかによって変化させることができる。フィルタのサイズは、フィルタの幅及び高さの一方又は双方を異ならせることで変えることができる。平滑化部１２０は、平滑化レベルが異なる複数のフィルタによって構成されてもよく、制御部１４０によって平滑化レベルが変更できるように構成された１つのフィルタによって構成されてもよい。
【００２０】
図２は、フィルタ及びその平滑化レベルを例示する図である。この例は、平滑化レベルがフィルタの幅及び高さによって変化する場合の例である。移動平均フィルタは、各画素の重み係数が同一（図２では「１／９」又は「１／２５」）のフィルタである。一方、加重平均フィルタは、各画素の重み係数が同一でなく、中央に対して重み付けされたフィルタである。本実施形態におけるフィルタは、この重み付けがガウス分布（正規分布）に従うガウシアンフィルタであってもよい。
【００２１】
なお、本実施形態において、フィルタの重み係数の総和は、１でなくてもよい。また、フィルタのサイズは、幅と高さが同一でなくてもよい。平滑化部１２０は、フィルタの幅と高さのいずれか一方を変更することによって平滑化レベルを変化させてもよい。平滑化パラメータは、フィルタの幅、高さ、サイズ及び重み係数のいずれであってもよく、これらの組み合わせであってもよい。
【００２２】
平滑化処理は、一般に、画像に含まれるノイズの除去に用いられる。しかし、本実施形態における平滑化処理の目的は、ノイズの除去というよりも、むしろ、画像に含まれるオブジェクト（文字、ムラ、模様等）をぼやけさせる（不鮮明にする）ことにある。平滑化レベルが異なる複数回の平滑化処理を１つの画像に対して実行することは、当該画像からオブジェクトの不鮮明さが異なる複数種類の画像を得ることに相当するといえる。
【００２３】
二値化部１３０は、画像に対して二値化処理を実行する。二値化部１３０は、平滑化部１２０により平滑化された画像を閾値に基づいて二値化する。ここでいう閾値は、画像を構成する各画素について同じ値が用いられてもよいが、画素毎に異なる（異なり得る）値が用いられてもよい。例えば、閾値は、二値化対象の画素の周辺の画素を含む局所領域毎に決められてもよい。
【００２４】
制御部１４０は、画像処理の実行を制御する。制御部１４０は、平滑化部１２０による平滑化処理の実行を制御する。例えば、制御部１４０は、平滑化レベルが異なる複数回の平滑化を平滑化部１２０に実行させる。また、制御部１４０は、二値化部１３０による二値化処理の実行を制御してもよい。例えば、制御部１４０は、平滑化部１２０により実行される平滑化処理に応じて二値化処理の方法を異ならせてもよい。
【００２５】
図３は、画像処理装置１００の動作の一例を示すフローチャートである。ステップＳ１１１において、取得部１１０は、画像を取得する。取得部１１０が画像を取得すると、平滑化部１２０は、ステップＳ１１１において取得された画像に対して平滑化処理を実行する（ステップＳ１１２）。二値化部１３０は、ステップＳ１１２において平滑化された画像に対して二値化処理を実行する（ステップＳ１１３）。
【００２６】
二値化処理が実行されると、制御部１４０は、所定の条件が満たされたかを判断する（ステップＳ１１４）。ここにおける条件は、例えば、平滑化処理及び二値化処理が実行された画像に基づいて決められる。制御部１４０は、平滑化処理及び二値化処理が実行された画像を所定の評価基準に従って評価し、その評価結果に応じて所定の条件が満たされたか否かを判断してもよい。また、制御部１４０は、二値化して得られた連結領域（文字と同じ階調の画素であって、互いに隣り合う画素を連結してなる領域）の数を所定の値と比較することによる判断を実行してもよい。あるいは、ここでいう評価自体は、制御部１４０と異なる別の構成要素によって実行されてもよい。この場合、制御部１４０は、当該別の構成要素から評価結果を取得して判断を実行すればよい。
【００２７】
所定の条件が満たされた場合（ステップＳ１１４：ＹＥＳ）、制御部１４０は、平滑化処理及び二値化処理を再度実行させることなく動作を終了する。一方、所定の条件が満たされない場合（ステップＳ１１４：ＮＯ）、制御部１４０は、平滑化部１２０にステップＳ１１２の平滑化処理を再度実行させる。この場合（すなわち２回目の平滑化処理）において、制御部１４０は、平滑化パラメータを初回の値と異なる値にする。また、制御部１４０は、平滑化処理を３回以上繰り返す場合には、（同一の画像に対して）以前に用いられた値のいずれとも異なる値の平滑化パラメータを設定する。
【００２８】
図４は、画像処理装置１００の動作の別の例を示すフローチャートである。ステップＳ１２１において、取得部１１０は、ステップＳ１１１と同様に画像を取得する。取得部１１０が画像を取得すると、制御部１４０は、ステップＳ１２１において取得された画像に対して平滑化処理と二値化処理をｎ回繰り返すループ処理を、平滑化部１２０及び二値化部１３０に実行させる（ステップＳ１２２、Ｓ１２３）。制御部１４０は、ｎ回のループ処理のそれぞれにおいて、互いに異なる平滑化レベルを設定する。平滑化部１２０は、設定された平滑化レベルに従って平滑化処理を実行する。なお、ｎの値、すなわちループ処理の回数は、２以上であれば特に限定されない。また、この例において、画像処理装置１００は、ステップＳ１１４の判断に相当する処理をループ処理の終了後に実行してもよく、自装置とは別の装置に実行させてもよい。
【００２９】
なお、画像処理装置１００は、複数回の画像処理を順次実行するのではなく、並行して実行してもよい。また、図３の例の場合、画像処理装置１００は、所定の条件が満たされれば、平滑化処理及び二値化処理を繰り返すことなく、１回のみ実行する。
【００３０】
以上に説明されたように、本実施形態の画像処理装置１００は、平滑化レベルが異なる複数回の平滑化処理を実行することにより、１つの画像から平滑化の程度が異なる複数の画像を得ることが可能である。これにより、画像処理装置１００は、特定の平滑化パラメータのみを用いて画像処理を実行する場合に比べて所望の画質の画像を得やすくなるため、撮影条件の変化に対して頑健（ロバスト）な画像処理を実現することが可能である。
【００３１】
［第２実施形態］
図５は、本開示の第２の実施形態に係る文字認識装置２００の構成を示すブロック図である。文字認識装置２００は、第１実施形態と同様の取得部１１０、平滑化部１２０及び二値化部１３０に加え、文字認識部２１０と制御部２２０とを有する。文字認識装置２００は、文字認識機能を有する画像処理装置であるともいえる。
【００３２】
なお、本実施形態において、第１実施形態に記載された用語と同一の用語は、特に定義又は説明がある場合を除き、第１実施形態と同様の意味で用いられる。また、第１実施形態と同一の符号を付された構成要素は、第１実施形態と同様の構成を少なくとも有する。
【００３３】
文字認識部２１０は、画像に含まれる文字を認識する。文字認識部２２０は、平滑化部１２０により平滑化され、二値化部１３０により二値化された画像に含まれる文字を認識する。文字認識部２１０は、文字認識に周知の文字認識技術を用いることができる。文字認識部２１０による文字認識の具体的な手法は、ここでは特に限定されない。
【００３４】
制御部２２０は、第１実施形態の制御部１４０と同様に、画像処理の実行を制御する。ただし、制御部２２０による制御は、具体的には、制御部１４０による制御と異なる部分がある。制御部２２０は、文字認識部２１０による文字の認識結果に応じて画像処理の実行を制御する。
【００３５】
図６は、文字認識装置２００の動作の一例を示すフローチャートである。なお、ステップＳ２１１〜Ｓ２１３の処理は、第１実施形態のステップＳ１１１〜Ｓ１１３の処理（図３参照）と同様であるため、説明が省略される。ただし、ステップＳ２１２において、平滑化部１２０は、最も強い平滑化レベルで平滑化処理を実行する。換言すれば、制御部２２０は、このとき、平滑化レベルが最も強い平滑化処理を平滑化部１２０に実行させる。ここにおいて、平滑化レベルが「強い」とは、オブジェクトの不鮮明さの度合いが高くなる（すなわち、より不鮮明になる）平滑化レベルであることを意味する。
【００３６】
文字認識部２１０は、ステップＳ２１３において二値化された画像に対して文字認識処理を実行する（ステップＳ２１４）。具体的には、文字認識部２１０は、二値化された画像から、あらかじめ登録された１又は複数の文字の検出及び認識を試行する。なお、文字認識部２１０は、文字の認識に常に成功するとは限らず、被写体や画質によっては文字の認識に失敗する場合もある。
【００３７】
文字認識処理が実行されると、制御部２２０は、ステップＳ２１４における文字の認識結果に応じた処理を実行する。具体的には、制御部２２０は、文字認識が成功したかを判断する（ステップＳ２１５）。ステップＳ２１５における判断基準（すなわち、「成功」と判断する基準）は、特に限定されない。例えば、制御部２２０は、画像から（１を含む）所定数の文字が認識できた場合に文字認識が成功したと判断してもよく、あらかじめ決められた文字列（特定の数字、特定の単語等）が認識できた場合に文字認識が成功したと判断してもよい。あるいは、制御部２２０は、文字の認識結果を所定の評価基準に基づいて評価し、一定の基準を満たした場合に文字認識が成功したと判断してもよい。
【００３８】
文字認識が成功した場合（ステップＳ２１５：ＹＥＳ）、制御部２２０は、平滑化処理、二値化処理及び文字認識処理を再度実行させることなく動作を終了する。一方、文字認識が失敗した場合（ステップＳ２１５：ＮＯ）、制御部２２０は、平滑化部１２０にステップＳ２１２の平滑化処理を再度実行させる。
【００３９】
この場合において、制御部２２０は、前回と異なる平滑化レベルを設定する。具体的には、制御部２２０は、前回よりも１段階弱い平滑化レベルを設定する。換言すれば、制御部２２０は、未処理の平滑化レベルのうちの最も強い平滑化レベルで平滑化部１２０に次の平滑化処理を実行させる。
【００４０】
制御部２２０は、文字認識が成功するまでステップＳ２１２〜Ｓ２１５の処理を繰り返す。あるいは、制御部２２０は、複数の平滑化レベルのいずれを用いても文字認識が成功しない場合には、文字認識に失敗したこと（すなわちエラー）に対応する所定の処理を実行してもよい。
【００４１】
制御部２２０は、文字認識が成功した場合、データを出力してもよい。例えば、制御部２２０は、認識された文字を示すデータ（文字コード等）を出力してもよく、文字認識が成功した画像を示すデータを出力してもよい。あるいは、制御部２２０は、文字認識の結果に応じた処理を実行してもよい。
【００４２】
以上に説明されたように、本実施形態の文字認識装置２００は、文字認識の結果に応じて画像処理を繰り返すことが可能である。これにより、文字認識装置２００は、所定回数の画像処理を実行してから文字を認識する場合に比べ、不要な処理を実行しないようにすることが可能である。また、文字認識装置２００は、平滑化レベルが強い画像から順に用いて文字認識処理を実行することが可能である。これにより、文字認識装置２００は、文字が誤認識される可能性を減らし、撮影条件によらず精度が高い文字認識を実行することを可能にする。
【００４３】
例えば、文字を含む表示体（カード、印刷物等）が撮影される場合において、その表示体に照射される光に照度のムラがあると、二値化処理後の文字認識によって画像中のムラが文字（の一部又は全部）であると誤認識される可能性がある。同様に、文字を含む表示体が撮影される場合において、その表示体が文字でない模様を背景に含んでいると、二値化処理後の文字認識によって画像中の模様が文字であると誤認識される可能性がある。このような誤認識は、特に、二値化処理として局所二値化処理を用いた場合に顕著である。
【００４４】
二値化処理の前に平滑化処理を実行した画像は、文字の輪郭（エッジ）がぼやけるだけでなく、上記のようなムラや模様もぼやける。平滑化のレベルを強めると、文字が認識されなくなる可能性が増すが、同時に、このようなムラや模様が文字と認識されなくなる可能性も増す。したがって、平滑化パラメータを適当な値に設定できれば、文字は正しく認識されやすくなる一方で、ムラや模様が文字であると誤って認識されにくくなる画像、すなわち、望ましい認識結果が期待できる画像が得られる。
【００４５】
図７は、平滑化レベルと文字認識の結果の関係を例示する図である。ここにおいて、平滑化レベルＬ1、Ｌ2、Ｌ3、Ｌ4、Ｌ5は、Ｌ1が最も強く、Ｌ2、Ｌ3、Ｌ4、Ｌ5の順に弱くなる（すなわち、Ｌ5が最も弱い）ものとする。
【００４６】
この例において、平滑化レベルがＬ1又はＬ2である場合、画像中の文字が判別できない程度にぼやけるため、文字認識は失敗する。一方、平滑化レベルがＬ3、Ｌ4又はＬ5である場合、平滑化レベルがＬ1又はＬ2である場合に比べ文字が鮮明に（すなわちエッジがシャープに）なるため、文字認識は成功する。
【００４７】
しかし、平滑化レベルがＬ4又はＬ5である場合、平滑化レベルがＬ3である場合よりも平滑化の程度が弱いため、ムラや模様が十分にぼやけずに文字の構成要素であると誤って認識される。そうすると、このような場合、文字認識が成功したとしても、ムラや模様までもが文字の構成要素であると認識されることにより、文字認識の結果は正しくなくなる。
【００４８】
ここで、文字認識装置２００が、平滑化レベルが強い順（Ｌ1からＬ5の順）に図６の処理を実行する場合と平滑化レベルが弱い順（Ｌ5からＬ1の順）に同処理を実行する場合とを仮定すると、以下のような結果の相違が生じる。すなわち、前者（Ｌ1からＬ5の順）の場合、文字認識装置２００は、平滑化レベルとしてＬ1又はＬ2が設定された段階では文字認識に失敗し、平滑化レベルとしてＬ3が設定された段階（すなわち３回目）で文字認識に成功する。これに対し、後者（Ｌ5からＬ1の順）の場合、文字認識装置２００は、平滑化レベルとしてＬ5が設定された段階（すなわち初回）で文字認識に成功する。しかし、この場合、文字認識装置２００は、文字認識の結果自体は誤りであるため、文字を“正しく”認識することには失敗している。
【００４９】
以上より、文字認識装置２００は、平滑化レベルが強い順に画像処理を実行することによって、平滑化レベルが弱い順に処理を実行する場合に比べ、文字認識の精度を高めることが可能である。また、文字認識装置２００は、平滑化レベルを変化させながら文字認識を繰り返し実行することにより、不規則的に発生し得る表示体のムラや模様に対して頑健な画像処理を実現することが可能である。
【００５０】
［第３実施形態］
図８は、本開示の第３の実施形態に係る通信端末３００の構成を示すブロック図である。通信端末３００は、制御部３１０と、画像処理部３２０と、記憶部３３０と、通信部３４０と、ＵＩ（User Interface）部３５０と、カメラ部３６０とを有する。通信端末３００は、例えば、スマートフォン、タブレット端末等の移動通信端末であるが、必ずしも移動通信端末に限定されない。
【００５１】
通信端末３００は、第２実施形態に記載された文字認識装置２００の一例に相当する構成を含んでいる。また、本実施形態において、第１実施形態又は第２実施形態に記載された用語と同一の用語は、特に定義又は説明がある場合を除き、第１実施形態又は第２実施形態と同様の意味で用いられる。
【００５２】
制御部３１０は、通信端末３００の各部の動作を制御する。制御部３１０は、ＣＰＵ（Central Processing Unit）等のプロセッサと、主記憶装置に相当するメモリとを有し、所定のプログラムを実行することによって通信端末３００の各部の動作を制御する。なお、制御部３１０は、処理を分担して実行する複数のプロセッサを有してもよい。
【００５３】
画像処理部３２０は、平滑化処理及び二値化処理を含む画像処理を実行する。画像処理部３２０は、例えば、ＧＰＵ（Graphics Processing Unit）等の画像処理用のプロセッサを有する。あるいは、画像処理部３２０の一部又は全部の機能は、ソフトウェアによって、制御部３１０の一機能として実現されてもよい。
【００５４】
記憶部３３０は、処理の実行に必要なデータを記憶する。記憶部３３０は、フラッシュメモリ、ハードディスク等の不揮発性の記憶媒体を含んで構成される。また、記憶部３３０は、メモリカード等の着脱可能な記憶媒体とそのリーダライタを含んでもよい。記憶部３３０に記憶されるデータは、プログラムのほか、図９に例示されるデータ（フォーマット情報３０６、文字列データベース３０７及び文字認識辞書３０８）を含み得る。
【００５５】
通信部３４０は、他の装置とデータを授受する。通信部３４０は、例えば、有線又は無線のネットワークを介して他の装置との間でデータを送受信する。あるいは、通信部３４０は、ネットワークを介さずに、他の装置と直接通信してもよい。
【００５６】
ＵＩ部３５０は、ユーザによる入力を受け付け、ユーザに情報を伝達する。ＵＩ部３５０は、液晶ディスプレイ等の表示装置、キーパッド、タッチスクリーンディスプレイ、スピーカ、マイクロホンなどを含み得る。ＵＩ部３５０は、バイブレータ等のハプティック（触覚）インタフェースを含んでもよい。
【００５７】
カメラ部３６０は、画像データを生成する。カメラ部３６０は、レンズ等の光学系部材とイメージセンサとを有し、撮影された被写体を表す画像データを生成する。なお、画像データの画素数や階調数は、被写体を認識可能であれば、特定の数値に限定されない。
【００５８】
通信端末３００の制御部３１０は、文字認識機能を有する所定のアプリケーションプログラムを実行可能である。このアプリケーションプログラムは、文字等が表記された表示体を光学的に読み取り、表示された文字を認識するためのソフトウェアである。表示体は、ステッカー、ポスター、雑誌など、文字が表記されたものであれば特に限定されないが、本実施形態においては複数種類のカードであるとする。以下においては、説明の便宜上、このアプリケーションプログラムのことを「文字認識アプリ」ともいう。
【００５９】
図９は、文字認識アプリによって実現される機能の構成を示すブロック図である。なお、図９のブロック間を結ぶ矢印は、情報の流れ（方向）の一例を示すにすぎず、情報の流れを特定の方向に限定することを意図しない。
【００６０】
文字認識アプリは、取得部３０１、識別部３０２、傾き補正部３０３、文字列選択部３０４及び文字認識部３０５に相当する機能を通信端末３００に実現する。また、記憶部３３０は、フォーマット情報３０６、文字列データベース３０７及び文字認識辞書３０８を記憶する。これらのデータは、文字認識アプリを実行することによって生成され、又は外部から受信されるか、あるいは文字認識アプリに含まれている。
【００６１】
フォーマット情報３０６は、カードの種別毎のフォーマットを示す情報である。フォーマット情報３０６は、それぞれの種別のカードがどのような画像であるかを示している。例えば、フォーマット情報３０６は、それぞれの種別のカードを所定の向き（例えば正面）から撮影した画像を表すデータである。なお、ここでいう「画像を表すデータ」とは、画像データそのものであってもよいが、画像から特定される特徴（特徴点、特徴量等）を記述したデータであってもよい。
【００６２】
また、フォーマット情報３０６は、それぞれの種別のカードにおいて文字認識処理が実行される領域を示す情報を含むことができる。文字が表記されている領域（又は、読み取るべき文字が表記されている領域）は、カードの種別毎に異なり得る。フォーマット情報３０６は、このような領域を示す情報（座標等）を含む。以下においては、フォーマット情報３０６により定められる領域（すなわち、文字認識処理が実行される領域）のことを「クリッピング領域」ともいう。
【００６３】
一般に、ユーザに固有の情報が表記されているカード（運転免許証等）は、当該情報が表記されているカード毎に外観が異なり得る領域のほかに、ユーザによらず共通の領域（背景等）を含む。クリッピング領域は、典型的には、前者の領域を含んで構成されている。
【００６４】
文字列データベース３０７は、カードから読み取られる文字列を定める文字列情報をカードの種別毎に記憶する。文字列情報は、カードから読み取られるべき文字列の文字数、種類、書式などを表す。文字列情報は、文字そのものではなく、文字の規則性を表してもよい。例えば、文字列情報は、「４文字の数字」、「大文字又は小文字のアルファベット」といった規則性を正規表現などによって記述したデータであってもよい。
【００６５】
文字認識辞書３０８は、読取対象である複数の文字を表す辞書情報を記憶する。辞書情報は、文字を二値化した画像データであってもよく、二値化された文字の特徴量を表すデータであってもよい。文字認識辞書３０８は、１つの文字について、１又は複数の書体（フォント）の辞書情報を含むことができる。
【００６６】
辞書情報が表す文字は、基準形の文字と、基準形の文字を変形又は加工した文字とを含んでもよい。例えば、辞書情報は、個々の文字について、同一の書体であって平滑化レベルが異なる複数種類のデータを含んでもよい。また、辞書情報は、個々の文字について、同一の書体であって傾き（３次元的な回転）が異なる複数種類のデータを含んでもよい。これらのデータは、機械学習を用いて文字認識辞書３０８に蓄積されてもよい。
【００６７】
図１０は、文字認識辞書３０８に記憶されるデータの一例を示す図である。同図に示される例は、文字「０」について２通りの平滑化と２通りの回転を適用した９種類のデータを表す。ここにおいて、データＤ11は、平滑化及び回転の基準となる文字に相当する。この例において、データＤ11、Ｄ12、Ｄ13は、傾きが同じで平滑化レベルが異なる。また、データＤ12、Ｄ22、Ｄ32は、平滑化レベルが同じで傾きが異なる。データＤ11、Ｄ21、Ｄ31は、平滑化されていない文字に相当する。
【００６８】
取得部３０１は、カメラ部３６０により生成された画像データを取得する。取得部３０１は、カメラ部３６０から画像データを直接取得してもよく、カメラ部３６０により生成された後に記憶部３３０に記憶された画像データを取得してもよい。取得部３０１は、第１実施形態の取得部１１０の一例に相当する。
【００６９】
識別部３０２は、取得部３０１により取得された画像データに含まれる被写体を識別する。本実施形態において、識別部３０２は、フォーマット情報３０６を用いて、画像データが表す画像に含まれるカードの種別を識別する。なお、文字認識アプリによって読み取られるカードの種別は、あらかじめ決められている。
【００７０】
識別部３０２は、画像データが表すカードの画像の基準の向き（例えば正面）からの傾きを示す傾き情報を算出する機能を有する。傾き情報は、例えば、ある平面から別の平面への射影変換を表す射影変換行列（ホモグラフィ行列）である。傾き情報の算出方法の一例は、本明細書と同一の発明者による特許文献３の段落００９３に記載されている。
【００７１】
傾き補正部３０３は、取得部３０１により取得された画像データが表す画像の傾きを補正する。傾き補正部３０３は、識別部３０２により算出された傾き情報を用いて、画像の傾きを補正することができる。なお、ここでいう補正とは、画像の傾きがなくなることのみを意味するものではなく、基準の向きにより近付き、傾きが緩和されること（補正前よりも基準の向きに近付くこと）を含み得る。
【００７２】
また、傾き補正部３０３は、傾きが補正された画像の一部の領域を抽出する（切り出す）機能を有する。傾き補正部３０３は、識別部３０２により識別されたカードの種別に対応するフォーマット情報３０６を用いて、クリッピング領域の画像を抽出する。
【００７３】
文字列選択部３０４は、カードから読み取られる文字列を定める文字列情報を選択する。文字列情報は、カードから読み取られるべき文字列の文字数、種類、書式などを表す。文字列選択部３０４は、文字列データベース３０７にカードの種別毎に記憶された文字列情報のうち、識別部３０２により識別された種別の文字列情報を参照する。
【００７４】
文字認識部３０５は、傾き補正部３０３により傾きが補正されて抽出された画像に対して文字認識処理を実行する。文字認識部３０５は、例えば、周知のＯＣＲ（Optical Character Recognition）技術を用いて文字認識処理を実行することができる。文字認識部３０５は、文字列選択部３０４により選択された文字列情報と文字認識辞書３０８に記憶された辞書情報とを用いて、クリッピング領域の画像に含まれる文字を認識する。文字認識部３０５は、第１実施形態の平滑化部１２０及び二値化部１３０と、第２実施形態の文字認識部２１０の一例に相当する。
【００７５】
図１１は、文字認識アプリによる処理を示すフローチャートである。取得部３０１は、撮影されたカードを表す画像データを取得する（ステップＳ３１０）。このとき、取得部３０１は、ユーザにカードの撮影を促す画面をＵＩ部３５０に表示させてもよく、記憶部３３０に記憶されたデータの中から必要な画像データをユーザに選択させてもよい。
【００７６】
識別部３０２は、ステップＳ３１０において取得された画像データが表すカードの種別を識別する（ステップＳ３２０）。また、このとき識別部３０２は、傾き情報を算出する。傾き補正部３０３は、ステップＳ３１０において取得された画像データが表す画像の傾きを傾き情報に基づいて補正する（ステップＳ３３０）。また、傾き補正部３０３は、補正後の画像からクリッピング領域を抽出する（ステップＳ３４０）。また、文字列選択部３０４は、ステップＳ３２０において識別されたカードの種別に応じた文字列情報を選択する（ステップＳ３５０）。
【００７７】
なお、文字列選択部３０４は、１つのクリッピング領域に関して複数の文字列の文字列情報を選択してもよい。例えば、あるクリッピング領域に表記され得る文字列が複数あり、当該複数の文字列の文字数や書式が異なる場合には、文字列選択部３０４は、当該クリッピング領域に対応する文字列情報として複数の文字列情報を選択することができる。このような場合、文字認識部３０５は、３０５は、ステップＳ３６０の文字認識処理をそれぞれの文字列情報について実行する。
【００７８】
なお、ステップＳ３３０、Ｓ３４０の処理と、ステップＳ３５０の処理とは、図示された順番で実行されなくてもよい。これらの処理は、ステップＳ３５０の処理がステップＳ３３０の処理よりも先に実行されてもよく、並行して実行されてもよい。
【００７９】
文字認識部３０５は、ステップＳ３４０において抽出された画像に対して文字認識処理を実行する（ステップＳ３６０）。文字認識部３０５は、ステップＳ３５０において選択された文字列情報を参照し、撮影されたカードの種別に応じた処理を実行する。
【００８０】
図１２は、ステップＳ３６０の文字認識処理の具体例を示すフローチャートである。この例において、文字認識部３０５は、カードの種別に応じた処理（ステップＳ３６１〜Ｓ３６３）を実行してから、カードの種別によらず共通の処理（ステップＳ３６４〜Ｓ３６８）を実行する。ただし、文字認識処理は、この例に限定されない。例えば、文字認識部３０５は、ステップＳ３６１〜Ｓ３６３を省略してもよく、ステップＳ３６４〜Ｓ３６８の処理をカードの種別に応じて異ならせてもよい。
【００８１】
文字認識部３０５は、まず、カードの種別に応じた二値化処理を実行する（ステップＳ３６１）。例えば、文字認識部３０５は、ある種別のカードが下地に模様を含む場合には、判別分析法に基づく二値化処理を実行し、別の種別のカードが下地に模様を含まない場合には、局所二値化法に基づく二値化処理を実行する。なお、カードの模様は、一般に、文字よりも色が薄い。
【００８２】
判別分析法は、画像の濃淡を示す階調値のヒストグラムに基づいて閾値を決定する二値化の方法であり、大津の方法（Otsu's method）ともいう。判別分析法は、画像全体に共通の閾値を用いる。これに対し、局所二値化法は、画像の局所領域毎に閾値を決定する。局所二値化法は、例えば、所定サイズの局所領域毎に算出された階調値の平均値を閾値として用いる。局所二値化法における閾値は、局所領域毎に算出された階調値の平均値に所定の数を加算した値でもよく、画像に基づいて計算される統計量であってもよい。
【００８３】
ステップＳ３６１において、文字認識部３０５は、判別分析法に基づく二値化処理を実行する場合には平滑化処理を実行せず、局所二値化法に基づく二値化処理を実行する場合には平滑化処理を実行してもよい。ただし、文字認識部３０５は、平滑化処理を実行しなくてもよく、カードの種別によらず共通の平滑化処理を実行してもよい。
【００８４】
なお、文字認識部３０５は、模様の有無（強弱）に限らず、カード表面の鏡面反射の有無（強弱）に応じて二値化の方法を異ならせてもよい。例えば、鏡面反射が強い（表面に光沢がある）カードの場合、文字認識部３０５は、局所二値化法による二値化処理を実行する。一方、鏡面反射が弱いカードの場合、文字認識部３０５は、判別分析法による二値化処理を実行する。
【００８５】
文字認識部３０５は、二値化処理が実行された画像から文字を識別する（ステップＳ３６２）。具体的には、文字認識部３０５は、クリッピング領域から個々の文字を切り出し、文字列情報及び辞書情報を用いて文字を識別する。ステップＳ３６２の処理は、ＯＣＲ技術における周知の方法が適用可能である。
【００８６】
ここで、文字認識部３０５は、文字の認識に成功したか否かを判断する（ステップＳ３６３）。具体的には、文字認識部３０５は、ステップＳ３６２における識別結果に基づき、クリッピング領域全体として文字列が正しく認識されたか否かを判断する。文字認識部３０５は、文字列情報及び辞書情報を用いてこの判断を実行してもよい。
【００８７】
なお、１つのクリッピング領域に対して複数の文字列情報が選択されている場合、文字認識部３０５は、当該複数の文字列情報に対応する複数の文字列の認識結果のいずれかを用いてステップＳ３６３の判断を実行してもよい。例えば、文字認識部３０５は、複数の文字列のそれぞれの確からしさや文字の高さのばらつきなどを比較し、尤度が高い（尤もらしい）文字列を特定し、当該特定された文字列についてステップＳ３６３の判断を実行してもよい。
【００８８】
文字認識部３０５は、この時点で文字の認識に成功した場合には（ステップＳ３６３：ＹＥＳ）、ステップＳ３６４以降の処理を実行せずに処理を終了する。一方、文字認識部３０５は、文字の認識に失敗した場合には（ステップＳ３６３：ＮＯ）、ステップＳ３６４以降の処理を実行する。
【００８９】
ステップＳ３６４において、文字認識部３０５は、平滑化パラメータを設定する。文字認識部３０５は、ステップＳ３６３の直後においては、平滑化のレベルが最も強い平滑化パラメータを設定する。文字認識部３０５は、ステップＳ３６４において設定された平滑化パラメータに従って平滑化処理を実行し（ステップＳ３６５）、ステップＳ３６５において平滑化された画像に対して二値化処理を実行する（ステップＳ３６６）。ステップＳ３６６において、文字認識部３０５は、局所二値化法による二値化処理を実行する。
【００９０】
文字認識部３０５は、二値化処理が実行された画像から文字を識別する（ステップＳ３６７）。そして、文字認識部３０５は、文字の認識に成功したか否かを判断する（ステップＳ３６８）。ステップＳ３６７〜Ｓ３６８の処理は、ステップＳ３６２〜Ｓ３６３の処理と同様の処理である。
【００９１】
文字認識部３０５は、文字の認識に成功した場合には（ステップＳ３６８：ＹＥＳ）、この時点で処理を終了する。一方、文字認識部３０５は、文字の認識に失敗した場合には（ステップＳ３６８：ＮＯ）、ステップＳ３６４以降の処理を再度実行する。文字認識部３０５は、ステップＳ３６４の処理を繰り返す場合には、平滑化パラメータを変更する。具体的には、文字認識部３０５は、平滑化のレベルが前回よりも弱くなるように平滑化パラメータを変更する。
【００９２】
文字認識部３０５は、ステップＳ３６４〜Ｓ３６８の処理を所定の回数繰り返しても文字の認識に成功しない場合には、所定の処理を実行してもよい。例えば、取得部３０１は、この場合、ユーザにカードの再度の撮影を促す画面をＵＩ部３５０に表示させてもよい。この画面は、「もっと明るい場所で撮影してください」、「端末をカードにもっと近付けて撮影してください」等の撮影条件の変更（改善）を促すメッセージを含んでもよい。
【００９３】
以上に説明されたように、通信端末３００によれば、被写体であるカードの種別を識別部３０２によって識別することにより、カードの種別に応じた処理を実行することが可能である。通信端末３００は、識別部３０２を有しない場合に比べ、後段の処理（傾きの補正、文字認識等）の精度を高めることが可能である。また、通信端末３００は、カードの種別に応じて決められたクリッピング領域に含まれる画像に対して文字認識処理を実行することにより、（クリッピング領域以外の）不要な領域に対する文字認識処理を省略することが可能である。
【００９４】
また、通信端末３００は、第２実施形態の文字認識装置２００と同様に、文字が誤認識される可能性を減らし、撮影条件によらず精度が高い文字認識を実行することを可能にする。例えば、文字認識アプリが複数の通信端末３００にインストールされる場合には、端末毎にカメラ部３６０の性能（画質、解像度等）が異なり得るだけでなく、ユーザ毎に撮影場所や撮影スキルもまちまちである。したがって、このような場合には、各ユーザが同種のカードを撮影したとしても、さまざまな撮影条件で撮影された画像が読取対象となり得る。通信端末３００は、このような画像を読取対象とする場合であっても、高精度な文字認識を実行することが可能である。
【００９５】
本実施形態において読取対象となるカードは、ユーザの個人情報のような秘匿性又は重要性が高い情報を含む可能性がある。このような情報を取り扱う場合、一般に、誤認識は避けるべきである。通信端末３００は、文字を誤認識するよりも、むしろ、認識に失敗して処理をやり直すように構成されているため、文字を誤認識する可能性を低くすることが可能である。
【００９６】
［変形例］
本開示は、上述された第１実施形態〜第３実施形態に限定されない。本開示は、当業者が把握し得る変形又は応用を適用した形態を含み得る。例えば、本開示は、以下に記載される変形例を含む。また、本開示は、本明細書に記載された事項を必要に応じて適宜に組み合わせた形態を含み得る。例えば、特定の実施形態を用いて説明された事項は、他の実施形態に対しても適用され得る。
【００９７】
（変形例１）
通信端末３００は、文字の認識結果に応じたデータを記憶部３３０に記録してもよい。あるいは、通信端末３００は、文字の認識結果に応じたデータを、通信部３４０を介して外部（例えば、所定のサーバ装置）に送信してもよい。例えば、通信端末３００は、認識された文字列を表すテキストデータをサーバ装置に送信してもよく、文字の認識に用いた画像データをサーバ装置に送信してもよい。
【００９８】
データを記録又は送信する場合において、通信端末３００は、カードの種別に応じた処理を実行してもよい。例えば、通信端末３００は、カードが特定の種別であった場合には、認識された文字列を表すテキストデータをサーバ装置に送信する一方、カードが別の種別であった場合には、文字の認識に用いた画像データをサーバ装置に送信してもよい。
【００９９】
（変形例２）
通信端末３００は、複数種別のカードを連続的に読み取ってもよい。この場合において、通信端末３００は、ある種別のカードを用いた文字認識の結果を別の種別のカードの文字認識に用いてもよい。
【０１００】
例えば、第１の種別のカードと第２の種別のカードが読取対象である場合において、いずれのカードにも共通の情報（例えば、ユーザの氏名や生年月日）が表記されているとき、通信端末３００は、双方のカードから認識された文字列を照合してもよい。
【０１０１】
図１３は、本変形例に係る処理の概要を例示するフローチャートである。この例において、通信端末３００は、第１の種別のカードを表す第１の画像データを取得し（ステップＳ４０１）、第１の画像データが表すカードの種別を識別する（ステップＳ４０２）。通信端末３００は、ステップＳ４０２において識別された種別に応じた文字認識処理を実行し、文字を認識する（ステップＳ４０３）。
【０１０２】
なお、ステップＳ４０３において認識される文字には、第１の種別のカード及び第２の種別のカードの双方に表記されている特定の文字列が含まれるものとする。この特定の文字列は、第１の種別のカード及び第２の種別のカードの所定の領域に表記されているものとする。
【０１０３】
ここで、通信端末３００は、第２の種別のカードを表す第２の画像データを取得する（ステップＳ４０４）。通信端末３００は、第１の画像データの場合と同様に、カードの種別を識別する（ステップＳ４０５）。通信端末３００は、ステップＳ４０５において識別された種別に応じた文字認識処理を実行し、文字を認識する（ステップＳ４０６）。
【０１０４】
通信端末３００は、ステップＳ４０３において認識された特定の文字列と、ステップＳ４０６において認識された特定の文字列とを比較する（ステップＳ４０７）。次いで、通信端末３００は、ステップＳ４０７の比較結果に応じた処理を実行する（ステップＳ４０８）。
【０１０５】
このような処理は、例えば、複数のカードを用いた本人確認に用いることができる。この場合、通信端末３００は、ステップＳ４０７において比較した文字列が一致した場合に、ユーザによって手続が行われた（すなわち、第三者が不正に取得したカードではない）と判断する。
【０１０６】
この例において、通信端末３００は、ステップＳ４０３において認識された文字を表すデータを文字列データベース３０７に記録してもよい。通信端末３００は、ステップＳ４０６において、このようにして文字列データベース３０７に記録されたデータを用いて文字を認識してもよい。
【０１０７】
（変形例３）
通信端末３００は、クリッピング領域の設定をユーザから受け付けてもよい。この場合、ユーザは、ＵＩ部３５０を介してカード上の所望の領域を選択することにより、クリッピング領域を設定することができる。
【０１０８】
（変形例４）
文字認識部３０５は、文字列の認識に際して語彙（lexicon）を参照してもよい。ここにおいて、語彙とは、認識される文字列の候補としてあらかじめ与えられる文字列をいう。文字認識部３０５は、語彙を参照することで、撮影条件や平滑化処理に起因する画質の低下が生じた場合においても、文字の認識精度の低下を抑制することが可能である。
【０１０９】
一例として、認識される文字列にユーザの生年が含まれ、語彙として「１９ＸＸ（ただし、Ｘは任意の数字）」が与えられる場合を想定する。この場合において、文字認識部３０５は、それぞれの位置に表記されている文字に該当し得る文字の候補を特定するとともに、当該候補に対して与えられる数値（信頼度）を算出するものとする。
【０１１０】
例えば、文字認識部３０５は、千の位の文字の候補として「７」及び「１」を特定し、「７」の信頼度が「１」の信頼度よりも高かったとする。この場合、文字認識部３０５は、語彙を参照しなかったとすると、千の位の文字を「７」であると認識（すなわち誤認識）する。一方、語彙を参照すると、文字認識部３０５は、千の位の文字は「１」である可能性が高いと判断することができる。この場合、文字認識部３０５は、千の位の文字を、信頼度が最も高い「７」ではなく、「１」であると認識する。つまり、文字認識部３０５は、語彙によって特定の文字が示唆される場合において、当該文字の信頼度が一定の条件を満たしていれば、当該文字の信頼度が最上位でなくとも当該文字であると認識する。
【０１１１】
なお、文字認識部３０５は、語彙に基づき、認識された文字列に認識され得ない文字が含まれている場合に、認識結果から当該文字を除外することも可能である。例えば、文字認識部３０５は、（上記の生年のように）数字が認識されるべき領域において数字以外の文字が認識された場合には、当該文字を認識結果から除外する。
【０１１２】
（変形例５）
文字認識部３０５は、１つのカードに対して複数のクリッピング領域が設定されている場合に、クリッピング領域毎に異なる画像処理を実行してもよい。あるいは、文字認識部３０５は、クリッピング領域に複数の文字が含まれる場合に、文字毎に異なる画像処理を実行してもよい。例えば、文字認識部３０５は、クリッピング領域毎に異なる平滑化パラメータを設定して平滑化処理を実行してもよく、クリッピング領域毎に異なる方法で二値化処理を実行してもよい。
【０１１３】
（変形例６）
通信端末３００は、図８、図９に示された構成の一部を有しない構成であってもよい。例えば、通信端末３００は、識別部３０２を有しない構成とすることも可能である。この場合、通信端末３００は、ユーザの入力（操作）によってカードの種別を特定してもよい。また、通信端末３００は、傾き補正部３０３や文字列選択部３０４を有しない構成であってもよい。
【０１１４】
（変形例７）
本開示において、読取対象の物体（被写体）は、特に限定されない。読取対象の物体は、カードでなくてもよい。また、本開示は、文字以外の物体の認識にも適用可能である。
【０１１５】
（変形例８）
本開示に係る各装置（画像処理装置１００、文字認識装置２００及び通信端末３００）の具体的なハードウェア構成は、さまざまなバリエーションが考えられ、特定の構成に限定されない。例えば、各装置は、ソフトウェアを用いて実現されてもよく、複数のハードウェアを用いて各種処理を分担するように構成されてもよい。
【０１１６】
図１４は、各装置を実現するコンピュータ装置４００のハードウェア構成の一例を示すブロック図である。コンピュータ装置４００は、ＣＰＵ（Central Processing Unit）４０１と、ＲＯＭ（Read Only Memory）４０２と、ＲＡＭ（Random Access Memory）４０３と、記憶装置４０４と、ドライブ装置４０５と、通信インタフェース４０６と、入出力インタフェース４０７とを備える。本開示に係る各装置は、図１４に示される構成（又はその一部）によって実現され得る。
【０１１７】
ＣＰＵ４０１は、ＲＡＭ４０３を用いてプログラム４０８を実行する。プログラム４０８は、ＲＯＭ４０２に記憶されていてもよい。また、プログラム４０８は、メモリカード等の記録媒体４０９に記録され、ドライブ装置４０５によって読み出されてもよいし、外部装置からネットワーク４１０を介して送信されてもよい。通信インタフェース４０６は、ネットワーク４１０を介して外部装置とデータをやり取りする。入出力インタフェース４０７は、周辺機器（入力装置、表示装置など）とデータをやり取りする。通信インタフェース４０６及び入出力インタフェース４０７は、データを取得又は出力する手段として機能することができる。
【０１１８】
なお、各装置の構成要素は、単一の回路（プロセッサ等）によって構成されてもよいし、複数の回路の組み合わせによって構成されてもよい。ここでいう回路（circuitry）は、専用又は汎用のいずれであってもよい。
【０１１９】
上述された実施形態において単体の装置として説明された構成は、複数の装置に分散して設けられてもよい。例えば、画像処理装置１００又は文字認識装置２００は、クラウドコンピューティング技術などを用いて、複数のコンピュータ装置によって実現されてもよい。また、通信端末３００は、図１１に示される処理の一部がサーバ装置で実行されるように構成されてもよい。
【０１２０】
［付記］
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
（付記１）
画像を取得する取得手段と、
前記取得された画像を、所定の平滑化レベルで平滑化する平滑化手段と、
前記平滑化された画像を二値化する二値化手段と、
前記平滑化手段に前記平滑化レベルが異なる複数回の平滑化を実行させる制御手段と
を有する画像処理装置。
（付記２）
前記制御手段は、前記複数回の平滑化を前記平滑化レベルが強い順に前記平滑化手段に実行させる
付記１に記載の画像処理装置。
（付記３）
前記制御手段は、所定の条件が満たされるまで、前記平滑化手段に前記平滑化を繰り返し実行させる
付記２に記載の画像処理装置。
（付記４）
前記所定の条件は、前記平滑化手段により平滑化され、前記二値化手段により二値化された画像に対する文字認識の結果に関する条件を含む
付記３に記載の画像処理装置。
（付記５）
前記二値化手段は、前記平滑化された画像を当該画像の局所領域毎に決められる閾値を用いて二値化する
付記１から付記４までのいずれかに記載の画像処理装置。
（付記６）
前記平滑化手段は、前記平滑化レベルに応じてフィルタのサイズ及び重み係数の少なくともいずれかが異なるフィルタ処理を実行する
付記１から付記５までのいずれかに記載の画像処理装置。
（付記７）
前記平滑化手段は、前記フィルタ処理を移動平均フィルタ又は加重平均フィルタを用いて実行する
付記６に記載の画像処理装置。
（付記８）
画像を取得する取得手段と、
前記取得された画像を、所定の平滑化レベルで平滑化する平滑化手段と、
前記平滑化された画像を二値化する二値化手段と、
前記二値化された画像に含まれる文字を認識する文字認識手段と、
前記文字認識手段による文字の認識結果に応じて、前記平滑化手段に前記平滑化レベルが異なる平滑化を実行させる制御手段と
を有する文字認識装置。
（付記９）
前記文字認識手段は、基準となる文字に対して前記平滑化レベルが異なる平滑化が実行された複数の文字を表す情報を含む辞書を参照して文字を認識する
付記８に記載の文字認識装置。
（付記１０）
前記画像に含まれる被写体の種別を識別する識別手段を備え、
前記二値化手段は、前記識別された種別に応じた方法で前記平滑化された画像を二値化する
付記８又は付記９に記載の文字認識装置。
（付記１１）
画像を取得する取得手段と、
前記取得された画像を、所定の平滑化レベルで平滑化する平滑化手段と、
前記平滑化された画像を二値化する二値化手段と、
所定の条件が満たされた場合に、動作を終了し、当該条件が満たされない場合に、前記取得された画像に対する前記平滑化レベルが異なる平滑化を前記平滑化手段に実行させる制御手段と
を有する画像処理装置。
（付記１２）
画像を取得し、
前記取得された画像を、所定の平滑化レベルで平滑化し、
前記平滑化された画像を二値化し、
前記取得された画像に対する前記平滑化及び前記二値化を、前記平滑化レベルを異ならせて実行する
画像処理方法。
（付記１３）
画像を取得し、
前記取得された画像を、所定の平滑化レベルで平滑化し、
前記平滑化された画像を二値化し、
所定の条件が満たされた場合に、動作を終了し、当該条件が満たされない場合に、前記取得された画像に対する前記平滑化及び前記二値化を、前記平滑化レベルを異ならせて再度実行する
画像処理方法。
（付記１４）
コンピュータに、
画像を取得する処理と、
前記取得された画像を、所定の平滑化レベルで平滑化する処理と、
前記平滑化された画像を二値化する処理と、
前記平滑化レベルが異なる複数回の平滑化を実行させる処理と
を実行させるためのプログラムを記録したコンピュータ読取可能なプログラム記録媒体。
（付記１５）
コンピュータに、
画像を取得する処理と、
前記取得された画像を、所定の平滑化レベルで平滑化する処理と、
前記平滑化された画像を二値化する処理と、
所定の条件が満たされた場合に、動作を終了し、当該条件が満たされない場合に、前記取得された画像に対して前記平滑化レベルが異なる平滑化を実行させる処理と
を実行させるためのプログラムを記録したコンピュータ読取可能なプログラム記録媒体。
【０１２１】
この出願は、２０１６年２月１５日に出願された日本出願特願２０１６−０２５９０５を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【符号の説明】
【０１２２】
１００    画像処理装置
１１０    取得部
１２０    平滑化部
１３０    二値化部
１４０    制御部
２００    文字認識装置
２１０    文字認識部
２２０    制御部
３００    通信端末
３１０    制御部
３２０    画像処理部
３３０    記憶部
３４０    通信部
３５０    ＵＩ部
３６０    カメラ部
３０１    取得部
３０２    識別部
３０３    傾き補正部
３０４    文字列選択部
３０５    文字認識部
３０６    フォーマット情報
３０７    文字列データベース
３０８    文字認識辞書
【図１】
2017141802.tif 000003
【図２】
2017141802.tif 000004
【図３】
2017141802.tif 000005
【図４】
2017141802.tif 000006
【図５】
2017141802.tif 000007
【図６】
2017141802.tif 000008
【図７】
2017141802.tif 000009
【図８】
2017141802.tif 000010
【図９】
2017141802.tif 000011
【図１０】
2017141802.tif 000012
【図１１】
2017141802.tif 000013
【図１２】
2017141802.tif 000014
【図１３】
2017141802.tif 000015
【図１４】
2017141802.tif 000016
【国際調査報告】
2017141802.tif 000017
2017141802.tif 000018
2017141802.tif 000019
2017141802.tif 000020