(57)【要約】【課題】探索条件に合致する複数の文字列領域からなる組を入力画像から特定できる画像処理装置および画像処理方法を提供する。【解決手段】画像処理装置は、探索条件を受け付ける設定手段を含む。探索条件は、複数のフォーマット文字列の指定を含む。各フォーマット文字列は、認識対象の文字別に文字種または特定文字の指定を含む。画像処理装置は、入力画像から候補となる文字列領域を抽出する抽出手段と、複数の文字列領域からなる組の各々について、各組に含まれるそれぞれの文字列領域についての文字認識結果と複数のフォーマット文字列との類似度を算出する算出手段と、算出された類似度に応じて、複数の文字列領域からなる組のうち、探索条件に合致している組を決定する決定手段とを含む。値を決定する。【選択図】図９
2014071698.tif 000002
【特許請求の範囲】
【請求項１】
文字認識によって入力画像のうち予め定められた探索条件に合致する領域を特定する画像処理装置であって、
前記探索条件を受け付ける設定手段を備え、前記探索条件は、複数のフォーマット文字列の指定を含み、各フォーマット文字列は、認識対象の文字別に文字種または特定文字の指定を含み、
前記入力画像から候補となる文字列領域を抽出する抽出手段と、
複数の文字列領域からなる組の各々について、各組に含まれるそれぞれの文字列領域についての文字認識結果と前記複数のフォーマット文字列との類似度を算出する算出手段と、
算出された類似度に応じて、前記複数の文字列領域からなる組のうち、前記探索条件に合致している組を決定する決定手段とを備える、画像処理装置。
【請求項２】
前記探索条件は、前記複数のフォーマット文字列間の相対位置関係をさらに含み、
前記算出手段は、前記相対位置関係に合致する複数の文字列領域を選択して、類似度を算出する、請求項１に記載の画像処理装置。
【請求項３】
前記設定手段は、前記複数のフォーマット文字列の入力順から前記複数のフォーマット文字列間の相対位置関係を決定する、請求項２に記載の画像処理装置。
【請求項４】
前記文字列領域は、行単位で文字列を抽出したものであり、
前記相対位置関係は、前記入力画像における前記文字列領域の行の位置関係を示す、請求項３に記載の画像処理装置。
【請求項５】
前記決定手段は、算出された類似度が最も高い文字列領域の組を決定するとともに、当該決定した文字列領域の組に含まれない他の文字列領域を候補から除外する、請求項１〜４のいずれか１項に記載の画像処理装置。
【請求項６】
前記算出手段は、文字列領域に含まれる文字毎にそれぞれ算出される類似度から、文字列領域の組の類似度を算出する、請求項１〜５のいずれか１項に記載の画像処理装置。
【請求項７】
前記算出手段は、対象の文字列領域に含まれる文字数が対応するフォーマット文字列で指定される文字数未満である場合には、算出される類似度を低下させる、請求項６に記載の画像処理装置。
【請求項８】
前記設定手段は、探索対象の文字列を含む参照画像に対して文字認識を実行することで取得される認識結果からフォーマット文字列の初期値を設定する、請求項１〜７のいずれか１項に記載の画像処理装置。
【請求項９】
前記設定手段は、前記フォーマット文字列の初期値に対するユーザからの変更を受け付ける、請求項８に記載の画像処理装置。
【請求項１０】
前記探索条件は、各文字種に対応付けられた記号を用いて表示される、請求項１〜９のいずれか１項に記載の画像処理装置。
【請求項１１】
前記フォーマット文字列は、特定文字を認識対象から除外する指定を含む、請求項１〜１０のいずれか１項に記載の画像処理装置。
【請求項１２】
前記設定手段は、フォーマット文字列を予め保持しており、ユーザの選択に応じて、選択されたフォーマット文字列を前記探索条件に設定する、請求項１〜１１のいずれか１項に記載の画像処理装置。
【請求項１３】
文字認識によって入力画像のうち予め定められた探索条件に合致する領域を特定する画像処理方法であって、
前記探索条件を受け付けるステップを含み、前記探索条件は、複数のフォーマット文字列の指定を含み、各フォーマット文字列は、認識対象の文字別に文字種または特定文字の指定を含み、
前記入力画像から候補となる文字列領域を抽出するステップと、
複数の文字列領域からなる組の各々について、各組に含まれるそれぞれの文字列領域についての文字認識結果と前記複数のフォーマット文字列との類似度を算出するステップと、
算出された類似度に応じて、前記複数の文字列領域からなる組のうち、前記探索条件に合致している組を決定するステップとを含む、画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文字認識によって入力画像のうち予め定められた探索条件に合致する領域を特定する画像処理装置および画像処理方法に関する。
【背景技術】
【０００２】
近年、工場の自動化やトレーサビリティの強化により、半製品や製品に付された文字の検査や読み取りのニーズが増加している。このようなニーズに対応して、半製品や製品に対する印字検査用途や文字読み取り用途の文字認識を行うための画像処理装置がしばしば用いられる。このような文字認識を行うための画像処理装置の性能向上が求められている。
【０００３】
このような文字認識に係る画像処理の一例として、特開２００２−１８３６６７号公報（特許文献１）は、任意の文字集合を認識対象文字集合として設定して言語情報に基づいて高認識率で速やかに認識処理を行う文字認識装置を開示する。特開２００６−１０６９３１号公報（特許文献２）は、濃淡画像から指定された文字列が存在する位置を探索する文字列探索装置を開示する。また、特開２００９−１９３１５９号公報（特許文献３）は、文字数が変動する正規表現で表された情報を効率良くかつ正確に文字認識することができる領域抽出プログラムなどを開示する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００２−１８３６６７号公報
【特許文献２】特開２００６−１０６９３１号公報
【特許文献３】特開２００９−１９３１５９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、文字認識における課題の一つとして、ノイズや検査位置のずれによる文字列領域の誤検出がある。例えば、複数の行にわたる文字列などを特定する場合などには、このような誤検出される文字列領域を除去することが難しい。また、このような用途では、上述の先行技術文献に開示されるいずれの方法を採用した場合であっても、文字認識を適切に行えない場合がある。
【０００６】
本発明は、このような課題を解決するためのものであり、その目的は、探索条件に合致する複数の文字列領域からなる組を入力画像から特定できる画像処理装置および画像処理方法を提供することである。
【課題を解決するための手段】
【０００７】
本発明のある局面によれば、文字認識によって入力画像のうち予め定められた探索条件に合致する領域を特定する画像処理装置が提供される。画像処理装置は、探索条件を受け付ける設定手段を含む。探索条件は、複数のフォーマット文字列の指定を含む。各フォーマット文字列は、認識対象の文字別に文字種または特定文字の指定を含む。画像処理装置は、入力画像から候補となる文字列領域を抽出する抽出手段と、複数の文字列領域からなる組の各々について、各組に含まれるそれぞれの文字列領域についての文字認識結果と複数のフォーマット文字列との類似度を算出する算出手段と、算出された類似度に応じて、複数の文字列領域からなる組のうち、探索条件に合致している組を決定する決定手段とを含む。
【０００８】
好ましくは、探索条件は、複数のフォーマット文字列間の相対位置関係をさらに含み、算出手段は、相対位置関係に合致する複数の文字列領域を選択して、類似度を算出する。
【０００９】
さらに好ましくは、設定手段は、複数のフォーマット文字列の入力順から複数のフォーマット文字列間の相対位置関係を決定する。
【００１０】
好ましくは、文字列領域は、行単位で文字列を抽出したものであり、相対位置関係は、入力画像における文字列領域の行の位置関係を示す。
【００１１】
好ましくは、決定手段は、算出された類似度が最も高い文字列領域の組を決定するとともに、当該決定した文字列領域の組に含まれない他の文字列領域を候補から除外する。
【００１２】
好ましくは、算出手段は、文字列領域に含まれる文字毎にそれぞれ算出される類似度から、文字列領域の組の類似度を算出する。
【００１３】
さらに好ましくは、算出手段は、対象の文字列領域に含まれる文字数が対応するフォーマット文字列で指定される文字数未満である場合には、算出される類似度を低下させる。
【００１４】
好ましくは、設定手段は、探索対象の文字列を含む参照画像に対して文字認識を実行することで取得される認識結果からフォーマット文字列の初期値を設定する。
【００１５】
さらに好ましくは、設定手段は、フォーマット文字列の初期値に対するユーザからの変更を受け付ける。
【００１６】
好ましくは、探索条件は、各文字種に対応付けられた記号を用いて表示される。
好ましくは、フォーマット文字列は、特定文字を認識対象から除外する指定を含む。
【００１７】
好ましくは、設定手段は、フォーマット文字列を予め保持しており、ユーザの選択に応じて、選択されたフォーマット文字列を探索条件に設定する。
【００１８】
本発明の別の局面によれば、文字認識によって入力画像のうち予め定められた探索条件に合致する領域を特定する画像処理方法が提供される。画像処理方法は、探索条件を受け付けるステップを含む。探索条件は、複数のフォーマット文字列の指定を含む。各フォーマット文字列は、認識対象の文字別に文字種または特定文字の指定を含む。画像処理方法は、入力画像から候補となる文字列領域を抽出するステップと、複数の文字列領域からなる組の各々について、各組に含まれるそれぞれの文字列領域についての文字認識結果と複数のフォーマット文字列との類似度を算出するステップと、算出された類似度に応じて、複数の文字列領域からなる組のうち、探索条件に合致している組を決定するステップとを含む。
【発明の効果】
【００１９】
本発明によれば、探索条件に合致する複数の文字列領域からなる組を入力画像から容易に特定できる。
【図面の簡単な説明】
【００２０】
【図１】本発明の実施の形態に係る画像処理装置において実行されるフォーマット文字列を用いた文字認識処理を説明するための図である。
【図２】本発明の実施の形態に係る画像処理装置による処理結果の一例を示す図である。
【図３】本発明の実施の形態に係る画像処理装置により抽出された文字列領域の一例を示す図である。
【図４】本発明の実施の形態に係る画像処理装置による処理例を示す図である。
【図５】本発明の実施の形態に係る画像処理装置を含む視覚センサシステムの全体構成を示す模式図である。
【図６】本発明の実施の形態に係る画像処理装置の概略構成図である。
【図７】本発明の実施の形態に係る画像処理装置の機能構成を示す模式図である。
【図８】本発明の実施の形態に係る画像処理装置によって実行される画像処理の処理手順を示すフローチャートである。
【図９】本発明の実施の形態に係る画像処理装置によって実行される運転モードにおける処理手順を示すフローチャートである。
【図１０】本発明の実施の形態に係る画像処理装置において実行される組類似度の算出処理を説明するための図である。
【図１１】本実施の形態に係る画像処理装置が提供するフォーマット文字列を設定するためのユーザインターフェイス画面の一例を示す図である。
【図１２】本実施の形態に係る画像処理装置が提供するフォーマット文字列を設定するためのユーザインターフェイス画面の一例を示す図である。
【図１３】本発明の実施の形態に係る画像処理装置によって提供されるフォーマット文字列の自動抽出機能に係る処理手順を示すフローチャートである。
【図１４】本実施の形態に係る画像処理装置が提供するフォーマット文字列の自動抽出に係るユーザインターフェイス画面の一例を示す図である。
【図１５】本実施の形態に係る画像処理装置が提供するフォーマット文字列の設定に係るユーザインターフェイス画面の一例を示す図である。
【発明を実施するための形態】
【００２１】
本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰り返さない。
【００２２】
［Ａ．フォーマット文字列］
本実施の形態の形態に係る画像処理装置は、文字認識によって入力画像のうち予め定められた探索条件に合致する領域を特定する。この探索条件は、複数のフォーマット文字列を含む。まず、本実施の形態に係るフォーマット文字列について説明する。
【００２３】
本実施の形態に係るフォーマット文字列は、典型的には、認識対象の文字別に文字種または文字を指定するものである。言い換えれば、フォーマット文字列は、認識対象の文字列について、文字種または文字の組み合わせを指定するものである。
【００２４】
具体的には、フォーマット文字列は、認識対象の文字別に文字種の指定（英数字、英字、数字、記号、特殊文字、漢字、ひらがな、カタカナなど）、文字そのものの指定（アルファベットの各文字「Ａ」，「Ｂ」，…、記号の各文字「’」，「−」，…、ひらがなの各文字「あ」，「い」，…、カタカナの各文字「ア」，「イ」，…）、フォント種の指定、文字サイズ（フォントサイズ）の指定などを含む。さらに、フォーマット文字列を用いて、文字に加えて、シンボルを指定するようにしてもよい。
【００２５】
典型的には、フォーマット文字列は、認識対象に付与される文字列の印字フォーマットが予め定まっているもの、例えば、商品の型番、価格、製造年月日、識別番号などに応じて設定される。
【００２６】
さらに、フォーマット文字列としては、特定文字を認識対象から除外する指定を設定できるようにしてもよい。すなわち、文字列間を接続するデリミタ（区切要素）などについては、認識対象とする必要がない場合も多いので、これを文字認識においては読み飛ばすようにしてもよい。
【００２７】
このようなフォーマット文字列を適用することで、認識率を向上（誤認識率を低下）させる。すなわち、本実施の形態に係る画像処理装置１００は、予め設定したフォーマット文字列（文字／文字種の組み合わせ情報）を用いて、認識候補を限定することで、類似文字への誤認識を改善する。本実施の形態においては、フォーマット文字列は、ユーザが予め設定しているものとする。なお、文字そのものが指定された場合には、当該指定された文字のみが認識候補となる。
【００２８】
図１は、本発明の実施の形態に係る画像処理装置１００において実行されるフォーマット文字列を用いた文字認識処理を説明するための図である。図１を参照して、例えば、文字種として、数字、英字、記号を区別するような形態を想定する。フォーマット文字列を定義する方法（表現形式）は、任意に取り決めることができる。図１に示す例では、フォーマット文字列として、「？」、「＃」、「＄」、「＠」などの記号を用いる。各記号の意味は、以下の通りである。
【００２９】
？：すべての文字を認識候補とする
＃：数字（０〜９）のみ認識候補とする
＄：英字（Ａ〜Ｚ、および／または、ａ〜ｚ）のみ認識候補とする
＠：記号（「’」，「−」，「．」，「：」，「￥」など）のみ認識候補とする
図１に示すフォーマット文字列は、あくまで一例であり、文字種を任意の記号、シンボル、およびアイコンなどを用いて表現してもよい。
【００３０】
図１を参照して、対象物の表面には、文字列「７８Ｏ（ナナ、ハチ、オー）」が印字されているとする。図１に示すケース１では、フォーマット文字列が指定されていないとする。フォーマット文字列が指定されていないことで、すべての文字（数字、英字、記号）がパターンマッチングの認識候補となる。その結果、例えば、文字列「７Ｂ０（ナナ、ビー、ゼロ）」が認識結果として出力される。すなわち、「８（ハチ）」が「Ｂ（ビー）」に誤認識され、「Ｏ（オー）」が「０（ゼロ）」に誤認識されている。
【００３１】
これに対して、ケース２では、フォーマット文字列として「＃＃＄」（数字＋数字＋英字）が指定されている。このため、抽出された文字列領域に含まれる第１番目および第２番目の文字については、数字がパターンマッチングの認識候補となる。同様に、抽出された文字列領域に含まれる第３番目の文字については、英字がパターンマッチングの認識候補となる。この結果、文字列「７Ｂ０」が正しく認識される確率が高くなる。
【００３２】
このように、本実施の形態においては、フォーマット文字列（文字／文字種の組み合わせ情報）を用いて、認識候補を限定することで、認識精度を高める。
【００３３】
本明細書において、「文字列領域」は、１または複数の文字が存在していると判断された一まとまりの領域を意味し、典型的には、互いに隣接して配置された一連の文字を含む領域が相当する。認識対象の文字（文字列）の配置方向を行方向とすれば、行単位で文字列を抽出した領域を文字列領域としてもよい。もちろん、複数の行にわたる領域を文字列領域として抽出してもよい。例えば、文字列が横書きであれば、基本的には、横方向に沿って文字列領域が抽出される。
【００３４】
このような文字列領域の抽出方法としては、公知の方法を採用することができる。例えば、入力画像に対して、第１の方向（横書きであれば横方向）に投影（例えば、輝度値を積分）して文字列が並ぶ行を特定し、各特定した行について、第１の方向とは直交する第２の方向（横方向であれば縦方向）に投影（例えば、輝度値を積分）して各行に含まれる各文字を特定する。このようにして、入力画像から文字列領域が抽出されるとともに、各文字列領域に含まれる各文字が特定される。
【００３５】
［Ｂ．処理概要］
次に、本実施の形態に係る画像処理の処理概要について説明する。図２は、本発明の実施の形態に係る画像処理装置１００による処理結果の一例を示す図である。
【００３６】
図２（ａ）に示す処理例は、対象物を撮像することで得られる入力画像から抽出された文字列領域および認識結果を示す。図２（ａ）に示す文字列領域のうち、右側中段にある文字列領域は、背景の模様といったノイズなどによって誤検出されたものである。本実施の形態においては、図２（ｂ）に示すように、このような誤検出された文字列領域を除去する。
【００３７】
具体的には、本実施の形態に係る画像処理装置１００は、複数のフォーマット文字列の指定を含む探索条件を受け付ける。画像処理装置１００は、処理対象の入力画像から候補となる文字列領域を抽出する。そして、画像処理装置１００は、複数の文字列領域からなる組の各々について、各組に含まれるそれぞれの文字列領域についての文字認識結果と複数のフォーマット文字列との類似度を算出し、算出された類似度に応じて、複数の文字列領域からなる組のうち、探索条件に合致している組を決定する。このとき、探索条件に合致している文字列領域の組から外れた文字列領域については、誤検出された文字列領域であるとして除去する。
【００３８】
すなわち、画像処理装置１００は、予め設定されたフォーマット文字列を抽出された文字列領域に当てはめた際の類似度を算出する。フォーマット文字列を文字列領域の組のそれぞれに適用した際の類似度を計算し、類似度の高い文字列領域の組み合わせを選択する。このとき、画像処理装置１００は、類似度の低い文字列領域を誤検出として除去する。なお、同一の入力画像内に探索条件に合致する文字列領域の組が複数存在する場合もある。そのため、類似度を算出した文字列領域の組のうち、類似度が相対的に高い組を１つ以上抽出してもよい。この抽出された文字列領域の組が、入力画像のうち予め定められた探索条件に合致する領域として特定される。
【００３９】
図３は、本発明の実施の形態に係る画像処理装置１００により抽出された文字列領域の一例を示す図である。図４は、本発明の実施の形態に係る画像処理装置１００による処理例を示す図である。
【００４０】
図３には、入力画像２００に対して、４つの文字列領域２０１〜２０４が抽出されている例を示す。画像処理装置１００は、抽出した文字列領域２０１〜２０４の各々から文字列を構成する各文字を抽出し、文字認識を実行する。
【００４１】
図４（ａ）には、予め設定されたフォーマット文字列の一例を示す。図４（ａ）に示すように、例えば、３つのフォーマット文字列「＄＄＄＄＄＠＃＃」、「＃＃＃＃＠＃＃＠＃＃」、「＄＄＄＄＄＄」が設定されているとする。
【００４２】
まず、４つの文字列領域２０１〜２０４に対して文字認識が実行される。そして、複数の文字列領域からなる組の各々に対して、この３つのフォーマット文字列が適用される。図４（ｂ）には、４つの文字列領域２０１〜２０４に対して文字認識が実行された場合の結果を示す。
【００４３】
この文字認識においては、各文字を示す画像と認識候補の文字との間で類似度が算出される。この類似度は、典型的には、予め定義された辞書に含まれる各文字のイメージや特徴量との一致度合いを示す値である。この類似度は、文字認識の際に算出される相関値などを用いて算出される。
【００４４】
画像処理装置１００は、これらの文字別の類似度を用いて、複数の文字列領域からなる組の各々について、各組に含まれるそれぞれの文字列領域についての文字認識結果と複数のフォーマット文字列との類似度を算出する。すなわち、画像処理装置１００は、文字列領域に含まれる文字毎にそれぞれ算出される類似度から、文字列領域の組の類似度を算出する。以下、説明の便宜上、文字列領域とフォーマット文字列との組み合わせについての類似度を「組類似度」と称す。この「組類似度」の具体的な算出方法については、後述する。
【００４５】
図４（ｃ）は、文字列領域とフォーマット文字列との組み合わせのそれぞれについて組類似度を算出した例を示す。なお、図４（ｃ）には、複数のフォーマット文字列間の相対位置関係を探索条件とした例を示す。すなわち、入力画像から抽出された文字列領域の出現位置が設定された複数のフォーマット文字列の設定順に対応しているという条件をさらに課している。複数のフォーマット文字列間の相対位置関係を探索条件とする必要はないが、印字フォーマットが予め決まっていると、このような条件を付加することで、より高速かつ効率的に文字認識を実行できる。すなわち、画像処理装置１００は、複数のフォーマット文字列の相対位置関係に合致する複数の文字列領域を選択して、組類似度を算出する。
【００４６】
例えば、文字列領域２０１（Ｒ１）の認識結果にフォーマット文字列「＄＄＄＄＄＠＃＃」（Ｆ１）を適用し、文字列領域２０２（Ｒ２）の認識結果にフォーマット文字列「＃＃＃＃＠＃＃＠＃＃」（Ｆ２）を適用し、文字列領域２０３（Ｒ３）および文字列領域２０４（Ｒ４）の認識結果にフォーマット文字列「＄＄＄＄＄＄」（Ｆ３）をそれぞれ適用した場合の類似度が算出される。
【００４７】
図４（ｃ）に示す例では、フォーマット文字列（Ｆ１），（Ｆ２），（Ｆ３）の順で文字列領域（Ｒ１），（Ｒ２），（Ｒ３），（Ｒ４）に適用されるので、文字列領域とフォーマット文字列との組み合わせは４つになる。そして、各組み合わせについて、組類似度が算出される。図４（ｃ）に示す例では、フォーマット文字列（Ｆ１），（Ｆ２），（Ｆ３）をそれぞれ文字列領域（Ｒ１），（Ｒ２），（Ｒ４）に適用した組み合わせが最も高い組類似度の値を示す。したがって、画像処理装置１００は、文字列領域（Ｒ１），（Ｒ２），（Ｒ４）（図３に示す文字列領域２０１，２０２，２０４）を探索条件に合致する領域であると特定するとともに、各文字列領域についての認識結果（テキスト値）を出力する。
【００４８】
さらに、画像処理装置１００は、算出された類似度が最も高い文字列領域の組を決定するとともに、当該決定した文字列領域の組に含まれない他の文字列領域を候補から除外する。図４（ｃ）に示す例では、文字列領域（Ｒ３）（図３に示す文字列領域２０３）が除外される。
【００４９】
以上のような処理によって、文字列領域が誤検出されたとしても、このような誤検出による影響を排除して、最終的な検出結果の認識精度を高めることができる。
【００５０】
典型的には、文字列領域は入力画像から行単位で文字列を抽出したものであり、この場合には、上述の相対位置関係としては、入力画像における文字列領域の行の位置関係が用いられる。
【００５１】
［Ｃ．ハードウェア構成］
図５は、本発明の実施の形態に係る画像処理装置１００を含む視覚センサシステム１の全体構成を示す模式図である。
【００５２】
図５を参照して、視覚センサシステム１は、生産ラインなどに組み込まれ、対象物（ワーク２）を撮像することで得られる入力画像に対して文字認識を実行することで、入力画像から予め定められた探索条件に合致する領域を特定する。なお、視覚センサシステム１は、特定した文字列を読み取った結果（テキスト情報）を出力してもよい。
【００５３】
視覚センサシステム１においては、ワーク２はベルトコンベヤなどの搬送機構６によって搬送され、搬送されたワーク２は、カメラ８によって所定タイミングで撮像される。カメラ８は、一例として、レンズなどの光学系に加えて、ＣＣＤ（Coupled Charged Device）やＣＭＯＳ（Complementary Metal Oxide Semiconductor）センサといった、複数の画素に区画された撮像素子を含んで構成される。なお、カメラ８で撮像されるワーク２に対して光を照射する照明機構をさらに設けてもよい。
【００５４】
カメラ８を撮像することで得られる入力画像は、画像処理装置１００へ伝送される。画像処理装置１００は、このカメラ８から受けた入力画像に対して後述するような文字認識を含む処理を実行し、その結果を接続されたディスプレイ１０２で表示したり、その結果を外部装置へ出力したりする。
【００５５】
ワーク２がカメラ８の視野内に到達したことは、搬送機構６の両端に配置された光電センサ４によって検出される。具体的には、光電センサ４は、同一の光軸上に配置された受光部４ａと投光部４ｂとを含み、投光部４ｂから放射される光がワーク２で遮蔽されることを受光部４ａで検出することによって、ワーク２の到達を検出する。この光電センサ４のトリガー信号は、ＰＬＣ（Programmable Logic Controller）５へ出力される。ＰＬＣ５は、光電センサ４などからのトリガー信号を受信するとともに、搬送機構６の制御自体を司る。
【００５６】
画像処理装置１００は、ワーク２に対して計測処理（画像処理）を実行する運転モードと、探索条件（フォーマット文字列）や計測パラメータなどを設定する設定モードとを有している。
【００５７】
画像処理装置１００は、典型的には、汎用的なアーキテクチャを有しているコンピュータであり、予めインストールされたプログラム（命令コード）を実行することで、後述するような各種機能を提供する。このようなプログラムは、典型的には、メモリカード１０６などに格納された状態で流通する。
【００５８】
汎用的なコンピュータを画像処理装置１００として利用する場合には、本実施の形態に係る機能を提供するためのアプリケーションに加えて、コンピュータの基本的な機能を提供するためのＯＳ（Operating System）がインストールされていてもよい。この場合には、本実施の形態に係るプログラムは、ＯＳの一部として提供されるプログラムモジュールのうち、必要なモジュールを所定の配列で所定のタイミングで呼出して処理を実行させるものであってもよい。すなわち、本実施の形態に係るプログラム自体は、上記のようなモジュールを含んでおらず、ＯＳと協働して処理が実行されてもよい。本実施の形態に係るプログラムとしては、このような一部のモジュールを含まない形態であってもよい。
【００５９】
さらに、本実施の形態に係るプログラムは、他のプログラムの一部に組込まれて提供されるものであってもよい。その場合にも、プログラム自体には、上記のような組合せられる他のプログラムに含まれるモジュールを含んでおらず、当該他のプログラムと協働して処理が実行される。すなわち、本実施の形態に係るプログラムとしては、このような他のプログラムに組込まれた形態であってもよい。なお、プログラムの実行により提供される機能の一部もしくは全部を専用のハードウェア回路として実装してもよい。
【００６０】
図６は、本発明の実施の形態に係る画像処理装置１００の概略構成図である。図６を参照して、画像処理装置１００は、演算処理部であるＣＰＵ（Central Processing Unit）１１０と、記憶部としてのメインメモリ１１２およびハードディスク１１４と、カメラインターフェイス１１６と、入力インターフェイス１１８と、表示コントローラ１２０と、ＰＬＣインターフェイス１２２と、通信インターフェイス１２４と、データリーダ／ライタ１２６とを含む。これらの各部は、バス１２８を介して、互いにデータ通信可能に接続される。
【００６１】
ＣＰＵ１１０は、ハードディスク１１４に格納されたプログラム（コード）をメインメモリ１１２に展開して、これらを所定順序で実行することで、各種の演算を実施する。メインメモリ１１２は、典型的には、ＤＲＡＭ（Dynamic Random Access Memory）などの揮発性の記憶装置であり、ハードディスク１１４から読み出されたプログラムに加えて、カメラ８によって取得された入力画像や各種パラメータなどを保持する。なお、ハードディスク１１４に加えて、あるいは、ハードディスク１１４に代えて、ＳＳＤ（Solid-State Drive）などの半導体記憶装置を採用してもよい。
【００６２】
カメラインターフェイス１１６は、ＣＰＵ１１０とカメラ８との間のデータ伝送を仲介する。すなわち、カメラインターフェイス１１６は、ワーク２を撮像して画像データを生成するためのカメラ８と接続される。より具体的には、カメラインターフェイス１１６は、１つ以上のカメラ８と接続が可能であり、カメラ８からの画像データを一時的に蓄積するための画像バッファ１１６ａを含む。そして、カメラインターフェイス１１６は、画像バッファ１１６ａに所定コマ数の画像データが蓄積されると、その蓄積されたデータをメインメモリ１１２へ転送する。また、カメラインターフェイス１１６は、ＣＰＵ１１０が発生した内部コマンドに従って、カメラ８に対して撮像コマンドを与える。
【００６３】
入力インターフェイス１１８は、ＣＰＵ１１０とマウス１０４、キーボード、タッチパネルなどの入力部との間のデータ伝送を仲介する。すなわち、入力インターフェイス１１８は、ユーザが入力部を操作することで与えられる操作指令を受け付ける。
【００６４】
表示コントローラ１２０は、表示装置の典型例であるディスプレイ１０２と接続され、ＣＰＵ１１０における画像処理の結果などをユーザに通知する。すなわち、表示コントローラ１２０は、ディスプレイ１０２に接続され、当該ディスプレイ１０２での表示を制御する。
【００６５】
ＰＬＣインターフェイス１２２は、ＣＰＵ１１０とＰＬＣ５との間のデータ伝送を仲介する。より具体的には、ＰＬＣインターフェイス１２２は、ＰＬＣ５によって制御される生産ラインの状態に係る情報やワークに係る情報などをＣＰＵ１１０へ伝送する。
【００６６】
通信インターフェイス１２４は、ＣＰＵ１１０とコンソール（あるいは、パーソナルコンピュータやサーバ装置）などとの間のデータ伝送を仲介する。通信インターフェイス１２４は、典型的には、イーサネット（登録商標）やＵＳＢ（Universal Serial Bus）などからなる。なお、後述するように、メモリカード１０６に格納されたプログラムを画像処理装置１００にインストールする形態に代えて、通信インターフェイス１２４を介して、配信サーバなどからダウンロードしたプログラムを画像処理装置１００にインストールしてもよい。
【００６７】
データリーダ／ライタ１２６は、ＣＰＵ１１０と記憶媒体であるメモリカード１０６との間のデータ伝送を仲介する。すなわち、メモリカード１０６には、画像処理装置１００で実行されるプログラムなどが格納された状態で流通し、データリーダ／ライタ１２６は、このメモリカード１０６からプログラムを読出す。また、データリーダ／ライタ１２６は、ＣＰＵ１１０の内部指令に応答して、カメラ８によって取得された画像データおよび／または画像処理装置１００における処理結果などをメモリカード１０６へ書込む。なお、メモリカード１０６は、ＣＦ（Compact Flash(登録商標)）、ＳＤ（Secure Digital）などの汎用的な半導体記憶デバイスや、フレキシブルディスク（Flexible Disk）などの磁気記憶媒体や、ＣＤ−ＲＯＭ（Compact Disk Read Only Memory）などの光学記憶媒体等からなる。
【００６８】
また、画像処理装置１００には、必要に応じて、プリンタなどの他の出力装置が接続されてもよい。
【００６９】
図５および図６に示す画像処理装置１００は、各種設定を受け付ける機能と文字認識を実行する機能とが同一の装置に実装される例を示すが、これらの機能を別々の装置に実装してもよい。この場合には、それぞれの装置が互いに連係することで、いわば画像処理システムとして本実施の形態に係る機能を実現することになる。本願発明の技術的範囲は、特許請求の範囲に記載された構成を有するものであれば、いずれの実装形態も含まれ得る。
【００７０】
［Ｄ．機能構成］
次に、本実施の形態に係る画像処理を実現するための機能構成について説明する。図７は、本発明の実施の形態に係る画像処理装置１００の機能構成を示す模式図である。図７に示す各機能は、典型的には、ＣＰＵ１１０がハードディスク１１４（いずれも図６）に格納されたプログラム（コード）を実行することで実現される。
【００７１】
図７を参照して、画像処理装置１００は、その機能構成として、画像取込部１５０と、画像処理部１６０と、設定部１７０と、出力部１８０とを含む。
【００７２】
画像取込部１５０は、カメラ８が被写体を撮像することで生成される入力画像を取得する。この取得された入力画像は、画像処理部１６０へ出力される。それに加えて、設定部１７０が入力画像を参照する場合もある。
【００７３】
画像処理部１６０は、画像取込部１５０からの入力画像に対して、上述したような画像処理を実行することで、文字認識によって入力画像のうち予め定められた探索条件に合致する領域を特定する。より具体的には、画像処理部１６０は、文字抽出部１６２と、文字認識部１６４と、文字列領域特定部１６６とを含む。
【００７４】
文字抽出部１６２は、入力画像から候補となる文字列領域を抽出する。この文字列領域は、上述したような輝度値の投影などの方法を用いて抽出される。文字抽出部１６２は、パラメータ格納部１７８に格納されている計測パラメータを参照して、文字列領域を抽出する。
【００７５】
文字認識部１６４は、抽出された文字列領域の各候補に対して、文字認識を実行する。このとき、文字認識部１６４は、予め設定された辞書データ１６８を参照して、文字認識を実行する。そして、文字認識部１６４は、任意の文字列領域の組み合わせに対して、フォーマット文字列を適用することで組類似度を算出する。すなわち、文字認識部１６４は、複数の文字列領域からなる組の各々について、各組に含まれるそれぞれの文字列領域についての文字認識結果と複数のフォーマット文字列との類似度を算出する。このとき、文字認識部１６４は、文字列領域に含まれる文字毎にそれぞれ算出される類似度から、文字列領域の組の類似度（組類似度）を算出する。なお、文字認識部１６４は、パラメータ格納部１７８にアクセスして、その中に格納されているフォーマット文字列を参照する。
【００７６】
文字列領域特定部１６６は、文字認識部１６４により算出される組類似度に基づいて、探索条件に合致する領域を特定する。すなわち、文字列領域特定部１６６は、算出された類似度に応じて、複数の文字列領域からなる組のうち、探索条件に合致している組を決定する。併せて、文字列領域特定部１６６は、算出された組類似度が最も高い文字列領域の組を決定するとともに、当該決定した文字列領域の組に含まれない他の文字列領域を候補から除外する。
【００７７】
出力部１８０は、文字列領域特定部１６６により特定された文字列領域の組、および、読み取られたテキスト値を認識結果として出力する。出力部１８０は、特定された文字列領域の画像そのものを出力してもよい。
【００７８】
設定部１７０は、ユーザなどから探索条件としてフォーマット文字列を受け付けるとともに、計測パラメータについてもユーザの指定を受け付ける。設定部１７０は、ユーザ操作に従って、フォーマット文字列および計測パラメータをパラメータ格納部１７８へ格納する。計測パラメータとしては、例えば、文字色（認識対象の文字の色を指定するパラメータ）、印字種類（認識対象の文字の表現形式を指定するパラメータ）、ドット間隔（認識対象の文字を構成する縦／横のドット間隔を示すパラメータ）、フィルタサイズ（ノイズ除去用のフィルタサイズを指定するパラメータ）、文字太さしきい値（認識対象の文字の太さを指定するパラメータ）、回転バラツキ補正（所定範囲にわたる文字の回転バラツキを探索範囲とする）、斜体バラツキ補正（所定範囲にわたる文字の斜体バラツキを探索範囲とする）、ふち消し補正（計測領域に接している黒い部分をノイズとして読み取り候補から除外する）などが挙げられる。
【００７９】
より具体的には、設定部１７０は、フォーマット文字列設定部１７２と、計測パラメータ設定部１７４と、フォーマット文字列自動抽出部１７６とを含む。フォーマット文字列設定部１７２は、フォーマット文字列を受け付けるためのユーザインターフェイス画面を提供するとともに、ユーザからその指定を受け付ける。計測パラメータ設定部１７４は、計測パラメータの設定／調整を受け付けるためのユーザインターフェイス画面を提供するとともに、ユーザからその指定を受け付ける。
【００８０】
フォーマット文字列自動抽出部１７６は、後述するように、テスト画像（テストサンプルを撮像することで取得される画像）からフォーマット文字列を自動的に抽出する。このようなフォーマット文字列の自動抽出機能によって、ユーザのフォーマット文字列の入力を支援する。
【００８１】
［Ｅ．処理手順］
次に、本実施の形態に係る画像処理の処理手順について説明する。
【００８２】
（ｅ１：全体処理）
図８は、本発明の実施の形態に係る画像処理装置１００によって実行される画像処理の処理手順を示すフローチャートである。図８には、フォーマット文字列や計測パラメータなどを設定する設定モードにおける処理と、ワーク２に対して計測処理（画像処理）を実行する運転モードにおける処理とを併せて示す。
【００８３】
図８を参照して、設定モードにおいて、画像処理装置１００は、テスト画像を取得する（ステップＳ２）。このテスト画像は、カメラ８の視野範囲に認識対象の文字列を含む対象物（テストサンプル）を配置し、カメラ８でこの対象物を撮像することで取得された画像である。
【００８４】
続いて、画像処理装置１００は、ユーザからフォーマット文字列の設定を受け付ける（ステップＳ４）とともに、ユーザから計測パラメータの設定を受け付ける（ステップＳ６）。そして、画像処理装置１００は、設定されたフォーマット文字列および計測パラメータを設定値として格納する（ステップＳ８）。
【００８５】
続いて、運転モードが開始されると、画像処理装置１００は、何らかのトリガー信号に応じて対象物を撮像して入力画像を取得する（ステップＳ１０）。続いて、画像処理装置１００は、入力画像から文字列領域を抽出する（ステップＳ１２）。そして、画像処理装置１００は、抽出した各文字列領域に含まれる各文字について文字認識を実行し（ステップＳ１４）し、複数の文字列領域からなる組の各々についての組類似度を算出する（ステップＳ１６）。さらに、画像処理装置１００は、算出された組類似度に基づいて、探索条件に合致する領域を特定する（ステップＳ１８）。そして、画像処理装置１００は、文字認識の実行結果を出力する（ステップＳ２０）。
【００８６】
運転モードが選択されている間、ステップＳ１０〜Ｓ２０の処理が繰り返される。
（ｅ２：運転モード）
次に、運転モードにおける処理手順について、より詳細に説明する。図９は、本発明の実施の形態に係る画像処理装置１００によって実行される運転モードにおける処理手順を示すフローチャートである。
【００８７】
図９を参照して、画像処理装置１００は、入力画像から文字列領域を抽出する（ステップＳ１００）。そして、画像処理装置１００は、抽出した各文字列領域から文字を抽出する（ステップＳ１０２）。続いて、画像処理装置１００は、抽出した文字毎に文字認識を実行する（ステップＳ１０４）。本実施の形態においては、組類似度を算出するため、ステップＳ１０４においては、各文字について、辞書データに含まれるすべての文字候補との間で類似度が算出される。すなわち、対象の文字について、英字（Ａ〜Ｚ）、数字（０〜９）、記号（「’」，「−」，「．」，「：」，「￥」など）との間の類似度がそれぞれ算出される。
【００８８】
そして、画像処理装置１００は、組類似度を算出すべき、文字列領域の組み合わせを決定する（ステップＳ１０６）。続いて、決定した組み合わせのうち、組類似度の算出対象となる文字列領域の組み合わせを選択する（ステップＳ１０８）。
【００８９】
画像処理装置１００は、選択された文字列領域の組み合わせに対して、フォーマット文字列を文字列領域に適用して、各文字列領域に含まれる各文字の類似度を算出する（ステップＳ１１０）。すなわち、画像処理装置１００は、フォーマット文字列に基づいて各文字の類似度を算出する。例えば、ある文字に適合される文字種が「＃」であれば、数字（０〜９）のみが認識候補となり、対象の文字との間の類似度が最も高い数字およびその類似度が認識結果として出力される。同様に、ある文字に適合される文字種が「＄」であれば、英字（Ａ〜Ｚ）のみが認識候補となり、対象の文字との間の類似度が最も高い英字およびその類似度が認識結果として出力される。
【００９０】
画像処理装置１００は、各文字列領域の各文字について算出された類似度から、選択された組み合わせについての組類似度を算出する（ステップＳ１１２）。典型的には、各文字列領域の各文字についての類似度の総和を当該組み合わせについての組類似度として算出する。
【００９１】
そして、画像処理装置１００は、すべての文字列領域の組み合わせが選択されたか否かを判断する（ステップＳ１１４）。選択されていない組み合わせが存在している場合（ステップＳ１１４においてＮＯの場合）には、未選択の文字列領域の組み合わせのうち算出対象となる文字列領域の組み合わせを選択する（ステップＳ１１６）。そして、ステップＳ１１０以下の処理が実行される。
【００９２】
すべての文字列領域の組み合わせが選択済みである場合（ステップＳ１１４においてＹＥＳの場合）には、画像処理装置１００は、算出された組類似度が最も高い組み合わせを特定する（ステップＳ１１８）とともに、当該決定した文字列領域の組に含まれない他の文字列領域を候補から除外する（ステップＳ１２０）。そして、画像処理装置１００は、特定された組み合わせに含まれる文字列領域についての認識結果および類似度を出力する（ステップＳ１２２）。
【００９３】
［Ｆ．組類似度の算出処理］
次に、文字列領域に含まれる文字毎にそれぞれ算出される類似度および組類似度の算出処理について説明する。
【００９４】
図１０は、本発明の実施の形態に係る画像処理装置１００において実行される組類似度の算出処理を説明するための図である。図１０には、文字列「７８Ｏ（ナナ、ハチ、オー）」に対して文字認識が実行されることで算出された類似度を示す。上述したように、最初の段階では、すべての認識候補との間で類似度が算出される。この文字認識による認識結果に対して、３つのフォーマット文字列（（１）「＃＃＄」、（２）「＄＄＄＄」、（３）「＃＃＃」）が適用された場合を考える。
【００９５】
１番目のフォーマット文字列「＃＃＄」が適用されると、１番目および２番目の文字については、認識候補が数字に制限され、その中で最も類似度の高い文字（この例では、それぞれ「７」および「８」）が特定され、その類似度（いずれも「５０」）が抽出される。３番目の文字については、認識候補が英字に制限され、その中で最も類似度の高い文字（この例では、「Ｏ」）が特定され、その類似度（「５０」）が抽出される。その結果、類似度としては、５０＋５０＋５０＝１５０と算出される。
【００９６】
次に、２番目のフォーマット文字列「＄＄＄＄」が適用されると、１番目〜３番目の文字については、認識候補が英字に制限され、その中で最も類似度の高い文字（この例では、それぞれ「Ｚ」、「Ｂ」および「Ｏ」）が特定され、その類似度（それぞれ「２０」、「４５」および「５０」）が抽出される。このとき、フォーマット文字列は４文字の指定を含むが、候補の文字列領域からは３文字しか抽出されなかったので、４番目の文字については、類似度を「０」とみなしてもよい。あるいは、文字が抽出されなかったことをペナルティとして減点してもよい。すなわち、文字列領域に含まれる文字数がフォーマット文字列によって指定した文字数に達しない場合には、ペナルティを与えるようにしてもよい。言い換えれば、画像処理装置１００は、対象の文字列領域に含まれる文字数が対応するフォーマット文字列で指定される文字数未満である場合には、算出される類似度を低下させる。
【００９７】
このようにペナルティを与えることで、対応するフォーマット文字列の下では、類似度が低いという特徴量が現れ、選択されにくくなることで、誤認識率を低下させることができる。
【００９８】
最後に、３番目のフォーマット文字列「＃＃＃」が適用されると、１番目〜３番目の文字については、認識候補が数字に制限され、その中で最も類似度の高い文字（この例では、それぞれ「７」、「８」および「０」）が特定され、その類似度（それぞれ「５０」、「５０」および「４５」）が抽出される。この３番目のフォーマット文字列「＃＃＃」は認識対象の文字列の本来のフォーマットを示すものではなく、その結果、１番目のフォーマット文字列「＃＃＄」を適用した場合に比較して、類似度が低くなっていることがわかる。
【００９９】
図１０に示す例では、説明の便宜上、１つの文字列領域についての類似度の算出方法について説明したが、対応する組み合わせに含まれる文字列領域のそれぞれについての類似度の総和を組類似度として算出すればよい。
【０１００】
このような類似度の総和から組類似度を算出する方法として、類似度の総和を用いる方法に代えて、その組に含まれる文字列領域の類似度についての平均値および／または最低値を用いるようにしてもよい。最低値を用いることで、いずれか１つの文字列領域が対応するフォーマット文字列に適合していないような場合に、その組み合わせを除外することが容易になる。
【０１０１】
なお、フォーマット文字列を用いて認識される文字列は、記号（「’」，「−」，「．」，「：」，「￥」など）をデリミタ（区切要素）として用いていることが多いので、認識対象から除外して、すなわち文字認識においては読み飛ばすようにしてもよい。
【０１０２】
さらに、上述したように、複数のフォーマット文字列間の相対位置関係を探索条件として設定してもよい。すなわち、位置関係の情報を用いて、複数の文字列領域の組み合わせを構成してもよい。
【０１０３】
［Ｇ．ユーザインターフェイス］
次に、本実施の形態に係る画像処理装置１００が提供するユーザインターフェイスの一例について説明する。
【０１０４】
（ｇ１：フォーマット文字列の設定）
図１１は、本実施の形態に係る画像処理装置１００が提供するフォーマット文字列を設定するためのユーザインターフェイス画面４００Ａの一例を示す図である。図１１に示すユーザインターフェイス画面４００Ａでは、４つの文字列領域に対して、それぞれフォーマット文字列を設定できるようになっている。すなわち、ユーザインターフェイス画面４００Ａは、４つのフォーマット文字列入力領域４１０，４１２，４１４，４１６を含む。
【０１０５】
ユーザは、いずれかのフォーマット文字列入力領域を選択して、目的のフォーマット文字列を入力する。この際、キーボードなどの入力装置を用いて直接的に入力してもよいが、以下のようなフォーマット文字列入力用のユーザインターフェイス画面が提供されてもよい。
【０１０６】
図１２は、本実施の形態に係る画像処理装置１００が提供するフォーマット文字列を設定するためのユーザインターフェイス画面４００Ｂの一例を示す図である。図１２に示すユーザインターフェイス画面４００Ｂは、図１１に示すユーザインターフェイス画面４００Ａにおいて、フォーマット文字列入力領域４１０，４１２，４１４，４１６のいずれかが選択されることで表示される。
【０１０７】
図１２に示すユーザインターフェイス画面４００Ｂでは、入力中のフォーマット文字列を示すフォーマット文字列入力領域４１０と、指定可能な複数の文字種にそれぞれ関連付けられた複数のオブジェクト４２０と、指定可能な記号に関連付けられた複数のオブジェクト４２２とが並べて、すなわち同一画面内に表示されている。ユーザがオブジェクト４２０および４２２のうちいずれかを選択すると、当該選択されたオブジェクトに対応するフォーマット文字列が追加される。
【０１０８】
このように、ユーザが、フォーマット文字列として、文字種または文字の組み合わせを直接指定できるようにしてもよい。
【０１０９】
表示領域４０２には、設定されているフォーマット文字列が各文字種に対応付けられた記号を用いて表示されている。すなわち、記号「＃」、「＄」、「＠」といった記号でフォーマット文字列が既定される。このような記号の意味が一見して把握できるように、図１２に示すユーザインターフェイス画面４００Ｂのオブジェクト４２０の各々では、関連付けられた文字種を示すメッセージ（例えば、「英数字」や「数字文字」といった表示）とともに、当該文字種に対応する記号（例えば、「？」や「＃」といった記号）が表示される。
【０１１０】
このように、オブジェクト４２０には、関連付けられた文字種の意味を一見して把握できるようにメッセージが付加されており、さらに対応する文字種を示す記号も併せて付加されているので、ユーザは、各記号の意味を予め知っておかなくても、フォーマット文字列入力領域４１０に表示される設定中のフォーマット文字列の内容を容易に把握することができる。
【０１１１】
ユーザインターフェイス画面４００Ｂでは、設定されているフォーマット文字列を編集するためのオブジェクトも表示されている。例えば、バックスペース操作（カーソルの直前の文字を消去する操作）に関連付けられたオブジェクト４２４と、クリア操作（設定されているフォーマット文字列を全消去する操作）に関連付けられたオブジェクト４２６と、カーソルを移動させる操作に関連付けられたオブジェクト４２８とが配置されている。
【０１１２】
図１１に示す４つのフォーマット文字列入力領域４１０，４１２，４１４，４１６の位置関係に基づいて、複数のフォーマット文字列間の相対位置関係を決定してもよい。例えば、フォーマット文字列入力領域４１０に入力されたフォーマット文字列と、フォーマット文字列入力領域４１２に入力されたフォーマット文字列との間では、前者が入力画像上の上側に位置し、後者が入力画像の下側に位置するという探索条件としてもよい。
【０１１３】
このように、本実施の形態において、探索条件は、複数のフォーマット文字列間の相対位置関係を含む。そして、画像処理装置１００は、相対位置関係に合致する複数の文字列領域を選択して類似度を算出する。この複数のフォーマット文字列間の相対位置関係は、複数のフォーマット文字列の入力順から決定されてもよい。
【０１１４】
さらに、フォーマット文字列間の相対位置関係を直接的に指定してもよい。このとき、特殊記号を用いて、相対位置関係を指定してもよい。
【０１１５】
なお、ユーザがフォーマット文字列を直接的に指定する構成に代えて、使用頻度の高いフォーマット文字列（例えば、年月日など）に関しては、画像処理装置１００に予め用意しておき、ユーザが任意に選択できるようにしてもよい。すなわち、画像処理装置１００は、フォーマット文字列を予め保持しており、ユーザの選択に応じて、選択されたフォーマット文字列を探索条件として設定してもよい。
【０１１６】
（ｇ２：フォーマット文字列の自動抽出）
認識対象の文字列を構成する文字が多い場合には、上述したようなフォーマット文字列を設定する作業が煩雑化し得る。そこで、テスト画像（テストサンプルを撮像することで取得される画像）からフォーマット文字列を自動的に抽出するようにしてもよい。より具体的には、テストサンプルを撮像して取得される入力画像に対して文字認識を実行するとともに、それによって取得された認識結果からフォーマット文字列の候補を自動生成する。さらに、この自動生成されたフォーマット文字列の候補に対して、ユーザが適宜修正／変更を加えて、所望のフォーマット文字列（文字／文字種の組み合わせ情報）を設定する。このフォーマット文字列の自動抽出は、図７に示すフォーマット文字列自動抽出部１７６によって実行される。このようなフォーマット文字列の自動抽出機能によって、ユーザのフォーマット文字列の入力を支援する。
【０１１７】
図１３は、本発明の実施の形態に係る画像処理装置１００によって提供されるフォーマット文字列の自動抽出機能に係る処理手順を示すフローチャートである。なお、図１３に示すフローチャートにおいて、図８に示すフローチャートと同一の処理については、同一のステップ番号を付与している。
【０１１８】
図１３を参照して、画像処理装置１００は、テスト画像を取得する（ステップＳ２）。そして、画像処理装置１００は、テスト画像から文字列領域を抽出する（ステップＳ３０）とともに、抽出した各文字列領域から文字を抽出する（ステップＳ３２）。続いて、画像処理装置１００は、抽出した文字毎に文字認識を実行する（ステップＳ３４）。そして、画像処理装置１００は、文字認識の結果に基づいて、フォーマット文字列を決定し（ステップＳ３６）、初期値としてユーザへ提示する（ステップＳ３８）。
【０１１９】
その後、画像処理装置１００は、フォーマット文字列の初期値に対して変更が要求されたか否かを判断する（ステップＳ４０）。フォーマット文字列の初期値に対して変更が要求された場合（ステップＳ４０においてＹＥＳの場合）には、画像処理装置１００は、ユーザからフォーマット文字列に対する変更を受け付ける（ステップＳ４２）。このユーザ指示に応答して、画像処理装置１００は、設定されているフォーマット文字列を修正する。そして、ステップＳ４０以下の処理が繰り返される。
【０１２０】
フォーマット文字列の初期値に対して変更が要求されていない場合（ステップＳ４０においてＮＯの場合）、すなわちユーザからフォーマット文字列の初期値を承諾する指示を受けた場合、画像処理装置１００は、ユーザから計測パラメータの設定を受け付ける（ステップＳ６）。そして、画像処理装置１００は、設定されたフォーマット文字列および計測パラメータを設定値として格納する（ステップＳ８）。
【０１２１】
図１４は、本実施の形態に係る画像処理装置１００が提供するフォーマット文字列の自動抽出に係るユーザインターフェイス画面４００Ｃの一例を示す図である。図１４（ａ）を参照して、まず、ユーザは、テストサンプルを撮像してテスト画像を取得し、この取得したテスト画像に対して、認識対象の文字列領域４６０を指定する。
【０１２２】
続いて、指定された文字列領域４６０について文字認識が実行される。そして、この文字認識の実行による認識結果に基づいて、各文字の文字種を判断し、この判断された文字別の文字種がフォーマット文字列の初期値として設定される。そして、図１４（ｂ）に示すようなユーザインターフェイス画面４００Ｄがユーザへ提示される。ユーザインターフェイス画面４００Ｄにおいては、フォーマット文字列の初期値がフォーマット文字列入力領域４１０に表示されている。併せて、テスト画像に対して設定された文字列領域４６０内のイメージが同一画面内に追加的に表示されているとともに、文字列領域４６０内のイメージに対して文字認識した結果を示すフォーマット文字列４７０が追加的に表示されている。ユーザは、これらの情報を参照しつつ、オブジェクト４２０やオブジェクト４２２などを選択して、フォーマット文字列の初期値に対して必要な修正／編集を行う。すなわち、画像処理装置１００は、フォーマット文字列の初期値に対するユーザからの変更を受け付ける。
【０１２３】
このように、画像処理装置１００は、探索対象の文字列を含む参照画像（テスト画像）に対して文字認識を実行することで取得される認識結果からフォーマット文字列の初期値を設定する。
【０１２４】
（ｇ３：フォーマット文字列の設定用ユーザインターフェイス）
設定したフォーマット文字列の適用状態を確認しつつ、フォーマット文字列を設定するようにしてもよい。
【０１２５】
図１５は、本実施の形態に係る画像処理装置１００が提供するフォーマット文字列の設定に係るユーザインターフェイス画面４００Ｅの一例を示す図である。図１５に示すユーザインターフェイス画面４００Ｅにおいては、テスト画像に対して認識対象の文字列領域４６０が設定されており、この設定された文字列領域４６０に対して、設定されたフォーマット文字列が適用されて文字認識された結果が提示されている。より具体的には、テスト画像上に設定された文字列領域４６０から抽出された各文字が枠で示されており、各枠の表示態様によって、その中の文字の文字種を示す態様で表示されている。ユーザは、この表示を確認して、文字領域が正しく抽出されているかを判断する。
【０１２６】
このように、フォーマット文字列の設定時には、テスト画像に対してフォーマット文字列を適用して得られる結果をユーザへ提示するとともに、ユーザは、それを確認しながら、フォーマット文字列を編集してもよい。
【０１２７】
［Ｈ．利点］
本実施の形態によれば、入力画像から文字列領域が誤検出されても、フォーマット文字列を適用することで、その誤検出された文字列領域を適切に排除できる。これによって、認識精度を高めることができる。
【０１２８】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【０１２９】
１  視覚センサシステム、２  ワーク、４  光電センサ、４ａ  受光部、４ｂ  投光部、５  ＰＬＣ、６  搬送機構、８  カメラ、１００  画像処理装置、１０２  ディスプレイ、１０４  マウス、１０６  メモリカード、１１０  ＣＰＵ、１１２  メインメモリ、１１４  ハードディスク、１１６  カメラインターフェイス、１１６ａ  画像バッファ、１１８  入力インターフェイス、１２０  表示コントローラ、１２２  ＰＬＣインターフェイス、１２４  通信インターフェイス、１２６  データリーダ／ライタ、１２８  バス、１５０  画像取込部、１６０  画像処理部、１６２  文字抽出部、１６４  文字認識部、１６６  文字列領域特定部、１６８  辞書データ、１７０  設定部、１７２  フォーマット文字列設定部、１７４  計測パラメータ設定部、１７６  フォーマット文字列自動抽出部、１７８  パラメータ格納部、１８０  出力部、２００  入力画像。
【図３】
2014071698.tif 000003
【図４】
2014071698.tif 000004
【図５】
2014071698.tif 000005
【図６】
2014071698.tif 000006
【図７】
2014071698.tif 000007
【図８】
2014071698.tif 000008
【図９】
2014071698.tif 000009
【図１０】
2014071698.tif 000010
【図１１】
2014071698.tif 000011
【図１２】
2014071698.tif 000012
【図１３】
2014071698.tif 000013
【図１５】
2014071698.tif 000014
【図１】
2014071698.tif 000015
【図２】
2014071698.tif 000016
【図１４】
2014071698.tif 000017