(57)【特許請求の範囲】
【請求項１】
認識対象部位を含む物体を撮像して得られる画像に対して予め定められた画像処理を施して、前記認識対象部位を認識する画像処理装置であって、
前記認識対象部位の認識が失敗したか否かを判定する成否判定手段と、
前記成否判定手段によって前記認識対象部位の認識が失敗したと判定された場合に、前記認識対象部位の認識が失敗した原因を推定する原因推定手段と、
前記原因推定手段によって推定された原因に基づいて、前記画像処理を規定する複数のパラメータのうち、前記推定された原因に対応する少なくとも１つのパラメータの値を修正する処理修正手段と、
前記成否判定手段によって前記認識対象部位の認識が失敗したと判定された場合に、予め設定された複数の原因ごとに、前記認識対象部位の認識が失敗する可能性の高さを定量的に示す失敗確率として評価する原因評価手段と、を備え、
前記原因推定手段は、前記原因評価手段によって評価された失敗確率に基づいて、前記認識対象部位の認識が失敗した原因を推定することを特徴とする画像処理装置。
【請求項２】
請求項１に記載の画像処理装置において、
外部からの操作入力を受け付ける操作受付手段と、
前記認識対象部位の認識が成功したか否かの判定結果を示す操作入力を、前記操作受付手段を介して受け付ける成否受付手段と、を更に備え、
前記成否判定手段は、前記成否受付手段によって受け付けられた操作入力に基づいて、前記認識対象部位の認識が失敗したか否かを判定することを特徴とする画像処理装置。
【請求項３】
請求項１又は請求項２に記載の画像処理装置において、
外部から視認可能に画像を表示する画像表示手段と、
前記複数の原因のうち、前記原因評価手段によって失敗確率が高いと評価された順に、予め設定された２以上の所定個数の原因を示す文字又は画像を、前記画像表示手段に表示させる結果表示手段と、を更に備えることを特徴とする画像処理装置。
【請求項４】
請求項３に記載の画像処理装置において、
前記結果表示手段は、前記２以上の所定個数の原因に対応付けて、前記原因評価手段によって評価された失敗確率の値を示す文字又は画像を、前記画像表示手段に表示させることを特徴とする画像処理装置。
【請求項５】
請求項３又は請求項４に記載の画像処理装置において、
外部からの操作入力を受け付ける操作受付手段を更に備え、
前記原因推定手段は、前記結果表示手段によって前記画像表示手段に表示された前記２以上の所定個数の原因の中から、１つの前記認識対象部位の認識が失敗した原因を選択する選択入力を、前記操作受付手段を介して受け付けて、選択された原因を前記認識対象部位の認識が失敗した原因であると推定することを特徴とする画像処理装置。
【請求項６】
請求項１から請求項５のいずれか１つに記載の画像処理装置において、
前記処理修正手段は、前記原因推定手段によって前記認識対象部位の認識が失敗した原因であると推定された原因について、前記原因評価手段によって評価された失敗確率が大きい程、前記推定された原因に対応する少なくとも１つのパラメータの値を大幅に修正することを特徴とする画像処理装置。
【請求項７】
請求項１から請求項６のいずれか１つに記載の画像処理装置において、
前記認識対象部位は、前記物体の表面に形成された文字であることを特徴とする画像処理装置。
【請求項８】
認識対象部位を含む波形データに対して予め定められた認識処理を施して、前記認識対象部位を認識する波形データ処理装置であって、
前記認識対象部位の認識が失敗したか否かを判定する成否判定手段と、
前記成否判定手段によって前記認識対象部位の認識が失敗したと判定された場合に、前記認識対象部位の認識が失敗した原因を推定する原因推定手段と、
前記原因推定手段によって推定された原因に基づいて、前記認識処理を規定する複数のパラメータのうち、前記推定された原因に対応する少なくとも１つのパラメータの値を修正する処理修正手段と、
前記成否判定手段によって前記認識対象部位の認識が失敗したと判定された場合に、予め設定された複数の原因ごとに、前記認識対象部位の認識が失敗する可能性の高さを定量的に示す失敗確率として評価する原因評価手段と、を備え、
前記原因推定手段は、前記原因評価手段によって評価された失敗確率に基づいて、前記認識対象部位の認識が失敗した原因を推定することを特徴とする波形データ処理装置。
【請求項９】
認識対象部位を含む物体を撮像して得られる画像に対して予め定められた画像処理を施して、前記認識対象部位を認識する画像処理方法であって、
前記認識対象部位の認識が失敗したか否かを判定する成否判定ステップと、
前記成否判定ステップにおいて前記認識対象部位の認識が失敗したと判定された場合に、前記認識対象部位の認識が失敗した原因を推定する原因推定ステップと、
前記原因推定ステップにおいて推定された原因に基づいて、前記画像処理を規定する複数のパラメータのうち、前記推定された原因に対応する少なくとも１つのパラメータの値を修正する処理修正ステップと、
前記成否判定ステップによって前記認識対象部位の認識が失敗したと判定された場合に、予め設定された複数の原因ごとに、前記認識対象部位の認識が失敗する可能性の高さを定量的に示す失敗確率として評価する原因評価ステップと、を実行し、
前記原因推定ステップは、前記原因評価ステップによって評価された失敗確率に基づいて、前記認識対象部位の認識が失敗した原因を推定することを特徴とする画像処理方法。
【請求項１０】
認識対象部位を含む物体を撮像して得られる画像に対して予め定められた画像処理を施して、前記認識対象部位を認識する画像処理装置に配設されたコンピュータにおいて実行される画像処理プログラムであって、前記コンピュータを、
前記認識対象部位の認識が失敗したか否かを判定する成否判定手段と、
前記成否判定手段によって前記認識対象部位の認識が失敗したと判定された場合に、前記認識対象部位の認識が失敗した原因を推定する原因推定手段と、
前記原因推定手段によって推定された原因に基づいて、前記画像処理を規定する複数のパラメータのうち、前記推定された原因に対応する少なくとも１つのパラメータの値を修正する処理修正手段と、
前記成否判定手段によって前記認識対象部位の認識が失敗したと判定された場合に、予め設定された複数の原因ごとに、前記認識対象部位の認識が失敗する可能性の高さを定量的に示す失敗確率として評価する原因評価手段として機能させ、
前記原因推定手段は、前記原因評価手段によって評価された失敗確率に基づいて、前記認識対象部位の認識が失敗した原因を推定することを特徴とする画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、認識対象部位を含む物体を撮像して得られる画像に対して予め定められた画像処理を施して、前記認識対象部位を認識する画像処理装置、画像処理方法、及び、画像処理プログラムに関する。また、本発明は、認識対象部位を含む波形データに対して予め定められた認識処理を施して、前記認識対象部位を認識する波形データ処理装置に関する。
【背景技術】
【０００２】
従来、認識対象部位を含む物体を撮像して得られる画像に対して予め定められた画像処理を施して、前記認識対象部位を認識する種々の技術が提案されている。
【０００３】
例えば、スキャンした原稿画像（文書画像ともいう）を文字認識処理して文字コードを生成し、次に文字コードに基づいて文字画像を生成し、次に、生成された文字画像と原稿画像から切り出したオリジナルの文字画像とを比較して類似度を出力し、類似度に基づいて認識結果の正誤を判定し、誤認識のある文字の部分を含む原稿画像を取り出し、当該誤認識のある文字画像の座標データに基づいて、誤認識のある文字画像をハイライトさせた出力画像データを生成してユーザに表示する文字認識装置が開示されている（特許文献１参照）。
【０００４】
オペレータ（正誤判定者）は、すべての文書においてすべての領域で文字認識結果の正誤を確認する必要があったが、特許文献１に記載の文字認識装置によれば、ハイライトされた文字のみを確認するだけでよいため、オペレータによる文字認識結果の正誤判定作業量を低減することができる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１０−６１４７１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記特許文献１に記載の文字認識装置においては、オペレータ（正誤判定者）の正誤判定作業量を低減することができるものの、文字の認識率を高めるために、文字を認識する画像処理を規定するパラメータの調整を行うことは困難であった。
【０００７】
すなわち、物体の表面に形成された文字列を含む画像から、文字列を構成する各文字を認識するためには、種々の画像処理（例えば、回転処理、膨張・収縮処理、コントラスト調整処理、二値化処理等）を施す必要があるため、画像処理全体の処理内容を規定するパラメータの個数が多数（例えば、２００個）となる。したがって、文字を認識する画像処理を規定するパラメータの適正な調整を行うことは、高度の知識を必要とする極めて困難な作業であった。
【０００８】
本発明は、上記課題に鑑みてなされたものであって、認識対象部位を認識する画像処理（又は認識処理）を規定するパラメータの適正な調整を行うことの可能な画像処理装置、画像処理方法、画像処理プログラム、及び、波形データ処理装置を提供することを目的としている。
【課題を解決するための手段】
【０００９】
上記課題を解決するために、本発明に係る画像処理装置は、以下のように構成されている。
【００１０】
すなわち、本発明に係る画像処理装置は、認識対象部位を含む物体を撮像して得られる画像に対して予め定められた画像処理を施して、前記認識対象部位を認識する画像処理装置であって、前記認識対象部位の認識が失敗したか否かを判定する成否判定手段と、前記成否判定手段によって前記認識対象部位の認識が失敗したと判定された場合に、前記文字の認識が失敗した原因を推定する原因推定手段と、前記原因推定手段によって推定された原因に基づいて、前記画像処理を規定する複数のパラメータのうち、前記推定された原因に対応する少なくとも１つのパラメータの値を修正する処理修正手段と、前記成否判定手段によって前記認識対象部位の認識が失敗したと判定された場合に、予め設定された複数の原因ごとに、前記認識対象部位の認識が失敗する可能性の高さを定量的に示す失敗確率として評価する原因評価手段と、を備え、前記原因推定手段は、前記原因評価手段によって評価された失敗確率に基づいて、前記認識対象部位の認識が失敗した原因を推定することを特徴としている。
【００１１】
かかる構成を備える画像処理装置によれば、認識対象部位の認識が失敗したか否かが判定され、認識対象部位の認識が失敗したと判定された場合に、前記認識対象部位の認識が失敗した原因が推定され、推定された原因に基づいて、前記認識対象部位を含む画像に対して施される画像処理を規定する複数のパラメータのうち、前記推定された原因に対応する少なくとも１つのパラメータの値が修正されるため、認識対象部位を認識する画像処理を規定するパラメータの適正な調整を行うことができる。
【００１２】
ここでは、認識対象部位が、例えば、文字列を構成する各文字である場合について説明する。すなわち、例えば、文字の認識が失敗した原因が文字の線幅である（文字が太すぎる、又は、文字が細すぎる）と推定された場合には、予め設定された推奨線幅Ｂ０（例えば、実験的に文字の認識率が最も高くなる線幅）と、実際の文字の線幅の平均値（平均線幅）Ｂａｖと、の差である差分線幅ΔＢの絶対値分だけ黒膨張処理又は白膨張処理を行う設定に修正すればよい（図１２参照）。このようにして、前記推定された原因に対応する少なくとも１つのパラメータの値が修正されるため、画像処理を規定するパラメータを適正に調整することができるのである。
【００１３】
また、例えば、文字の認識が失敗した原因が、文字列の回転であると推定された場合、文字の滲み（にじみ）又は擦れ（かすれ）であると推定された場合、文字のコントラストが低いことであると推定された場合にも、同様にして、推定された原因に対応する少なくとも１つのパラメータの値が修正される（図１８参照）ため、画像処理を規定するパラメータを適正に調整することができるのである。
【００１４】
つまり、認識対象部位の認識が失敗する可能性のある原因ごとに、各原因に対応する少なくとも１つのパラメータの値を修正するためのロジック（手順、方法等）を予め構築しておくことによって、推定された原因に対応する少なくとも１つのパラメータの値を適正に修正する（図１２、図１８参照）ことができるため、画像処理を規定するパラメータを適正に調整することができるのである。また、認識対象部位の認識が失敗したと判定された場合に、予め設定された複数の原因ごとに、前記認識対象部位の認識が失敗する可能性の高さを定量的に示す失敗確率が評価され、評価された失敗確率に基づいて、前記認識対象部位の認識が失敗した原因が推定されるため、前記失敗確率を正確に評価することによって、認識対象部位の認識が失敗した原因を正確に推定することができる。ここでは、認識対象部位が、例えば、文字列を構成する各文字である場合について説明する。すなわち、例えば、文字の認識が失敗した原因が文字の線幅である（文字が太すぎる、又は、文字が細すぎる）場合には、予め設定された推奨線幅Ｂ０（例えば、実験的に文字の認識率が最も高くなる線幅）と、実際の文字の線幅の平均値（平均線幅）Ｂａｖと、の差である差分線幅ΔＢの絶対値に重みＷ１を乗じて、失敗確率Ｐ１（ 図１０参照）を評価することができる。このようにして、文字の認識が失敗する可能性の高さを定量的に示す失敗確率Ｐ１が評価されるため、認識対象部位の認識が失敗した原因を正確に推定することができるのである。また、例えば、文字の認識が失敗した原因が、文字列の回転である場合、文字の滲み又は擦れである場合、文字のコントラストが低いことである場合にも、同様にして、失敗確率Ｐ２、Ｐ３、Ｐ４（図１４、図１７、図２０参照）を評価することができるため、認識対象部位の認識が失敗した原因を正確に推定することができるのである。つまり、認識対象部位の認識が失敗する可能性のある原因ごとに、各原因に起因する失敗確率Ｐｉの値を求めるためのロジック（手順、方法等）を予め構築しておくことによって、各原因に対応する失敗確率を求めて比較することができる（図７のステップＳ２０７等、図１０、図１４、図１７、図２０参照）ため、認識対象部位の認識が失敗した原因を正確に推定することができるのである。
【００１５】
また、本発明に係る画像処理装置は、外部からの操作入力を受け付ける操作受付手段と、前記認識対象部位の認識が成功したか否かの判定結果を示す操作入力を、前記操作受付手段を介して受け付ける成否受付手段と、を更に備え、前記成否判定手段が、前記成否受付手段によって受け付けられた操作入力に基づいて、前記認識対象部位の認識が失敗したか否かを判定することが好ましい。
【００１６】
かかる構成を備える画像処理装置によれば、外部から（例えば、オペレータによって）認識対象部位の認識が成功したか否かの判定結果を示す操作入力が受け付けられ、認識対象部位の認識が失敗したか否かが、受け付けられた操作入力に基づいて判定されるため、
文字の認識が失敗したか否かの判定を簡素な構成で正確に行うことができる。
【００２２】
また、本発明に係る画像処理装置は、外部から視認可能に画像を表示する画像表示手段と、前記複数の原因のうち、前記原因評価手段によって失敗確率が高いと評価された順に、予め設定された２以上の所定個数の原因を示す文字又は画像を、前記画像表示手段に表示させる結果表示手段と、を更に備えることが好ましい。
【００２３】
かかる構成を備える画像処理装置によれば、複数の原因のうち、失敗確率が高いと評価された順に、予め設定された２以上の所定個数の原因を示す文字又は画像が、外部から視認可能に表示されるため、利便性を向上することができる。すなわち、例えば、オペレータが、ＬＣＤ等に表示された原因を示す文字又は画像を参照して、認識対象部位の認識が失敗した原因を推定することができるため、認識対象部位の認識が失敗した原因を容易に推定することができるので、利便性を向上することができるのである。
【００２４】
また、本発明に係る画像処理装置は、前記結果表示手段が、前記２以上の所定個数の原因に対応付けて、前記原因評価手段によって評価された失敗確率の値を示す文字又は画像を、前記画像表示手段に表示させることが好ましい。
【００２５】
かかる構成を備える画像処理装置によれば、２以上の所定個数の原因に対応付けて、失敗確率の値を示す文字又は画像が、外部から視認可能に表示されるため、利便性を更に向上することができる。すなわち、例えば、オペレータが、ＬＣＤ等に表示された原因を示す文字（又は画像）と、失敗確率の値を示す文字（又は画像）とを参照して、認識対象部位の認識が失敗した原因を推定することができるため、認識対象部位の認識が失敗した原因を更に容易に推定することができるので、利便性を更に向上することができるのである。
【００２６】
また、本発明に係る画像処理装置は、外部からの操作入力を受け付ける操作受付手段を更に備え、前記原因推定手段が、前記結果表示手段によって前記画像表示手段に表示された前記２以上の所定個数の原因の中から、１つの前記認識対象部位の認識が失敗した原因を選択する選択入力を、前記操作受付手段を介して受け付けて、選択された原因を、前記認識対象部位の認識が失敗した原因であると推定することが好ましい。
【００２７】
かかる構成を備える画像処理装置によれば、失敗確率が高いと評価されて表示された２以上の所定個数の原因の中から、１つの前記認識対象部位の認識が失敗した原因を選択する選択入力が受け付けられ、選択された原因が、認識対象部位の認識が失敗した原因であると推定されるため、認識対象部位の認識が失敗した原因を容易に推定することができる。
【００２８】
また、本発明に係る画像処理装置は、前記処理修正手段が、前記原因推定手段によって前記文字の認識が失敗した原因であると推定された原因について、前記原因評価手段によって評価された失敗確率が大きい程、前記推定された原因に対応する少なくとも１つのパラメータの値を大幅に修正することが好ましい。
【００２９】
かかる構成を備える画像処理装置によれば、認識対象部位の認識が失敗した原因であると推定された原因について、評価された失敗確率が大きい程、推定された原因に対応する少なくとも１つのパラメータの値が大幅に修正されるため、画像処理を規定するパラメータを適正に調整することができる。
【００３０】
また、本発明に係る画像処理装置は、前記認識対象部位が、前記物体の表面に形成された文字であることが好ましい。
【００３１】
この場合には、物体の表面に形成された文字を認識する画像処理を規定するパラメータの適正な調整を行うことができる。
【００３２】
また、上記課題を解決するために、本発明に係る波形データ処理装置は、以下のように構成されている。
【００３３】
すなわち、本発明に係る波形データ処理装置は、認識対象部位を含む波形データに対して予め定められた認識処理を施して、前記認識対象部位を認識する波形データ処理装置であって、前記認識対象部位の認識が失敗したか否かを判定する成否判定手段と、前記成否判定手段によって前記認識対象部位の認識が失敗したと判定された場合に、前記認識対象部位の認識が失敗した原因を推定する原因推定手段と、前記原因推定手段によって推定された原因に基づいて、前記認識処理を規定する複数のパラメータのうち、前記推定された原因に対応する少なくとも１つのパラメータの値を修正する処理修正手段と、前記成否判定手段によって前記認識対象部位の認識が失敗したと判定された場合に、予め設定された複数の原因ごとに、前記認識対象部位の認識が失敗する可能性の高さを定量的に示す失敗確率として評価する原因評価手段と、を備え、前記原因推定手段は、前記原因評価手段によって評価された失敗確率に基づいて、前記認識対象部位の認識が失敗した原因を推定することを特徴としている。
【００３４】
かかる構成を備える画像処理装置によれば、認識対象部位の認識が失敗したか否かが判定され、認識対象部位の認識が失敗したと判定された場合に、前記認識対象部位の認識が
失敗した原因が推定され、推定された原因に基づいて、前記認識対象部位を含む波形データに対して施される認識処理を規定する複数のパラメータのうち、前記推定された原因に対応する少なくとも１つのパラメータの値が修正されるため、認識対象部位を認識する認識処理を規定するパラメータの適正な調整を行うことができる。
【００３５】
また、上記課題を解決するために、本発明に係る画像処理方法は、以下のように構成されている。
【００３６】
すなわち、本発明に係る画像処理方法は、認識対象部位を含む物体を撮像して得られる画像に対して予め定められた画像処理を施して、前記認識対象部位を認識する画像処理方法であって、前記認識対象部位の認識が失敗したか否かを判定する成否判定ステップと、前記成否判定ステップにおいて前記認識対象部位の認識が失敗したと判定された場合に、前記文字の認識が失敗した原因を推定する原因推定ステップと、前記原因推定ステップにおいて推定された原因に基づいて、前記画像処理を規定する複数のパラメータのうち、前記推定された原因に対応する少なくとも１つのパラメータの値を修正する処理修正ステップと、前記成否判定ステップによって前記認識対象部位の認識が失敗したと判定された場合に、予め設定された複数の原因ごとに、前記認識対象部位の認識が失敗する可能性の高さを定量的に示す失敗確率として評価する原因評価ステップと、を実行し、前記原因推定ステップは、前記原因評価ステップによって評価された失敗確率に基づいて、前記認識対象部位の認識が失敗した原因を推定することを特徴としている。
【００３７】
また、本発明に係る画像処理プログラムは、以下のように構成されている。
【００３８】
すなわち、本発明に係る画像処理プログラムは、認識対象部位を含む物体を撮像して得られる画像に対して予め定められた画像処理を施して、前記文字列を構成する各文字を認識する画像処理装置に配設されたコンピュータにおいて実行される画像処理プログラムであって、前記コンピュータを、前記認識対象部位の認識が失敗したか否かを判定する成否判定手段と、前記成否判定手段によって前記認識対象部位の認識が失敗したと判定された場合に、前記認識対象部位の認識が失敗した原因を推定する原因推定手段と、前記原因推定手段によって推定された原因に基づいて、前記画像処理を規定する複数のパラメータのうち、前記推定された原因に対応する少なくとも１つのパラメータの値を修正する処理修正手段と、前記成否判定手段によって前記認識対象部位の認識が失敗したと判定された場合に、予め設定された複数の原因ごとに、前記認識対象部位の認識が失敗する可能性の高さを定量的に示す失敗確率として評価する原因評価手段として機能させ、前記原因推定手段は、前記原因評価手段によって評価された失敗確率に基づいて、前記認識対象部位の認識が失敗した原因を推定することを特徴としている。                                                                                
【００３９】
かかる構成を備える画像処理方法及び画像処理プログラムによれば、認識対象部位の認識が失敗したか否かが判定され、認識対象部位の認識が失敗したと判定された場合に、前記認識対象部位の認識が失敗した原因が推定され、推定された原因に基づいて、前記文字列を含む画像に対して施される画像処理を規定する複数のパラメータのうち、前記推定された原因に対応する少なくとも１つのパラメータの値が修正されるため、認識対象部位を認識する画像処理を規定するパラメータの適正な調整を行うことができる。
【００４０】
ここでは、認識対象部位が、例えば、文字列を構成する各文字である場合について説明する。すなわち、例えば、文字の認識が失敗した原因が文字の線幅である（文字が太すぎる、又は、文字が細すぎる）と推定された場合には、予め設定された推奨線幅Ｂ０（例えば、実験的に文字の認識率が最も高くなる線幅）と、実際の文字の線幅の平均値（平均線幅）Ｂａｖと、の差である差分線幅ΔＢの絶対値分だけ黒膨張処理又は白膨張処理を行う設定に修正すればよい（図１１参照）。このようにして、前記推定された原因に対応する少なくとも１つのパラメータの値が修正されるため、画像処理を規定するパラメータを適正に調整することができるのである。
【００４１】
また、例えば、文字の認識が失敗した原因が、文字列の回転であると推定された場合、文字の滲み又は擦れであると推定された場合、文字のコントラストが低いことであると推定された場合にも、同様にして、推定された原因に対応する少なくとも１つのパラメータの値が修正される（図１７参照）ため、画像処理を規定するパラメータを適正に調整することができるのである。
【００４２】
つまり、認識対象部位の認識が失敗する可能性のある原因ごとに、各原因に対応する少なくとも１つのパラメータの値を修正するためのロジック（手順、方法等）を構築しておくことによって、推定された原因に対応する少なくとも１つのパラメータの値を適正に修正する（図１１、図１７参照）ことができるため、画像処理を規定するパラメータを適正に調整することができるのである。
【発明の効果】
【００４３】
本発明に係る画像処理装置、画像処理方法、画像処理プログラム、及び、波形データ処理装置によれば、認識対象部位の認識が失敗したか否かが判定され、認識対象部位の認識が失敗したと判定された場合に、前記認識対象部位の認識が失敗した原因が推定され、推定された原因に基づいて、前記文字列を含む画像に対して施される画像処理（又は、認識処理）を規定する複数のパラメータのうち、前記推定された原因に対応する少なくとも１つのパラメータの値が修正されるため、認識対象部位を認識する画像処理（又は、認識処理）を規定するパラメータの適正な調整を行うことができる。
【図面の簡単な説明】
【００４４】
【図１】本発明に係る画像処理装置の配設状態の一例を示す斜視図である。
【図２】本発明に係る画像処理装置本体の構成の一例を示す構成図である。
【図３】図２に示すＣＰＵ等の機能構成の一例を示す機能構成図である。
【図４】図３に示す画像処理部の動作の一例を示すフローチャートである。
【図５】図４に示すフローチャートのステップＳ１０３で実行される膨張・収縮処理の一例を示す説明図である。
【図６】図３に示す画像処理部によって実行される画像処理の一例を説明する説明図である。
【図７】図３に示すＣＰＵの動作の一例を示すフローチャートである。
【図８】図７に示すフローチャートのステップＳ２０９及びステップＳ２２１でそれぞれモニタに表示される結果表示画面の一例を示す画面図である。
【図９】文字の線幅が太すぎることに起因して文字認識が失敗するケースの一例を示す説明図である。
【図１０】図７に示すフローチャートのステップＳ２０５において、文字の線幅に起因した失敗確率を求める処理の一例を示す詳細フローチャートである。
【図１１】図１０のステップＳ３０１からステップＳ３０７において文字の線幅を求める方法の一例を示す説明図である。
【図１２】図７に示すフローチャートのステップＳ２１７において、選択された失敗原因が文字の線幅である場合にパラメータ値を修正する処理の一例を示す詳細フローチャートである。
【図１３】文字列の回転に起因して文字認識が失敗するケースの一例を示す説明図である。
【図１４】図７に示すフローチャートのステップＳ２０５において、文字列の回転に起因した失敗確率を求める処理の一例を示す詳細フローチャートである。
【図１５】画像回転処理における回転角の修正量を求める方法の一例を示す説明図である。
【図１６】文字のかすれに起因して文字認識が失敗するケースの一例を示す説明図である。
【図１７】図７に示すフローチャートのステップＳ２０５において、文字のかすれ（又は、にじみ）に起因した失敗確率を求める処理の一例を示す詳細フローチャートである。
【図１８】図７に示すフローチャートのステップＳ２１７において、選択された失敗原因が文字の擦れ（又は、滲み）である場合にパラメータ値を修正する処理内容の一例を示す説明図である。
【図１９】コントラストが低いことに起因して文字認識が失敗するケースの一例を示す説明図である。
【図２０】図７に示すフローチャートのステップＳ２０５において、コントラストが低いことに起因した失敗確率を求める処理の一例を示す詳細フローチャートである。
【発明を実施するための形態】
【００４５】
以下、本発明に係る画像処理装置、画像処理方法、及び、画像処理プログラムの実施形態を図面に基づいて説明する。
【００４６】
−画像処理装置１００の配設状態−
まず、図１を参照して、本発明に係る画像処理装置１００が配設されている状態の一例について説明する。図１は、本発明に係る画像処理装置１００の配設状態の一例を示す斜視図である。画像処理装置１００は、例えば、製品５（物体）を製造する工場等において、製品５の表面（本実施形態では、ＣＣＤカメラ２と対向する側の面）に形成された複数の文字（例えば、アルファベット３文字）からなる文字列を含む画像に対して画像処理を施して、前記文字列を構成する各文字（認識対象部位）を認識するものである。
【００４７】
本実施形態においては、製品５の表面に文字列が形成されている場合について説明するが、物体の表面に文字列が形成されている形態であればよい。例えば、果物、野菜等の農産物、魚介類等の海産物、ＩＣ（Integrated Circuit）、抵抗、コンデンサ等の部品、原材料、半製品等の表面に文字列が形成されている形態でもよい。
【００４８】
また、本実施形態においては、文字列が形成されている面が、平面状である場合について説明するが、文字列が形成されている面は、曲面であっても、凹凸があってもよい。
【００４９】
更に、本実施形態においては、認識対象部位が、文字である場合について説明するが、認識対象部位は、顔画像等の画像である形態でもよい。
【００５０】
図１に示すように、画像処理装置１００は、画像処理装置本体１、ＣＣＤカメラ２、モニタ３、及び、入力装置４を備え、ここでは、製品５を搬送するコンベア６の近傍に配設されている。なお、画像処理装置１００のうち、ＣＣＤカメラ２は、製品５の表面に形成された文字列を含む画像を生成するものであるから、コンベア６の近傍に配設することが好ましい。一方、画像処理装置本体１、モニタ３、及び、入力装置４は、コンベア６の近傍に配設する必要はない。例えば、画像処理装置本体１、モニタ３、及び、入力装置４は、画像処理装置１００を操作するオペレータの部屋等の粉塵が少なく、且つ、温度が常温近傍に維持される場所に配設することが好ましい。
【００５１】
画像処理装置本体１は、画像処理装置１００全体の動作を制御するものである。画像処理装置本体１の具体的な構成については、図２を用いて後述する。
【００５２】
ＣＣＤ（Charge Coupled Device）カメラ２（以下、単に「カメラ２」ともいう）は、コンベア６上を搬送される各製品５の表面に形成された文字列を含む画像を順に撮像するものであって、レンズをコンベア６上の製品５に向けて配設されている。また、カメラ２によって生成された画像情報は、順次、画像処理装置本体１へ出力される。
【００５３】
モニタ３（画像表示手段）は、画像処理装置本体１からの指示に従って、種々の画像を外部から視認可能に表示するものであって、例えば、ＬＣＤ（Liquid Crystal Display）等を備えている。モニタ３には、例えば、カメラ２によって生成された画像情報、図８を参照して後述する結果表示画面８００、８１０、及び、種々のガイダンス情報等が表示さ
れる。
【００５４】
入力装置４（操作受付手段）は、オペレータ等からの操作を受け付ける装置であって、キーボード、マウス等を備えている。なお、入力装置４によって受け付けられたオペレータの操作入力情報は、画像処理装置本体１へ出力される。
【００５５】
−画像処理装置本体１の構成−
次に、図２を参照して、画像処理装置本体１の構成について説明する。図２は、本発明に係る画像処理装置本体１の構成の一例を示す構成図である。図２に示すように、画像処理装置本体１は、ＣＰＵ１１、ＥＥＰＲＯＭ１２、ＲＡＭ１３、画像メモリ１４、Ａ／Ｄ変換器１５、Ｄ／Ａ変換器１６、及び、入出力部１７を備えている。
【００５６】
ＣＰＵ（Central Processing Unit）１１（コンピュータ）は、画像処理装置本体１全体の動作を制御するものであって、図略のＲＯＭ（Read Only Memory）又は、ＥＥＰＲＯＭ１２等に格納される制御プログラムを実行することによって、種々の処理を実行する。なお、本発明に係る画像処理プログラムは、上記の制御プログラムの一部に相当する。
【００５７】
ＥＥＰＲＯＭ（Electrically Erasable Programmable Read-Only Memory）１２は、書き換え可能な不揮発性メモリであって、図３を用いて後述するように、カメラ２によって生成された画像情報から文字を認識する画像処理に用いられる各種パラメータの値等を記憶するものである。ＲＡＭ（Random Access Memory）は、ＣＰＵ１１での処理の結果、入力装置４から入力されたデータ等を一時的に記憶するメモリである。
【００５８】
Ａ／Ｄ変換器１５は、カメラ２からのアナログの画像信号を取り込んで、ディジタルの画像情報に変換するものである。変換された濃淡画像情報は、画像メモリ１４に記録される。ここでは、濃淡画像情報の各画素には、それぞれ、白色から黒色までの輝度の範囲に対応して、例えば２５６階調の濃淡を示す値（階調情報ともいう）が割り当てられている。すなわち、濃淡画像情報とは、画素ごとに対応付けられた階調情報である。
【００５９】
画像メモリ１４は、種々の画像情報を記憶するメモリであって、Ａ／Ｄ変換器１５から出力された画像情報を記憶すると共に、文字認識の画像処理において２値化処理された画像情報（以下、二値画像ともいう）等を記憶する。Ｄ／Ａ変換器１６は、画像メモリ１４に格納された画像情報を、アナログの表示用画像信号に変換してモニタ３に出力するものである。
【００６０】
入出力部１７は、ＣＰＵ１１と入力装置４との間、及び、ＣＰＵ１１とモニタ３との間のデータの入出力処理を行うインターフェースである。
【００６１】
−ＣＰＵ１１の機能構成−
次に、図３を参照して、ＣＰＵ１１等の構成について説明する。図３は、図２に示すＣＰＵ１１等の機能構成の一例を示す機能構成図である。ＣＰＵ１１は、図略のＲＯＭ等に記憶された制御プログラム（本発明に係る画像処理プログラム）を読み出して実行することによって、機能的に、画像処理部１１１、成否受付部１１２、成否判定部１１３、原因評価部１１４、結果表示部１１５、原因推定部１１６、及び、処理修正部１１７等として機能する。また、ＣＰＵ１１は、図略のＲＯＭ等に記憶された制御プログラム（本発明に係る画像処理プログラム）を読み出して実行することによって、ＥＥＰＲＯＭ１２を、機能的に、パラメータ記憶部１２１等として機能させる。
【００６２】
画像処理部１１１は、カメラ２によって撮像され画像メモリ１４に格納された濃淡画像情報から文字列を構成する各文字を認識する画像処理を行う機能部である。画像処理とし
ては、コントラスト調整処理、回転処理、２値化処理、膨張・収縮処理、投影処理、文字切出処理、文字認識処理等を含む。
【００６３】
コントラスト調整処理は、濃淡画像において、最も暗い部分と最も明るい部分の輝度の差を示すコントラストを調整する処理である。画像回転処理は、濃淡画像を、予め設定された向きに、予め設定された角度だけ回転する処理である。
【００６４】
膨張・収縮処理は、濃淡画像において文字の線幅を太くする（又は、細くする）処理である。文字の線幅を太くする処理が膨張処理（以下、「黒膨張処理」ともいう）であり、文字の線幅を細くする処理が収縮処理（以下、「白膨張処理」ともいう）である。なお、膨張・収縮処理については、図５を参照して後述する。
【００６５】
２値化処理は、濃淡画像を、各画素の明るさが基準値（閾値）以上であるか否かに応じて、黒色と白色との２つの値に変換し、二値画像を生成する処理である。
【００６６】
投影処理は、二値画像において、水平方向の位置が同じ黒画素の個数を積算して、積算値の垂直方向の変化を示すグラフ（以下、「垂直投影グラフ」ともいう）を生成する垂直投影処理、及び、垂直方向の位置が同じ黒画素の個数を積算して、積算値の水平方向の変化を示すグラフ（以下、「水平投影グラフ」ともいう）を生成する水平投影処理である。
【００６７】
文字切出処理は、投影処理によって得られた垂直投影グラフ及び水平投影グラフに対して閾値処理を施し、文字領域として切り出す処理である。なお、投影処理及び文字切出処理の詳細については、図６（ｃ）を参照して後述する。
【００６８】
文字認識処理は、例えば、公知のパターンマッチング等の手法により、文字切出処理によって切り出された文字領域に含まれる文字が、如何なる文字であるかを認識する処理である。
【００６９】
ここで、画像処理部１１１によって実行される画像処理の具体的な処理の手順及び内容について、図４〜図６を参照して以下に説明する。図４は、図３に示す画像処理部１１１の動作の一例を示すフローチャートである。なお、以下の処理はすべて、画像処理部１１１によって実行される。また、図４は、図７に示すフローチャートのステップＳ２０１において実行される画像処理の一例を示す詳細フローチャートでもある。
【００７０】
まず、ステップＳ１０１において、画像メモリ１４に格納された濃淡画像情報が取得される。そして、ステップＳ１０３において、ステップＳ１０１で取得された濃淡画像に対して、コントラスト調整処理、画像回転処理、膨張・収縮処理等の前処理が施される。次いで、ステップＳ１０５において、ステップＳ１０３で前処理が施された画像に対して２値化処理が施され、二値画像が生成される。
【００７１】
次にステップＳ１０７において、ステップＳ１０５で生成された二値画像に対して、垂直投影処理及び水平投影処理が施され、垂直投影グラフ及び水平投影グラフが生成される。そして、生成された垂直投影グラフ及び水平投影グラフに対して、それぞれ、予めパラメータ記憶部１２１に記憶されている垂直閾値及び水平閾値による閾値処理が施されて、各文字の文字幅及び文字列の高さが求められる。次いで、ステップＳ１０９において、ステップＳ１０７で求められた、各文字の文字幅及び文字列の高さに基づいて、二値画像から各文字画像が切り出される。次に、ステップＳ１１１において、ステップＳ１０９で切り出された文字画像ごとに、文字認識処理が行われ、処理が図７に示すフローチャートのステップＳ２０３へリターンされる。
【００７２】
−膨張・収縮処理の内容−
ここで、膨張・収縮処理の内容について説明する。図５は、図４に示すフローチャートのステップＳ１０３で実行される膨張・収縮処理の一例を示す説明図である。図５（ａ）は、膨張処理を説明する図であり、図５（ｂ）は、収縮処理を説明する図である。図５（ａ）、図５（ｂ）の上側の図が、膨張・収縮処理を施す前の状態を示す図であり、図５（ａ）、図５（ｂ）の下側の図が、膨張・収縮処理を施した後の状態を示す図である。
【００７３】
各図は、それぞれ、画素Ｑ５の周囲に画素Ｑ１〜画素Ｑ４、及び、画素Ｑ６〜画素Ｑ９が、格子状に配列されている状態を示している。そして、画素Ｑ１〜画素Ｑ９に施した網掛けの密度で、それぞれ、画素Ｑ１〜画素Ｑ９の階調を表している。ここでは、便宜上、画素Ｑ１〜画素Ｑ９に４段階の階調が画像情報として付与されている場合について説明する。ここでは、４段階の階調をそれぞれ、階調Ａ、階調Ｂ、階調Ｃ、階調Ｄとし、輝度は、次の（１）式で示す関係にあるものとする。
【００７４】
（階調Ａ）＞（階調Ｂ）＞（階調Ｃ）＞（階調Ｄ）      （１）
図５（ａ）に示すように、膨張処理を施す前は、画素Ｑ３、Ｑ５、Ｑ８の画素値が、階調Ａ（ここでは、白色）であって、画素Ｑ４の画素値が、階調Ｂ（薄いグレー）であって、画素Ｑ１、Ｑ２、Ｑ６の画素値が、階調Ｃ（ここでは、少し濃いグレー）であって、画素Ｑ７、Ｑ９が、階調Ｄ（ここでは、濃いグレー）である。
【００７５】
そして、ここでは、画素Ｑ５を注目画素（膨張・収縮処理が施される対象の画素）として選択する場合について説明する。本実施形態においては、注目画素（ここでは、画素Ｑ５）の画素値が、注目画素の周囲に隣接する８画素（ここでは、画素Ｑ１〜画素Ｑ４、及び、画素Ｑ６〜画素Ｑ９）の画素値（ここでは、階調Ａ，Ｂ，Ｃ，Ｄ）の中から最も小さい（輝度が低い）画素値（ここでは、階調Ｄ）に置換される。すなわち、図５（ａ）の階調Ａの画素Ｑ５に対して膨張処理を施すと、画素Ｑ５の画素値は、図５（ａ）の下側の図に示すように、階調Ｄに変更されることになる。
【００７６】
また、図５（ｂ）に示すように、収縮処理を施す前は、画素Ｑ７、Ｑ８、Ｑ９の画素値が、階調Ａ（ここでは、白色）であって、画素Ｑ４、Ｑ５の画素値が、階調Ｂ（薄いグレー）であって、画素Ｑ１、Ｑ２、Ｑ６の画素値が、階調Ｃ（ここでは、少し濃いグレー）であって、画素Ｑ３が、階調Ｄ（ここでは、濃いグレー）である。
【００７７】
そして、ここでは、画素Ｑ５を注目画素（膨張・収縮処理が施される対象の画素）として選択する場合について説明する。本実施形態においては、注目画素（ここでは、画素Ｑ５）の画素値が、注目画素の周囲に隣接する８画素（ここでは、画素Ｑ１〜画素Ｑ４、及び、画素Ｑ６〜画素Ｑ９）の画素値（ここでは、階調Ａ，Ｂ，Ｃ，Ｄ）の中から最も大きい（輝度が高い）画素値（ここでは、階調Ａ）に置換される。すなわち、図５（ａ）の階調Ｂの画素Ｑ５に対して収縮処理を施すと、画素Ｑ５の画素値は、図５（ｂ）の下側の図に示すように、階調Ａに変更されることになる。
【００７８】
−画像処理の内容−
次に、図６を参照して、画像処理部１１１によって実行される画像処理の具体的な処理の内容について説明する。図６は、図３に示す画像処理部１１１によって実行される画像処理の一例を説明する説明図である。図６（ａ）は、図４に示すフローチャートのステップＳ１０１において画像メモリ１４から取得された濃淡画像７００の一例を示す図である。図６（ｂ）は、図４に示すフローチャートのステップＳ１０３及びステップＳ１０５において、図６（ａ）に対して、コントラスト調整処理等の前処理と、２値化処理とが施された後の、二値画像７１０の一例を示す図である。
【００７９】
図６（ａ）に示す濃淡画像７００には、文字７０１、７０２、７０３からなる文字列「ＡＢＣ」が含まれており、背景７０４が薄いグレーであることを斜線を施して示している。このような濃淡画像７００に対して、前処理でのコントラスト調整処理と、２値化処理とが施されることによって、図６（ｂ）で示すように、背景７１４が白色となっている。なお、濃淡画像７００に含まれる文字７０１、７０２、７０３が濃いグレーである場合にも、前処理でのコントラスト調整処理と、２値化処理とが施されることによって、二値画像７１０に含まれる文字７１１、７１２、７１３は、黒色の文字に変換される。
【００８０】
次に、図６（ｃ）を参照して、投影処理及び文字切出処理について説明する。まず、投影処理について説明する。投影処理は、垂直投影処理と水平投影処理とから構成されている。まず、垂直投影処理は、二値画像７２０（二値画像７１０と同一の画像である）において、水平方向（図の左右方向）の位置が同じ黒画素の個数を垂直方向（図の上下方向）に積算して、積算値の水平方向（図の左右方向）の変化を示すグラフ（以下、「垂直投影グラフ」ともいう）Ｇｘを生成する処理である。また、水平投影処理は、垂直方向（図の上下方向）の位置が同じ黒画素の個数を水平方向（図の左右方向）に積算して、積算値の垂直方向（図の上下方向）の変化を示すグラフ（以下、「水平投影グラフ」ともいう）Ｇｙを生成する処理である。ここで、投影処理において、積算される「黒画素」とは、２値化処理によって黒色であるとされた画素を意味しており、ここでは、文字７２１、７２２、７２３を構成する画素である。
【００８１】
次いで、文字切出処理について説明する。文字切出処理は、まず、投影処理（水平投影処理）によって生成された水平投影グラフＧｙに対して、パラメータ記憶部１２１に予め記憶されている水平投影閾値Ｔｙに基づいて閾値処理を施し、文字列の垂直方向（ｙ軸方向）の下限座標ＹＬ及び上限座標ＹＨを求め、下限座標ＹＬから上限座標ＹＨまでの領域として文字領域の高さ範囲ｈを求める。すなわち、水平投影グラフＧｙにおいて、積算値が水平投影閾値Ｔｙ以上である領域を文字領域の高さ範囲ｈとして求める。
【００８２】
また、投影処理（垂直投影処理）によって生成された垂直投影グラフＧｘに対して、パラメータ記憶部１２１に予め記憶されている垂直投影閾値Ｔｘに基づいて閾値処理を施し、文字列を構成する文字ごとに、水平方向（ｘ軸方向）の下限座標ＸＬ１、ＸＬ２、ＸＬ３及び上限座標ＸＨ１、ＸＨ２、ＸＨ３を求め、下限座標ＸＬ１から上限座標ＸＨ１までの領域として幅範囲ｂ１を求め、下限座標ＸＬ２から上限座標ＸＨ２までの領域として幅範囲ｂ２を求め、下限座標ＸＬ３から上限座標ＸＨ３までの領域として幅範囲ｂ３を求める。すなわち、垂直投影グラフＧｘにおいて、積算値が垂直投影閾値Ｔｘ以上である領域を文字領域の幅範囲ｂ１、ｂ２、ｂ３として求める。
【００８３】
そして、幅範囲ｂ１と高さ範囲ｈで規定される領域を文字領域７２１ａとして切り出し、幅範囲ｂ２と高さ範囲ｈで規定される領域を文字領域７２２ａとして切り出し、幅範囲ｂ３と高さ範囲ｈで規定される領域を文字領域７２３ａとして切り出す。このようにして、文字領域７２１ａ、文字領域７２２ａ、及び、文字領域７２３ａを切り出すことができる。
【００８４】
再び図３に戻って、ＣＰＵ１１等の機能構成について説明する。パラメータ記憶部１２１は、画像処理部１１１によって実行される画像処理を規定する複数のパラメータの設定値を予め記憶している機能部である。また、パラメータ記憶部１２１に記憶されている複数のパラメータのうち、原因推定部１１６によって推定された文字認識の失敗原因に対応するパラメータの設定値が、処理修正部１１７によって修正される（書き換えられる）。
【００８５】
また、パラメータ記憶部１２１に設定値が記憶されているパラメータとしては、例えば、回転処理における回転方向及び回転角を規定するパラメータ、２値化処理における基準
値（閾値）を示すパラメータ、膨張・収縮処理における処理の回数（膨張処理回数又は、収縮処理回数）を規定するパラメータ、及び、文字切出処理における水平投影閾値Ｔｙ及び垂直投影閾値Ｔｘをそれぞれ規定するパラメータが含まれる。
【００８６】
成否受付部１１２（成否受付手段）は、画像処理部１１１によって実行された画像処理の結果として、画像メモリ１４から取得された濃淡画像７００に含まれる文字列を構成する少なくとも１つの文字の認識が失敗したとのオペレータの判定結果を示す操作入力を、入力装置４を介して受け付ける機能部である。
【００８７】
具体的には、例えば、入力装置４のキーボードに含まれる特定のキー（例えば、「Ｎ」キー）が押下された場合に、成否受付部１１２は、少なくとも１つの文字の認識が失敗したとのオペレータの判定結果を示す操作入力を受け付ける形態でもよい。また、例えば、モニタ３に「ＯＫボタン」と「ＮＧボタン」とを表示し、「ＮＧボタン」上にカーソルが位置する状態で入力装置４のマウスがクリックされた場合に、成否受付部１１２は、少なくとも１つの文字の認識が失敗したとのオペレータの判定結果を示す操作入力を受け付ける形態でもよい。
【００８８】
成否判定部１１３（成否判定手段）は、濃淡画像７００に含まれる文字列を構成する少なくとも１つの文字の認識が失敗したか否かを判定する機能部である。具体的には、成否判定部１１３は、成否受付部１１２によって受け付けられた操作入力に基づいて、文字列を構成する少なくとも１つの文字の認識が失敗したか否かを判定するものである。
【００８９】
このようにして、成否受付部１１２によって、外部から（ここでは、オペレータによって）文字列を構成する文字の認識が成功したか否かの判定結果を示す操作入力が受け付けられ、受け付けられた操作入力に基づいて、成否判定部１１３によって、文字列を構成する少なくとも１つの文字の認識が失敗したか否かが判定されるため、文字列を構成する少なくとも１つの文字の認識が失敗したか否かの判定を簡素な構成で正確に行うことができる。
【００９０】
本実施形態では、成否受付部１１２が、オペレータの判定結果を示す操作入力を受け付ける場合について説明するが、成否受付部１１２が、オペレータの判定結果を示す操作入力に換えて、文字認識が失敗したか否かを判定する装置（この装置を、便宜上、「認識判定装置」という）から文字認識が失敗したことを示す情報を受け付ける形態でもよい。なお、認識判定装置は、例えば、図４に示すフローチャートのステップＳ１１１において、ステップＳ１０９で切り出された文字画像に対する文字認識処理が失敗した（例えば、対応する文字が見つからない）場合に、文字認識が失敗したと判定する形態でもよい。この場合には、認識判定装置を、機能部としてＣＰＵ１１内に構成することが可能となる。
【００９１】
原因評価部１１４は、成否判定部１１３によって濃淡画像７００に含まれる文字列を構成する少なくとも１つの文字の認識が失敗したと判定された場合に、予め設定された複数の原因（例えば、１０個の原因）ごとに、文字の認識が失敗する可能性の高さを定量的に示す失敗確率Ｐｉ（ｉ＝１〜Ｎ：Ｎは失敗原因の個数であって、ここでは１０個である）として評価する機能部である。なお、原因評価部１１４による失敗確率Ｐｉの算出方法の具体例については、図９〜図２０を参照して後述する。
【００９２】
本実施形態では、原因評価部１１４が失敗確率Ｐｉを求める場合について説明するが、原因評価部１１４は、文字の認識が失敗する可能性の高さを定量的に示すものであればよい。例えば、原因評価部１１４が、文字の認識が失敗する可能性の高さを示す複数の段階（例えば、８段階）のうち、どの段階に相当するかを示す形態でもよい。
【００９３】
結果表示部１１５（結果表示手段）は、複数の原因（ここでは、１０個の原因）のうち、原因評価部１１４によって失敗確率Ｐｉ（ｉ＝１〜Ｎ：ここでは、Ｎ＝１０）が高いと評価された順に、予め設定された２以上の所定個数（ここでは、３個）の原因を示す文字又は画像を、モニタ３に表示させる機能部である。具体的には、結果表示部１１５は、モニタ３に結果表示画面８００（図８（ａ）参照）を表示する。結果表示画面８００については、図８を参照して後述する。
【００９４】
原因推定部１１６（原因推定手段）は、成否判定部１１３によって文字列を構成する少なくとも１つの文字の認識が失敗したと判定された場合に、文字の認識が失敗した原因を推定する機能部である。具体的には、原因推定部１１６は、原因評価部１１４によって評価された失敗確率Ｐｉ（ｉ＝１〜Ｎ：ここでは、Ｎ＝１０）に基づいて、文字の認識が失敗した原因を推定する。
【００９５】
更に具体的には、原因推定部１１６は、結果表示部１１５によってモニタ３の結果表示画面８００（図８（ａ）参照）に表示された２以上の所定個数（ここでは、３個）の原因の中から、文字の認識が失敗した原因を１つだけ選択するオペレータによる選択入力を、入力装置４を介して受け付けて、選択された原因を文字の認識が失敗した原因であると推定する。選択入力の具体的な入力方法については、図８を参照して後述する。
【００９６】
このようにして、原因評価部１１４によって失敗確率Ｐｉ（ｉ＝１〜Ｎ：ここでは、Ｎ＝１０）が高いと評価されて、結果表示部１１５によってモニタ３に表示された２以上の所定個数（ここでは、３個）の原因の中から、原因推定部１１６によって、文字の認識が失敗した原因を１つだけ選択する選択入力が受け付けられ、選択された原因が、文字の認識が失敗した原因であると推定されるため、文字の認識が失敗した原因を容易に推定することができる。
【００９７】
本実施形態では、原因推定部１１６が、オペレータによる選択入力に基づいて文字の認識が失敗した原因を推定する場合について説明するが、原因推定部１１６が、原因評価部１１４によって評価された失敗確率Ｐｉ（ｉ＝１〜Ｎ：Ｎ＝１０）に基づいて、文字の認識が失敗した原因を推定する形態であればよい。例えば、原因推定部１１６が、失敗確率Ｐｉの最も高い原因を、文字の認識が失敗した原因であると推定する形態でもよい。この場合には、オペレータによる選択入力が不要となるため、利便性を向上することができる。
【００９８】
また、例えば、原因推定部１１６が、最も高い失敗確率Ｐｉが予め設定された閾値（例えば、６０％）以上である場合に限って、失敗確率Ｐｉの最も高い原因を、文字の認識が失敗した原因であると推定し、最も高い失敗確率Ｐｉが予め設定された閾値（例えば６０％）未満である場合には、オペレータによる選択入力に基づいて文字の認識が失敗した原因を推定する形態でもよい。
【００９９】
このようにして、文字列を構成する少なくとも１つの文字の認識が失敗したと判定された場合に、原因評価部１１４によって、予め設定された複数の原因（ここでは、１０個の原因）ごとに、文字の認識が失敗する可能性の高さを定量的に示す失敗確率Ｐｉ（ｉ＝１〜Ｎ：Ｎ＝１０）が評価され、原因推定部１１６によって、評価された失敗確率Ｐｉに基づいて、文字の認識が失敗した原因が推定されるため、失敗確率Ｐｉを正確に評価することによって、文字の認識が失敗した原因を正確に推定することができる。
【０１００】
すなわち、例えば、文字の認識が失敗した原因が文字の線幅である（文字が太すぎる、又は、文字が細すぎる）と推定された場合には、予め設定された推奨線幅Ｂ０（例えば、実験的に文字の認識率が最も高くなる線幅）と、実際の文字の線幅の平均値（平均線幅）
Ｂａｖと、の差である差分線幅ΔＢの絶対値に重みＷ１を乗じて、失敗確率Ｐ１（図１０参照）を評価することができる。このようにして、文字の認識が失敗する可能性の高さを定量的に示す失敗確率Ｐ１が評価されるため、文字の認識が失敗した原因を正確に推定することができるのである。
【０１０１】
また、例えば、文字の認識が失敗した原因が、文字列の回転であると推定された場合、文字の滲み（にじみ）又は擦れ（かすれ）であると推定された場合、文字のコントラストが低いことであると推定された場合にも、同様にして、失敗確率Ｐ２、Ｐ３、Ｐ４（図１４、図１７、図２０参照）を評価することができるため、文字の認識が失敗した原因を正確に推定することができるのである。
【０１０２】
つまり、予め文字の認識が失敗する可能性のある原因ごとに、各原因に起因する失敗確率Ｐｉの値を求めるためのロジック（手順、方法等）を構築しておくことによって、各原因に対応する失敗確率Ｐｉを求めて比較することができる（図７のステップＳ２０５、Ｓ２０７等、図１０、図１４、図１７、図２０参照）ため、文字の認識が失敗した原因を正確に推定することができるのである。
【０１０３】
処理修正部１１７（処理修正手段）は、原因推定部１１６によって推定された原因に基づいて、画像処理部１１１によって実行される画像処理を規定する複数のパラメータ（すなわち、パラメータ記憶部１２１に格納された複数のパラメータ）のうち、前記推定された原因に対応する少なくとも１つのパラメータの値を修正する機能部である。なお、本実施形態では、画像処理部１１１によって実行される画像処理を規定する複数のパラメータの値は、パラメータ記憶部１２１に格納されているため、処理修正部１１７は、原因推定部１１６によって推定された原因に基づいて、前記推定された原因に対応する少なくとも１つのパラメータの値を修正して修正後の値に書き換えるものである。
【０１０４】
具体的には、処理修正部１１７は、原因推定部１１６によって前記文字の認識が失敗した原因であると推定された原因について、原因評価部１１４によって評価された失敗確率Ｐｉが大きい程、前記推定された原因に対応する少なくとも１つのパラメータの値を大幅に修正する。なお、処理修正部１１７によるパラメータの修正方法の具体例については、図９〜図２０を参照して後述する。
【０１０５】
このようにして、文字の認識が失敗した原因であると推定された原因について、評価された失敗確率Ｐｉが大きい程、推定された原因に対応する少なくとも１つのパラメータの値が大幅に修正されるため、画像処理を規定するパラメータを適正に調整することができる。
【０１０６】
−ＣＰＵ１１の動作−
ここで、図７を参照して、ＣＰＵ１１の動作の一例について説明する。図７は、図３に示すＣＰＵ１１の動作の一例を示すフローチャートである。まず、ステップＳ２０１において、画像処理部１１１によって、画像メモリ１４に格納された濃淡画像情報から文字列を構成する各文字を認識する画像処理が実行される。なお、ステップＳ２０１において実行される画像処理については、図４に示す詳細フローチャートを参照して上述している。
【０１０７】
次に、ステップＳ２０３（成否判定ステップ）において、成否判定部１１３によって、成否受付部１１２により受け付けられた操作入力に基づいて、文字列を構成する少なくとも１つの文字の認識が失敗したか否かが判定される。ステップＳ２０３でＹＥＳの場合には、処理がステップＳ２０５に進められる。ステップＳ２０３でＮＯの場合には、処理がステップＳ２２１に進められる。ステップＳ２２１において、結果表示部１１５によって、モニタ３に文字認識が成功したことを示す画面（図８（ｂ）に示す結果表示画面８１０
）が表示される。そして、処理が終了される。
【０１０８】
ステップＳ２０５において、原因評価部１１４によって、複数の原因（ここでは、１０個の原因）ごとに、文字の認識が失敗する可能性の高さを定量的に示す失敗確率Ｐｉ（ｉ＝１〜Ｎ：Ｎ＝１０）が求められる。なお、ステップＳ２０５において行われる失敗確率Ｐｉを求める処理を、以下の説明においては「失敗確率算出処理」という。
【０１０９】
なお、失敗原因が文字の線幅である場合の失敗確率算出処理（この処理を、便宜上、「失敗確率算出処理１」という）については、図１０を参照して後述する。また、失敗原因が文字列の回転である場合の失敗確率算出処理（この処理を、便宜上、「失敗確率算出処理２」という）については、図１４を参照して後述する。更に、失敗原因が文字の滲み・擦れである場合の失敗確率算出処理（この処理を、便宜上、「失敗確率算出処理３」という）については、図１７を参照して後述する。加えて、失敗原因が低コントラストである場合の失敗確率算出処理（この処理を、便宜上、「失敗確率算出処理４」という）については、図２０を参照して後述する。
【０１１０】
次に、ステップＳ２０７において、結果表示部１１５によって、ステップＳ２０５で求められた失敗確率Ｐｉ（ｉ＝１〜Ｎ）が高い順にソートされる。そして、ステップＳ２０９において、結果表示部１１５によって、失敗確率Ｐｉが高い順に３個の原因を示す文字がモニタ３に表示される（図８参照）。次いで、ステップＳ２１１（原因推定ステップ）において、原因推定部１１６によって、ステップＳ２０９で表示された３個の原因の中から１つの原因を選択する選択入力が受け付けられたか否かの判定が行われる。ステップＳ２１１でＹＥＳの場合には、処理がステップＳ２１３に進められる。ステップＳ２１１でＮＯの場合には、処理が待機状態とされる。
【０１１１】
ステップＳ２１３において、処理修正部１１７によって、ステップＳ２１１で選択された原因に対応するパラメータ値の修正を実行するか否かの操作入力が、入力装置４を介して受け付けられたか否かの判定が行われる。ステップＳ２１３でＹＥＳの場合には、処理がステップＳ２１７に進められる。ステップＳ２１３でＮＯの場合には、処理がステップＳ２１５に進められる。ステップＳ２１５において、処理修正部１１７によって、ステップＳ２１１での選択入力をキャンセルする操作入力が入力装置４を介して受け付けられたか否かの判定が行われる。ステップＳ２１５でＹＥＳの場合には、処理がステップＳ２１１に戻され、ステップＳ２１１以降の処理が繰り返し実行される。ステップＳ２１５でＮＯの場合には、処理がステップＳ２１３に戻され、ステップＳ２１３以降の処理が繰り返し実行される。
【０１１２】
ステップＳ２１７において、処理修正部１１７によって、ステップＳ２１１で選択された原因に対応するパラメータ値の修正が実行される。そして、ステップＳ２１９（処理修正ステップ）において、処理修正部１１７によって、パラメータ記憶部１２１に格納されたパラメータ値が、ステップＳ２１７で修正された値に書き換えられる。そして、処理がステップＳ２０１へリターンされ、ステップＳ２０１以降の処理が繰り返し実行される。
【０１１３】
このようにして、製品５の表面に形成された文字列を構成する少なくとも１つの文字の認識が失敗したか否かが判定され、少なくとも１つの文字の認識が失敗したと判定された場合に、予め設定された複数の（ここでは、１０個の）原因の中から、文字の認識が失敗した原因が推定され、推定された原因に基づいて、文字列を含む濃淡画像に対して施される画像処理を規定する、パラメータ記憶部１２１に記憶された複数のパラメータのうち、推定された原因に対応する少なくとも１つのパラメータの値が修正される（書き換えられる）ため、画像処理を規定するパラメータを適正に調整することができる。
【０１１４】
すなわち、文字の認識が失敗する可能性のある原因ごとに、各原因に対応する少なくとも１つのパラメータの値を修正するためのロジックを予め構築しておくことによって、推定された原因に対応する少なくとも１つのパラメータの値を適正に修正する（図１２、図１８参照）ことができるため、画像処理を規定するパラメータを適正に調整することができるのである。
【０１１５】
ここで、図８を参照して、モニタ３に表示される画面の一例について説明する。図８は、図７に示すフローチャートのステップＳ２０９及びステップＳ２２１でそれぞれモニタ３に表示される結果表示画面８００及び結果表示画面８１０の一例を示す画面図である。図８（ａ）は、パラメータの調整前にステップＳ２０９でモニタ３に表示される結果表示画面８００の一例を示す画面図であって、図８（ｂ）は、パラメータの調整後にステップＳ２２１でモニタ３に表示される結果表示画面８１０の一例を示す画面図である。
【０１１６】
結果表示画面８００には、画面左上側に、画像表示部８０１が表示され、画像表示部８０１の下側に成否表示部８０２が表示され、画面右上側に、理由表示部８０３が表示され、理由表示部８０３の右側にスクロールバー８０４が表示され、理由表示部８０３内の左側にはポインタ８０７が表示されている。また、成否表示部８０２の下側には、実行ボタン８０５及びキャンセルボタン８０６が表示される。
【０１１７】
画像表示部８０１は、図４に示すフローチャートのステップＳ１０９において、二値画像から切り出される各文字画像（以下、「切り出し画像」ともいう）を表示するものである。ここでは、図９（ａ）に示す文字列「ＡＢＣ」のうち、文字「Ａ」に擦れがあることに起因して、文字の認識が失敗する場合の切り出し画像が表示されている。
【０１１８】
成否表示部８０２は、図７に示すフローチャートのステップＳ２０３における文字認識の成否を表示するものであって、文字認識が失敗した場合には、図８（ａ）に示すように「ＮＧ」と表示され、成功した場合には図８（ｂ）に示すように「ＯＫ」と表示される。
【０１１９】
理由表示部８０３は、失敗確率Ｐｉが高い順にソートされた失敗原因を文字情報として表示するものであって、ここでは、失敗確率Ｐｉが高い３つの失敗原因に対応する失敗原因ボタン８０３ａ、８０３ｂ、８０３ｃを表示するものである。ここでは、失敗原因ボタン８０３ａには、「１．かすれ・にじみ」と表示され、最も失敗確率Ｐｉが高い失敗原因が「かすれ・にじみ」であることが判る。また、失敗原因ボタン８０３ｂには、「２．文字の線幅」と表示され、２番目に失敗確率Ｐｉが高い失敗原因が「文字の線幅」であることが判る。更に、失敗原因ボタン８０３ｃには、「３．低コントラスト」と表示され、３番目に失敗確率Ｐｉが高い失敗原因が「低コントラスト」であることが判る。
【０１２０】
また、理由表示部８０３に表示された失敗原因ボタン８０３ａ、８０３ｂ、８０３ｃは、選択ボタンとしても機能するものである。すなわち、例えば、図８（ａ）に示すように、失敗原因ボタン８０３ａを押下することによって、失敗原因ボタン８０３ａに表示されている失敗原因である「かすれ・にじみ」が、原因推定部１１６によって選択される。ここで、「押下する」とは、ポインタ８０７の先端をボタン（例えば、失敗原因ボタン８０３ａ）に位置させて、マウスをクリックすることを意味している。
【０１２１】
なお、この選択処理は、図７に示すフローチャートのステップＳ２１１において、原因推定部１１６によって実行される処理である。同様にして、ポインタ８０７とマウスクリックによって、失敗原因ボタン８０３ｂ、８０３ｃにそれぞれ表示されている失敗原因を選択することも可能である。また、失敗原因ボタン８０３ａ、８０３ｂ、８０３ｃは、原因推定部１１６によって選択されると、結果表示部１１５によって、その表示態様が変更される（例えば、点滅状態とされたり、表示色が変更されたりする）。
【０１２２】
スクロールバー８０４は、失敗確率Ｐｉが高い順にソートされ、理由表示部８０３に表示された失敗原因を上下方向にスクロールする操作を受け付けるものである。すなわち、スクロールバー８０４は、選択を所望する失敗原因が理由表示部８０３に表示されていない場合に、オペレータがスクロールバー８０４を用いて、失敗原因ボタンを上側にスクロールして、失敗確率Ｐｉが４番目以降の失敗原因に対応する失敗原因ボタンを表示させ、選択可能とするものである。
【０１２３】
実行ボタン８０５は、選択された失敗原因に対応するパラメータ値を修正する場合に押下されるボタンである。すなわち、理由表示部８０３に表示された失敗原因ボタン８０３ａ、８０３ｂ、８０３ｃのいずれかが選択された後に、実行ボタン８０５がオペレータによって押下されると、選択された失敗原因に対応するパラメータ値を修正する（書き換える）処理が実行される。なお、この処理は、図７に示すフローチャートのステップＳ２１９において、処理修正部１１７によって実行される処理である。
【０１２４】
キャンセルボタン８０６は、選択状態をキャンセルし、選択前の状態とする場合に押下されるボタンである。すなわち、理由表示部８０３に表示された失敗原因ボタン８０３ａ、８０３ｂ、８０３ｃのいずれかが選択された後に、オペレータによってキャンセルボタン８０６が押下されると、選択状態がキャンセルされ、選択前の状態とされる。
【０１２５】
結果表示画面８１０にも、結果表示画面８００と同様に、画面左上側に、画像表示部８１１が表示され、画像表示部８１１の下側に成否表示部８１２が表示され、画面右上側に、理由表示部８１３が表示され、理由表示部８１３の右側にスクロールバー８１４が表示され、理由表示部８１３内の左側にはポインタ８１７が表示されている。また、成否表示部８１２の下側には、実行ボタン８１５及びキャンセルボタン８１６が表示される。
【０１２６】
ここでは、結果表示画面８００と相違する点についてのみ説明する。画像表示部８１１には、文字の認識が成功する場合の切り出し画像が表示されている。また、成否表示部８１２には、文字の認識が成功したことを示す「ＯＫ」と表示される。なお、理由表示部８１３には、失敗原因ボタン８０３ａ、８０３ｂ、８０３ｃが表示されているが押下することはできない。また、実行ボタン８１５及びキャンセルボタン８１６も表示されているが押下することはできない。
【０１２７】
このようにして、複数の原因のうち、失敗確率Ｐｉが高いと評価された順に、予め設定された２以上の所定個数（ここでは、３個）の原因を示す文字（ここでは、失敗原因ボタン８０３ａ、８０３ｂ、８０３ｃ）が、モニタ３に表示されるため、利便性を向上することができる。
【０１２８】
すなわち、例えば、オペレータが、モニタ３に表示された原因を示す文字（ここでは、失敗原因ボタン８０３ａ、８０３ｂ、８０３ｃ）を参照して、文字の認識が失敗した原因を推定することができるため、文字の認識が失敗した原因を容易に推定することができるので、利便性を向上することができるのである。
【０１２９】
本実施形態においては、失敗原因を示す文字（ここでは、失敗原因ボタン８０３ａ、８０３ｂ、８０３ｃ）を表示する場合について説明したが、失敗原因を示す文字に換えて（又は、加えて）失敗原因を示すアイコン等の画像を表示する形態でもよい。
【０１３０】
また、本実施形態においては、失敗確率Ｐｉが高いと評価された順に、失敗原因を示す文字（ここでは、失敗原因ボタン８０３ａ、８０３ｂ、８０３ｃ）を表示する場合について説明するが、失敗原因を示す文字に対応付けて失敗確率Ｐｉの値を示す文字又は画像を
表示する形態でもよい。
【０１３１】
この場合には、例えば、オペレータが、モニタ３に表示された原因を示す文字（又は画像）と、失敗確率Ｐｉの値を示す文字（又は画像）とを参照して、文字の認識が失敗した原因を推定することができるため、文字の認識が失敗した原因を更に容易に推定することができるので、利便性を更に向上することができるのである。すなわち、失敗確率Ｐｉが高い程、対応する失敗原因が、文字の認識が失敗した原因であると推定してよいとの安心感が高まる。
【０１３２】
本実施形態では、理由表示部８０３に３つの失敗原因ボタン８０３ａ、８０３ｂ、８０３ｃを選択可能に表示する場合について説明するが、理由表示部８０３に選択可能に表示する失敗原因ボタンの個数は、「３つ」以外の個数である形態でもよい。例えば、理由表示部８０３に２つの失敗原因ボタンを選択可能に表示する形態でも良いし、理由表示部８０３に４つ以上の個数の失敗原因ボタンを選択可能に表示する形態でも良い。理由表示部８０３に表示する失敗原因ボタンの個数が多い程、オペレータの選択範囲が広がるため、利便性を向上することができる。
【０１３３】
また、本実施形態では、理由表示部８０３に表示する失敗原因ボタンの個数が予め設定されている場合について説明するが、理由表示部８０３に表示する失敗原因ボタンの個数を失敗確率Ｐｉの値に基づいて決定する形態でもよい。例えば、失敗確率Ｐｉの値が予め設定された確率閾値（例えば、３０％）以上の失敗原因に対応する失敗原因ボタンを理由表示部８０３に表示する形態でもよい。この場合には、選択される可能性の高い失敗原因ボタンが理由表示部８０３に表示されるため、利便性を向上することができる。
【０１３４】
−失敗確率算出処理及びパラメータ値修正処理−
−失敗原因が文字の線幅である場合−
以下に、原因評価部１１４によって実行される失敗確率算出処理、及び、処理修正部１１７によって実行されるパラメータ値修正処理の具体例について、図９〜図２０を参照して説明する。まず、図９〜図１２を参照して、失敗原因が「文字の線幅」である場合の失敗確率算出処理及びパラメータ値修正処理について説明する。図９は、文字の線幅が太すぎることに起因して文字認識が失敗するケースの一例を示す説明図である。
【０１３５】
図９（ａ）は、「ＡＢＣ」との文字列を構成するそれぞれの文字の線幅が太い場合の文字切出処理が失敗する状態を示す図である。図９（ｂ）は、図９（ａ）に示す二値画像９１０（又は、二値画像９１０に対応する濃淡画像）に対して文字の線幅を細くする白膨張処理を施すことによって、文字列を適性な線幅とした二値画像９００では適正に文字切出処理が行われる状態を示す図である。
【０１３６】
図９（ａ）には、線幅が太い「ＡＢＣ」との文字列９１１、９１２、９１３を含む二値画像９１０と、それに対応する水平投影グラフＧｙ１、垂直投影グラフＧｘ１が記載されている。水平投影グラフＧｙ１において、積算値が水平投影閾値Ｔｙ１以上である領域が文字領域の高さ範囲ｈ１として求められる。また、垂直投影グラフＧｘ１において、積算値が垂直投影閾値Ｔｘ１以上である領域が文字領域の幅範囲ｂ１１、ｂ１２として求められる。
【０１３７】
すなわち、図９（ａ）の二値画像９１０に示すように、線幅が太いために、「Ａ」の文字と「Ｂ」の文字とが重なってしまい、「Ａ」の文字と「Ｂ」の文字との境界において、垂直投影グラフＧｘ１が垂直投影閾値Ｔｘ１以上となってしまうため、幅範囲ｂ１１に「Ａ」の文字と「Ｂ」の文字とが含まれてしまう結果となっている。このため、文字領域９１１ａとして、「Ａ」の文字と「Ｂ」の文字とを含む領域が設定され、これが切り出され
るため、文字認識処理が失敗することになる。
【０１３８】
これに対して、図９（ｂ）に示すよう文字の線幅を適性な線幅とすれば、「Ａ」の文字と、「Ｂ」の文字との重なりが解消されるため、「Ａ」の文字に対応する文字領域９０１ａ、「Ｂ」の文字に対応する文字領域９０２ａ、及び、「Ｃ」の文字に対応する文字領域９０３ａが適正に設定されて、文字認識処理が成功することになる。
【０１３９】
次に、図１０、図１１を参照して、失敗原因が文字の線幅の場合の失敗確率算出処理について説明する。図１０は、図７に示すフローチャートのステップＳ２０５において、文字の線幅に起因した失敗確率Ｐ１を求める処理（以下、「失敗確率算出処理１」ともいう）の一例を示す詳細フローチャートである。図１１は、図１０のステップＳ３０１からステップＳ３０７において文字の線幅Ｂを求める方法の一例を示す説明図である。
【０１４０】
まず、図１１を参照して、文字の線幅Ｂを求める方法について説明する。図１１（ａ）は、ここでは、図９（ａ）に示す二値画像９１０から切り出された「Ｃ」の文字に対応する文字領域９１２ａの画像（以下、「文字画像」ともいう）である。まず、図１１（ａ）に示す文字画像に対して、例えば、Ｓｏｂｅｌフィルタ（空間１次微分を計算して、輪郭を抽出するフィルタ）をかけることによって、図１１（ｂ）に示す、輪郭線画像（以下、「エッジ画像」ともいう）を生成する。
【０１４１】
次に、輪郭線画像の輪郭線上の各画素に対する法線ベクトルＶｎを求める。図１１（ｂ）には、法線ベクトルＶｎを矢印で示している。そして、求められた法線ベクトルＶｎの中から、向きが１８０度異なる（互いに対向する向きの）法線ベクトルＶｎのペア（対）を求める。例えば、図１１（ｂ）では、法線ベクトルＶｎ１と法線ベクトルＶｎ２とがペアとなり、法線ベクトルＶｎ３と法線ベクトルＶｎ４とがペアとして選定される。次いで、ペアに選定された２つの法線ベクトルの始点である画素間の距離を線幅Ｂ（例えば、線幅Ｂ１、Ｂ２）として求める。
【０１４２】
ここで、図１０を参照して、文字の線幅Ｂに起因した失敗確率Ｐ１を求める手順を説明する。なお、以下の処理は、すべて原因評価部１１４によって実行される。また、以下の処理は図７に示すフローチャートのステップＳ２０５において実行される処理の一部である。まず、ステップＳ３０１において、文字画像（図１１（ａ）参照）がエッジ画像（図１１（ｂ）参照）に変換される。そして、ステップＳ３０３において、文字の輪郭線に対する法線ベクトルＶｎ（図１１（ｂ）参照）が求められる。
【０１４３】
次いで、ステップＳ３０５において、法線方向が１８０度異なる２つの法線ベクトルＶｎのペアが求められる。そして、ステップＳ３０７において、ステップＳ３０５でペアとして選定された２つの法線ベクトルの始点間距離が線幅Ｂとして求められる。次に、ステップＳ３０９において、ステップＳ３０７で求められた線幅Ｂの平均値である平均線幅Ｂａｖが求められる。そして、ステップＳ３１１において、ステップＳ３０９で求められた平均線幅Ｂａｖと、推奨線幅Ｂ０（例えば、実験的に文字の認識率が最も高くなる線幅）との差が、差分線幅ΔＢとして次の（２）式により求められる。
【０１４４】
ΔＢ＝（Ｂａｖ−Ｂ０）      （２）
次に、ステップＳ３１３において、差分線幅ΔＢの絶対値に重みＷ１を乗じることによって、失敗確率Ｐ１が次の（３）式により求められ、処理がリターンされる。
【０１４５】
Ｐ１＝Ｗ１×｜ΔＢ｜      （３）
ここで、重みＷ１は、実験等によって求められるものである。このようにして、文字の認識が失敗した原因が文字の線幅である（文字が太すぎる、又は、文字が細すぎる）場合
に、予め設定された推奨線幅Ｂ０（例えば、実験的に文字の認識率が最も高くなる線幅）と、実際の文字の線幅の平均値（平均線幅）Ｂａｖと、の差である差分線幅ΔＢの絶対値に重みＷ１を乗じて、失敗確率Ｐ１を評価することができる。このようにして、文字の認識が失敗する可能性の高さを定量的に示す失敗確率Ｐ１が評価されるため、文字の認識が失敗した原因を正確に推定することができるのである。
【０１４６】
本実施形態では、平均線幅Ｂａｖを求める対象の文字を規定していない（すなわち、文字列に含まれる全ての文字の平均線幅Ｂａｖを求める形態でもよい）が、平均線幅Ｂａｖを求める対象の文字を認識成功文字とする形態でもよい。この場合には、文字認識が成功した文字に対して平均線幅Ｂａｖが求められるため、適正な平均線幅Ｂａｖを求めることができる。
【０１４７】
次に、図１２を参照して、失敗原因が文字の線幅の場合のパラメータ値修正処理について説明する。図１２は、図７に示すフローチャートのステップＳ２１７において、選択された失敗原因が文字の線幅である場合にパラメータ値を修正する処理の一例を示す詳細フローチャートである。なお、以下の処理は、すべて処理修正部１１７によって実行される。また、以下の処理は、図７に示すフローチャートのステップＳ２１７において実行される処理の一部である。
【０１４８】
まず、ステップＳ３５１において、図１０に示すフローチャートのステップＳ３１１で求められた差分線幅ΔＢが正であるか否かの判定が行われる。ステップＳ３５１でＹＥＳの場合には、処理がステップＳ３５３に進められる。ステップＳ３５１でＮＯの場合には、処理がステップＳ３５７に進められる。
【０１４９】
ステップＳ３５３において、失敗原因が文字の線幅Ｂが太すぎることであると判定される。そして、ステップＳ３５５において、差分線幅ΔＢの絶対値分だけ、白膨張処理する回数を増加する（又は、黒膨張する回数を減少する）設定に修正され（パラメータが書き換えられ）、処理がリターンされる。
【０１５０】
ステップＳ３５７において、失敗原因が文字の線幅Ｂが細すぎることであると判定される。そして、ステップＳ３５９において、差分線幅ΔＢの絶対値分だけ、黒膨張処理する回数を増加する（又は、白膨張する回数を減少する）設定に修正され（パラメータが書き換えられ）、処理がリターンされる。
【０１５１】
このようにして、文字の認識が失敗した原因が文字の線幅Ｂである（文字が太すぎる、又は、文字が細すぎる）ことであると推定された場合には、予め設定された推奨線幅Ｂ０（例えば、実験的に文字の認識率が最も高くなる線幅）と、実際の文字の線幅の平均値（平均線幅）Ｂａｖと、の差である差分線幅ΔＢの絶対値分だけ黒膨張処理又は白膨張処理を行う設定に修正すればよい。このようにして、推定された原因（ここでは、文字の線幅Ｂ）に対応する少なくとも１つのパラメータの値が修正されるため、画像処理を規定するパラメータを適正に調整することができる。
【０１５２】
−失敗原因が文字列の回転である場合−
次に、図１３〜図１５を参照して、失敗原因が「文字列の回転」である場合の失敗確率算出処理及びパラメータ値修正処理について説明する。図１３は、文字列の回転に起因して文字認識が失敗するケースの一例を示す説明図である。
【０１５３】
図１３（ａ）は、「ＡＢＣ」との文字列が反時計回りに回転している場合の文字切出処理が失敗する状態を示す図である。図１３（ｂ）は、図１３（ａ）に示す二値画像９２０（又は、二値画像９２０に対応する濃淡画像）に対して回転処理を施すことによって、文
字列を水平に並んだ状態とした二値画像９００では適正に文字切出処理が行われる状態を示す図である。
【０１５４】
図１３（ａ）には、反時計回りに回転している「ＡＢＣ」との文字列９２１、９２２、９２３を含む二値画像９２０と、それに対応する水平投影グラフＧｙ２、垂直投影グラフＧｘ２が記載されている。水平投影グラフＧｙ２において、積算値が水平投影閾値Ｔｙ２以上である領域が文字領域の高さ範囲ｈ２として求められる。また、垂直投影グラフＧｘ２において、積算値が垂直投影閾値Ｔｘ２以上である領域が文字領域の幅範囲ｂ２１、ｂ２２、ｂ２３として求められる。
【０１５５】
すなわち、図１３（ａ）の二値画像９２０に示すように、文字列９２１、９２２、９２３が反時計回りに回転しているために、高さ範囲ｈ２が文字の高さと比較して過大となってしまうと共に、「Ａ」、「Ｂ」、「Ｃ」にそれぞれ対応する文字９２１、９２２、９２３が反時計回りに回転しているため、切り出された文字領域９２１ａ、９２２ａ、９２３ａの文字認識処理が失敗することになる。
【０１５６】
これに対して、図１３（ｂ）に示すよう文字列が水平に並んだ状態とすれば、高さ範囲ｈ０が文字の高さと概ね同じ値となり、且つ、「Ａ」、「Ｂ」、「Ｃ」にそれぞれ対応する文字９２１、９２２、９２３の回転が修正されるため、「Ａ」の文字に対応する文字領域９０１ａ、「Ｂ」の文字に対応する文字領域９０２ａ、及び、「Ｃ」の文字に対応する文字領域９０３ａが適正に設定されて、文字認識処理が成功することになる。
【０１５７】
次に、図１４、図１５を参照して、失敗原因が文字列の回転である場合の失敗確率算出処理について説明する。図１４は、図７に示すフローチャートのステップＳ２０５において、文字列の回転に起因した失敗確率を求める処理（以下、「失敗確率算出処理２」ともいう）の一例を示す詳細フローチャートである。図１５は、画像回転処理における回転角の修正値を求める方法の一例を示す説明図である。
【０１５８】
まず、図１５を参照して、画像回転処理における回転角の修正量Δθを求める方法の一例について説明する。まず、各文字領域９２１ａ、９２２ａ、９２３ａに含まれる黒画素の平均座標が求められる。例えば、文字領域９２１ａに含まれる黒画素の座標を（Ｘｉ、Ｙｉ）（ここで、ｉ＝１、２、・・・、Ｍ：Ｍは、文字領域９２１ａに含まれる黒画素の総数）とおくと、黒画素の平均座標（Ｘａｖ，Ｙａｖ）は、次の（３）式、（４）式で求められる。
【０１５９】
Ｘａｖ＝（Ｘ１＋Ｘ２＋・・・＋ＸＭ）／Ｍ      （３）
Ｙａｖ＝（Ｙ１＋Ｙ２＋・・・＋ＹＭ）／Ｍ      （４）
そして、各文字領域９２１ａ、９２２ａ、９２３ａに含まれる黒画素の平均座標に対応する点ＰＯ１、ＰＯ２、ＰＯ３を求め、点ＰＯ１、ＰＯ２、ＰＯ３の近似直線ＬＧを最小二乗法等により求める。近似直線ＬＧの水平方向に対してなす角Δθが画像回転処理における回転角の修正量Δθである。
【０１６０】
次に、図１４を参照して、文字列の回転に起因した失敗確率Ｐ２を求める手順を説明する。なお、以下の処理は、すべて原因評価部１１４によって実行される。また、以下の処理は、図７に示すフローチャートのステップＳ２０５において実行される処理の一部である。
【０１６１】
まず、ステップＳ４０１において、各文字の切り出し領域（図１５では、文字領域９２１ａ、９２２ａ、９２３ａ）に含まれる黒画素の平均座標が求められる。そして、ステップＳ４０３において、ステップＳ４０１で求められた黒画素の平均座標に対応する点（図
１５では、点ＰＯ１、ＰＯ２、ＰＯ３）の近似直線（図１５では、近似直線ＬＧ）が最小二乗法により求められる。次いで、ステップＳ４０５において、ステップＳ４０３で求められた近似直線の水平方向に対してなす角Δθが、画像回転処理における回転角の修正量Δθとして求められる。そして、ステップＳ４０７において、失敗確率Ｐ２が、次の（５）式により求められ、処理がリターンされる。
【０１６２】
Ｐ２＝Ｗ２×｜Δθ｜      （５）
ここで、重みＷ２は、実験等によって求められるものである。このようにして、文字の認識が失敗した原因が文字列の回転である場合に、各文字の切り出し領域９２１ａ、９２２ａ、９２３ａに含まれる黒画素の平均座標に対応する点ＰＯ１、ＰＯ２、ＰＯ３の近似直線ＬＧの水平方向に対してなす角Δθ（修正量Δθ）の絶対値に重みＷ２を乗じて、失敗確率Ｐ２を評価することができる。このようにして、文字の認識が失敗する可能性の高さを定量的に示す失敗確率Ｐ２が評価されるため、文字の認識が失敗した原因を正確に推定することができるのである。
【０１６３】
次に、失敗原因が「文字列の回転」である場合に、パラメータ値を修正する処理の一例について説明する。上述のようにして、画像回転処理における回転角の修正量Δθが求められるため、現在の画像回転処理において設定された回転角θ０を回転角（θ０＋Δθ）とする設定に修正すればよい。
【０１６４】
このようにして、文字の認識が失敗した原因が「文字列の回転」であると推定された場合には、画像回転処理において設定された回転角θ０を回転角（θ０＋Δθ）とする設定に修正すればよい。このようにして、推定された原因（ここでは、文字列の回転）に対応する少なくとも１つのパラメータの値が修正されるため、画像処理を規定するパラメータを適正に調整することができる。
【０１６５】
−失敗原因が文字の滲み・擦れである場合−
また、図１６〜図１８を参照して、失敗原因が「文字の滲み・擦れ」である場合の失敗確率算出処理及びパラメータ値修正処理について説明する。図１６は、文字の擦れに起因して文字認識が失敗するケースの一例を示す説明図である。
【０１６６】
図１６（ａ）は、「ＡＢＣ」との文字列を構成する文字のうち、「Ａ」の文字の一部（ここでは、左側）が擦れている場合の文字切出処理が失敗する状態を示す図である。図１６（ｂ）は、図１６（ａ）に示す二値画像９３０に対応する濃淡画像に対して２値化閾値を修正する（ここでは、２値化閾値を下げる）処理を施すことによって擦れを除去した二値画像９００では適正に文字切出処理が行われる状態を示す図である。
【０１６７】
図１６（ａ）には、「ＡＢＣ」との文字列９３１、９３２、９３３を含む二値画像９３０と、それに対応する水平投影グラフＧｙ３、垂直投影グラフＧｘ３が記載されている。ここで、「ＡＢＣ」との文字列９３１、９３２、９３３に含まれる「Ａ」の文字９３１は、その一部（ここでは、左側）が擦れている。図１６（ａ）では、「Ａ」の文字９３１の一部（ここでは、左側）が擦れていることを、「Ａ」の文字内における縦線の太さが次第に細くなることで示している。水平投影グラフＧｙ３において、積算値が水平投影閾値Ｔｙ３以上である領域が文字領域の高さ範囲ｈ３として求められる。また、垂直投影グラフＧｘ３において、積算値が垂直投影閾値Ｔｘ３以上である領域が文字領域の幅範囲ｂ３１、ｂ３２、ｂ３３として求められる。
【０１６８】
すなわち、図１６（ａ）の二値画像９３０に示すように、「Ａ」の文字９３１の一部が擦れているために、「Ａ」の文字のうち、擦れが発生している左側の領域において、垂直投影グラフＧｘ３が垂直投影閾値Ｔｘ３未満となってしまうため、切り出される文字領域
９３１ａの幅範囲ｂ３１が「Ａ」の文字の幅より狭くなってしまう結果となっている。すなわち、文字領域９３１ａとして、擦れが発生していない右側の領域が設定され、これが切り出されるため、文字認識処理が失敗することになる。
【０１６９】
これに対して、図１６（ｂ）に示すよう２値化閾値を適性な値とすれば、「Ａ」の文字の擦れが２値化処理において修正されるため、「Ａ」の文字に対応する文字領域９０１ａ、「Ｂ」の文字に対応する文字領域９０２ａ、及び、「Ｃ」の文字に対応する文字領域９０３ａが適正に設定されて、文字認識処理が成功することになる。
【０１７０】
次に、図１７を参照して、失敗原因が文字の滲み・擦れであるの場合の失敗確率算出処理について説明する。図１７は、図７に示すフローチャートのステップＳ２０５において、文字の滲み・擦れに起因した失敗確率Ｐ３を求める処理（以下、「失敗確率算出処理３」ともいう）の一例を示す詳細フローチャートである。
【０１７１】
ここで、図１７を参照して、文字の文字の滲み・擦れに起因した失敗確率Ｐ３を求める手順を説明する。なお、以下の処理は、すべて原因評価部１１４によって実行される。また、以下の処理は、図７に示すフローチャートのステップＳ２０５において実行される処理の一部である。まず、ステップＳ５０１において、文字の認識が失敗した文字（ここでは、文字「Ａ」）について、文字画像（図１１（ａ）参照）がエッジ画像（図１１（ｂ）参照）に変換される。そして、ステップＳ５０３において、文字の輪郭線に対する法線ベクトルＶｎ（図１１（ｂ）参照）が求められる。
【０１７２】
次いで、ステップＳ５０５において、法線方向が１８０度異なる２つの法線ベクトルＶｎのペア（対）が求められる。そして、ステップＳ５０７において、ステップＳ５０５でペアに選定された２つの法線ベクトルの始点間距離が線幅Ｂとして求められる。次に、ステップＳ５０９において、ステップＳ５０７で求められた線幅Ｂの標準偏差σが求められる。そして、ステップＳ５１１において、失敗確率Ｐ３が、次の（６）式により求められ、処理がリターンされる。
【０１７３】
Ｐ２＝Ｗ３×σ      （６）
ここで、重みＷ３は、実験等によって求められるものである。このようにして、文字の認識が失敗した原因が文字の滲み・擦れである場合に、文字の線幅Ｂの標準偏差σに重みＷ３を乗じて、失敗確率Ｐ３を評価することができる。このようにして、文字の認識が失敗する可能性の高さを定量的に示す失敗確率Ｐ３が評価されるため、文字の認識が失敗した原因を正確に推定することができるのである。
【０１７４】
次に、図１８を参照して、失敗原因が文字の滲み・擦れである場合のパラメータ値修正処理について説明する。図１８は、図７に示すフローチャートのステップＳ２１５において、選択された失敗原因が文字の擦れ（又は、滲み）である場合にパラメータ値を修正する処理内容の一例を示す説明図である。なお、以下の処理は、すべて処理修正部１１７によって実行される。また、以下の処理は、図７に示すフローチャートのステップＳ２１７において実行される処理の一部である。
【０１７５】
まず、ステップＳ５５１において、文字認識が成功した文字（ここでは、文字「Ｂ」と文字「Ｃ」）の線幅の平均値Ｂ０が求められる。次に、ステップＳ５５３において、文字認識が失敗した文字（ここでは、文字「Ａ」）の線幅の平均値Ｂ１が求められる。そして、ステップＳ５５５において、平均値Ｂ０が平均値Ｂ１未満であるか否かの判定が行われる。ステップＳ５５５でＹＥＳの場合には、処理がステップＳ５５７へ進められる。ステップＳ５５５でＮＯの場合には、処理がステップＳ５６１へ進められる。
【０１７６】
ステップＳ５５７において、文字認識が失敗した原因は滲みであると判定される。そして、ステップＳ５５９において、２値化閾値の設定値ＴＨ０が次の（７）式によって求められる設定値ＴＨ１に修正され（パラメータが書き換えられ）、処理がリターンされる。
【０１７７】
ＴＨ１＝ＴＨ０×（１＋｜Ｂ１−Ｂ０｜／１０）      （７）
ステップＳ５６１において、文字認識が失敗した原因は擦れであると判定される。そして、ステップＳ５６３において、２値化閾値の設定値ＴＨ０が次の（８）式によって求められる設定値ＴＨ２に修正され（パラメータが書き換えられ）、処理がリターンされる。
【０１７８】
ＴＨ２＝ＴＨ０×（１−｜Ｂ１−Ｂ０｜／１０）      （８）
このようにして、文字の認識が失敗した原因が文字の擦れ（又は滲み）であると推定された場合には、予め設定された２値化閾値の設定値ＴＨ０を、設定値ＴＨ１（又は、設定値ＴＨ２）に修正すればよい。このようにして、推定された原因（ここでは、文字の擦れ、又は、滲み）に対応する少なくとも１つのパラメータの値が修正されるため、画像処理を規定するパラメータを適正に調整することができる。
【０１７９】
−失敗原因が低コントラストである場合−
また、図１９、図２０を参照して、失敗原因が「低コントラスト」である場合の失敗確率算出処理及びパラメータ値修正処理について説明する。図１９は、低コントラストに起因して文字認識が失敗するケースの一例を示す説明図である。
【０１８０】
図１９（ａ）は、「ＡＢＣ」との文字列を構成する文字のうち、「Ａ」、「Ｂ」、「Ｃ」の各文字が低コントラストである場合に文字切出処理が失敗する状態を示す図である。図１９（ｂ）は、図１９（ａ）に示す二値画像９４０に対応する濃淡画像に対して各画素のコントラストを調整する（ここでは、コントラストを上げる）処理を施した二値画像９００では適正に文字切出処理が行われる状態を示す図である。
【０１８１】
図１９（ａ）には、「ＡＢＣ」との文字列９４１、９４２、９４３を含む二値画像９４０と、それに対応する水平投影グラフＧｙ４、垂直投影グラフＧｘ４が記載されている。ここで、「ＡＢＣ」との文字列９４１、９４２、９４３に含まれる「Ａ」、「Ｂ」、「Ｃ」の文字９４１、９４２、９４３は、その背景に対するコントラストが低い。図１９（ａ）では、コントラストが低いことを、「Ａ」、「Ｂ」、「Ｃ」の文字９４１、９４２、９４３に斜線を施すことで示している。水平投影グラフＧｙ４において、積算値が水平投影閾値Ｔｙ４以上である領域が文字領域の高さ範囲ｈ４として求められる。また、垂直投影グラフＧｘ４において、積算値が垂直投影閾値Ｔｘ４以上である領域が文字領域の幅範囲ｂ４１、ｂ４２、ｂ４３として求められる。
【０１８２】
すなわち、図１９（ａ）の二値画像９４０に示すように、「Ａ」、「Ｂ」、「Ｃ」の文字９４１、９４２、９４３は、その背景に対するコントラストが低いために、「Ａ」の文字のうち、両側の領域において、垂直投影グラフＧｘ４が垂直投影閾値Ｔｘ４未満となってしまうため、切り出される文字領域９４１ａの幅範囲ｂ４１が「Ａ」の文字の幅より狭くなってしまう結果となっている。したがって、文字領域９４１ａとして、中央部の領域が設定され、これが切り出されるため、文字認識処理が失敗することになる。
【０１８３】
これに対して、図１９（ｂ）に示すようコントラスト調整を適性に行うと、濃淡画像のコントラストが適正な値に調整されるため、「Ａ」の文字に対応する文字領域９０１ａ、「Ｂ」の文字に対応する文字領域９０２ａ、及び、「Ｃ」の文字に対応する文字領域９０３ａが適正に設定されて、文字認識処理が成功することになる。
【０１８４】
次に、図２０を参照して、失敗原因が低コントラストであるの場合の失敗確率算出処理
について説明する。図２０は、図７に示すフローチャートのステップＳ２０５において、コントラストが低いことに起因した失敗確率を求める処理（以下、「失敗確率算出処理４」ともいう）の一例を示す詳細フローチャートである。
【０１８５】
ここで、図２０を参照して、コントラストが低いことに起因した失敗確率Ｐ４を求める手順を説明する。なお、以下の処理は、すべて原因評価部１１４によって実行される。また、以下の処理は、図７に示すフローチャートのステップＳ２０５において実行される処理の一部である。まず、ステップＳ６０１において、濃淡画像の画像領域内における画素値の最大値Ｉｍａｘ及び最小値Ｉｍｉｎが求められる。そして、ステップＳ６０３において、次の（９）式によって、コントラストＣが求められる。
【０１８６】
Ｃ＝（Ｉｍａｘ−Ｉｍｉｎ）／（Ｉｍａｘ＋Ｉｍｉｎ）      （９）
次いで、ステップＳ６０５において、次の（１０）式によって、失敗確率Ｐ４が、求められ、処理がリターンされる。
【０１８７】
Ｐ４＝Ｗ４×Ｃ      （１０）
ここで、重みＷ４は、実験等によって求められるものである。このようにして、文字の認識が失敗した原因が低コントラストである場合に、濃淡画像のコントラストＣに重みＷ４を乗じて、失敗確率Ｐ４を評価することができる。このようにして、文字の認識が失敗する可能性の高さを定量的に示す失敗確率Ｐ４が評価されるため、文字の認識が失敗した原因を正確に推定することができるのである。
【０１８８】
次に、失敗原因が低コントラストである場合のパラメータ値修正処理について説明する。濃淡画像の各画素の画素値Ｉを次の（１１）式によって求められる画素値Ｉ’にコントラスト調整するように、コントラスト調整を規定するパラメータの値を修正する。
【０１８９】
Ｉ’＝（Ｉ−Ｉｍｉｎ）×（２５５／（（Ｉｍａｘ−Ｉｍｉｎ））      （１１）
このようにして、文字の認識が失敗した原因が低コントラストであると推定された場合には、濃淡画像の各画素の画素値Ｉを、上記（１１）式で規定する画素値Ｉ’に修正すればよい。このようにして、推定された原因（ここでは、低コントラスト）に対応する少なくとも１つのパラメータの値が修正されるため、画像処理を規定するパラメータを適正に調整することができる。
【０１９０】
−他の実施形態−
本実施形態では、画像処理装置１００を構成する画像処理部１１１、成否受付部１１２、成否判定部１１３、原因評価部１１４、結果表示部１１５、原因推定部１１６、及び、処理修正部１１７がすべてＣＰＵ１１において機能部として実現されている場合について説明したが、画像処理部１１１、成否受付部１１２、成否判定部１１３、原因評価部１１４、結果表示部１１５、原因推定部１１６、及び、処理修正部１１７の少なくとも１つが電子回路等のハードウェアで構成されている形態でもよい。
【０１９１】
本実施形態では、失敗確率算出処理及びパラメータ値修正処理については、便宜上、文字の認識が失敗した原因が、文字の線幅、文字列の回転、文字の擦れ・滲み、及び、低コントラストである場合について、具体的な説明を行っているが、文字の認識が失敗した原因が、その他の原因（例えば、文字のサイズ（小さすぎる、大きすぎる）等）であってもよい。
【産業上の利用可能性】
【０１９２】
本発明は、認識対象部位を含む物体を撮像して得られる画像に対して予め定められた画像処理を施して、前記認識対象部位を認識する画像処理装置、画像処理方法、及び、画像
処理プログラムに利用することができる。また、本発明は、認識対象部位を含む波形データに対して予め定められた認識処理を施して、前記認識対象部位を認識する波形データ処理装置に利用することができる。
【符号の説明】
【０１９３】
１００  画像処理装置
１  画像処理装置本体
１１  ＣＰＵ
１１１  画像処理部
１１２  成否受付部（成否受付手段）
１１３  成否判定部（成否判定手段）
１１４  原因評価部（原因評価手段）
１１５  結果表示部（結果表示手段）
１１６  原因推定部（原因推定手段）
１１７  処理修正部（処理修正手段）
１２  ＥＥＰＲＯＭ
１２１  パラメータ記憶部
１３  ＲＡＭ
１４  画像メモリ
１５  変換器
１６  変換器
１７  入出力部
２  カメラ
３  モニタ（画像表示手段）
４  入力装置（操作受付手段）
５  製品
６  コンベア
【図１】
0005782760.tif 000002
【図２】
0005782760.tif 000003
【図３】
0005782760.tif 000004
【図４】
0005782760.tif 000005
【図５】
0005782760.tif 000006
【図６】
0005782760.tif 000007
【図７】
0005782760.tif 000008
【図８】
0005782760.tif 000009
【図９】
0005782760.tif 000010
【図１０】
0005782760.tif 000011
【図１１】
0005782760.tif 000012
【図１２】
0005782760.tif 000013
【図１３】
0005782760.tif 000014
【図１４】
0005782760.tif 000015
【図１５】
0005782760.tif 000016
【図１６】
0005782760.tif 000017
【図１７】
0005782760.tif 000018
【図１８】
0005782760.tif 000019
【図１９】
0005782760.tif 000020
【図２０】
0005782760.tif 000021