"認識対象部位を含む物体を撮像して得られる画像に対して予め定められた画像処理を施して、前記認識対象部位を認識する画像処理装置であって、前記認識対象部位の認識が失敗したか否かを判定する成否判定手段と、前記成否判定手段によって前記認識対象部位の認識が失敗したと判定された場合に、前記認識対象部位の認識が失敗した原因を推定する原因推定手段と、前記原因推定手段によって推定された原因に基づいて、前記画像処理を規定する複数のパラメータのうち、前記推定された原因に対応する少なくとも1つのパラメータの値を修正する処理修正手段と、を備えることを特徴とする画像処理装置。請求項1に記載の画像処理装置において、外部からの操作入力を受け付ける操作受付手段と、前記認識対象部位の認識が成功したか否かの判定結果を示す操作入力を、前記操作受付手段を介して受け付ける成否受付手段と、を更に備え、前記成否判定手段は、前記成否受付手段によって受け付けられた操作入力に基づいて、前記認識対象部位の認識が失敗したか否かを判定することを特徴とする画像処理装置。請求項1又は請求項2に記載の画像処理装置において、前記成否判定手段によって前記認識対象部位の認識が失敗したと判定された場合に、予め設定された複数の原因ごとに、前記認識対象部位の認識が失敗する可能性の高さを定量的に示す失敗確率として評価する原因評価手段を更に備え、前記原因推定手段は、前記原因評価手段によって評価された失敗確率に基づいて、前記認識対象部位の認識が失敗した原因を推定することを特徴とする画像処理装置。請求項3に記載の画像処理装置において、外部から視認可能に画像を表示する画像表示手段と、前記複数の原因のうち、前記原因評価手段によって失敗確率が高いと評価された順に、予め設定された2以上の所定個数の原因を示す文字又は画像を、前記画像表示手段に表示させる結果表示手段と、を更に備えることを特徴とする画像処理装置。請求項4に記載の画像処理装置において、前記結果表示手段は、前記2以上の所定個数の原因に対応付けて、前記原因評価手段によって評価された失敗確率の値を示す文字又は画像を、前記画像表示手段に表示させることを特徴とする画像処理装置。請求項4又は請求項5に記載の画像処理装置において、前記原因推定手段は、前記結果表示手段によって前記画像表示手段に表示された前記2以上の所定個数の原因の中から、1つの前記認識対象部位の認識が失敗した原因を選択する選択入力を、前記操作受付手段を介して受け付けて、選択された原因を前記認識対象部位の認識が失敗した原因であると推定することを特徴とする画像処理装置。請求項3から請求項6のいずれか1つに記載の画像処理装置において、前記処理修正手段は、前記原因推定手段によって前記認識対象部位の認識が失敗した原因であると推定された原因について、前記原因評価手段によって評価された失敗確率が大きい程、前記推定された原因に対応する少なくとも1つのパラメータの値を大幅に修正することを特徴とする画像処理装置。請求項1から請求項7のいずれか1つに記載の画像処理装置において、前記認識対象部位は、前記物体の表面に形成された文字であることを特徴とする画像処理装置。認識対象部位を含む波形データに対して予め定められた認識処理を施して、前記認識対象部位を認識する波形データ処理装置であって、前記認識対象部位の認識が失敗したか否かを判定する成否判定手段と、前記成否判定手段によって前記認識対象部位の認識が失敗したと判定された場合に、前記認識対象部位の認識が失敗した原因を推定する原因推定手段と、前記原因推定手段によって推定された原因に基づいて、前記認識処理を規定する複数のパラメータのうち、前記推定された原因に対応する少なくとも1つのパラメータの値を修正する処理修正手段と、を備えることを特徴とする波形データ処理装置。認識対象部位を含む物体を撮像して得られる画像に対して予め定められた画像処理を施して、前記認識対象部位を認識する画像処理方法であって、前記認識対象部位の認識が失敗したか否かを判定する成否判定ステップと、前記成否判定ステップにおいて前記認識対象部位の認識が失敗したと判定された場合に、前記認識対象部位の認識が失敗した原因を推定する原因推定ステップと、前記原因推定ステップにおいて推定された原因に基づいて、前記画像処理を規定する複数のパラメータのうち、前記推定された原因に対応する少なくとも1つのパラメータの値を修正する処理修正ステップと、を実行することを特徴とする画像処理方法。認識対象部位を含む物体を撮像して得られる画像に対して予め定められた画像処理を施して、前記認識対象部位を認識する画像処理装置に配設されたコンピュータにおいて実行される画像処理プログラムであって、前記コンピュータを、前記認識対象部位の認識が失敗したか否かを判定する成否判定手段と、前記成否判定手段によって前記認識対象部位の認識が失敗したと判定された場合に、前記認識対象部位の認識が失敗した原因を推定する原因推定手段と、前記原因推定手段によって推定された原因に基づいて、前記画像処理を規定する複数のパラメータのうち、前記推定された原因に対応する少なくとも1つのパラメータの値を修正する処理修正手段として機能させることを特徴とする画像処理プログラム。しかしながら、上記特許文献1に記載の文字認識装置においては、オペレータ正誤判定者の正誤判定作業量を低減することができるものの、文字の認識率を高めるために、文字を認識する画像処理を規定するパラメータの調整を行うことは困難であった。すなわち、物体の表面に形成された文字列を含む画像から、文字列を構成する各文字を認識するためには、種々の画像処理例えば、回転処理、膨張収縮処理、コントラスト調整処理、二値化処理等を施す必要があるため、画像処理全体の処理内容を規定するパラメータの個数が多数例えば、200個となる。したがって、文字を認識する画像処理を規定するパラメータの適正な調整を行うことは、高度の知識を必要とする極めて困難な作業であった。本発明は、上記課題に鑑みてなされたものであって、認識対象部位を認識する画像処理又は認識処理を規定するパラメータの適正な調整を行うことの可能な画像処理装置、画像処理方法、画像処理プログラム、及び、波形データ処理装置を提供することを目的としている。上記課題を解決するために、本発明に係る画像処理装置は、以下のように構成されている。すなわち、本発明に係る画像処理装置は、認識対象部位を含む物体を撮像して得られる画像に対して予め定められた画像処理を施して、前記認識対象部位を認識する画像処理装置であって、前記認識対象部位の認識が失敗したか否かを判定する成否判定手段と、前記成否判定手段によって前記認識対象部位の認識が失敗したと判定された場合に、前記文字の認識が失敗した原因を推定する原因推定手段と、前記原因推定手段によって推定された原因に基づいて、前記画像処理を規定する複数のパラメータのうち、前記推定された原因に対応する少なくとも1つのパラメータの値を修正する処理修正手段と、を備えることを特徴としている。かかる構成を備える画像処理装置によれば、認識対象部位の認識が失敗したか否かが判定され、認識対象部位の認識が失敗したと判定された場合に、前記認識対象部位の認識が失敗した原因が推定され、推定された原因に基づいて、前記認識対象部位を含む画像に対して施される画像処理を規定する複数のパラメータのうち、前記推定された原因に対応する少なくとも1つのパラメータの値が修正されるため、認識対象部位を認識する画像処理を規定するパラメータの適正な調整を行うことができる。ここでは、認識対象部位が、例えば、文字列を構成する各文字である場合について説明する。すなわち、例えば、文字の認識が失敗した原因が文字の線幅である文字が太すぎる、又は、文字が細すぎると推定された場合には、予め設定された推奨線幅B0例えば、実験的に文字の認識率が最も高くなる線幅と、実際の文字の線幅の平均値平均線幅Bavと、の差である差分線幅ΔBの絶対値分だけ黒膨張処理又は白膨張処理を行う設定に修正すればよい図12参照。このようにして、前記推定された原因に対応する少なくとも1つのパラメータの値が修正されるため、画像処理を規定するパラメータを適正に調整することができるのである。また、例えば、文字の認識が失敗した原因が、文字列の回転であると推定された場合、文字の滲みにじみ又は擦れかすれであると推定された場合、文字のコントラストが低いことであると推定された場合にも、同様にして、推定された原因に対応する少なくとも1つのパラメータの値が修正される図18参照ため、画像処理を規定するパラメータを適正に調整することができるのである。つまり、認識対象部位の認識が失敗する可能性のある原因ごとに、各原因に対応する少なくとも1つのパラメータの値を修正するためのロジック手順、方法等を予め構築しておくことによって、推定された原因に対応する少なくとも1つのパラメータの値を適正に修正する図12、図18参照ことができるため、画像処理を規定するパラメータを適正に調整することができるのである。また、本発明に係る画像処理装置は、外部からの操作入力を受け付ける操作受付手段と、前記認識対象部位の認識が成功したか否かの判定結果を示す操作入力を、前記操作受付手段を介して受け付ける成否受付手段と、を更に備え、前記成否判定手段が、前記成否受付手段によって受け付けられた操作入力に基づいて、前記認識対象部位の認識が失敗したか否かを判定することが好ましい。かかる構成を備える画像処理装置によれば、外部から例えば、オペレータによって認識対象部位の認識が成功したか否かの判定結果を示す操作入力が受け付けられ、認識対象部位の認識が失敗したか否かが、受け付けられた操作入力に基づいて判定されるため、文字の認識が失敗したか否かの判定を簡素な構成で正確に行うことができる。また、本発明に係る画像処理装置は、前記成否判定手段によって前記認識対象部位の認識が失敗したと判定された場合に、予め設定された複数の原因ごとに、前記認識対象部位の認識が失敗する可能性の高さを定量的に示す失敗確率として評価する原因評価手段を更に備え、前記原因推定手段が、前記原因評価手段によって評価された失敗確率に基づいて、前記文字の認識が失敗した原因を推定することが好ましい。かかる構成を備える画像処理装置によれば、認識対象部位の認識が失敗したと判定された場合に、予め設定された複数の原因ごとに、前記認識対象部位の認識が失敗する可能性の高さを定量的に示す失敗確率が評価され、評価された失敗確率に基づいて、前記認識対象部位の認識が失敗した原因が推定されるため、前記失敗確率を正確に評価することによって、認識対象部位の認識が失敗した原因を正確に推定することができる。ここでは、認識対象部位が、例えば、文字列を構成する各文字である場合について説明する。すなわち、例えば、文字の認識が失敗した原因が文字の線幅である文字が太すぎる、又は、文字が細すぎる場合には、予め設定された推奨線幅B0例えば、実験的に文字の認識率が最も高くなる線幅と、実際の文字の線幅の平均値平均線幅Bavと、の差である差分線幅ΔBの絶対値に重みW1を乗じて、失敗確率P1図10参照を評価することができる。このようにして、文字の認識が失敗する可能性の高さを定量的に示す失敗確率P1が評価されるため、認識対象部位の認識が失敗した原因を正確に推定することができるのである。また、例えば、文字の認識が失敗した原因が、文字列の回転である場合、文字の滲み又は擦れである場合、文字のコントラストが低いことである場合にも、同様にして、失敗確率P2、P3、P4図14、図17、図20参照を評価することができるため、認識対象部位の認識が失敗した原因を正確に推定することができるのである。つまり、認識対象部位の認識が失敗する可能性のある原因ごとに、各原因に起因する失敗確率Piの値を求めるためのロジック手順、方法等を予め構築しておくことによって、各原因に対応する失敗確率を求めて比較することができる図7のステップS207等、図10、図14、図17、図20参照ため、認識対象部位の認識が失敗した原因を正確に推定することができるのである。また、本発明に係る画像処理装置は、外部から視認可能に画像を表示する画像表示手段と、前記複数の原因のうち、前記原因評価手段によって失敗確率が高いと評価された順に、予め設定された2以上の所定個数の原因を示す文字又は画像を、前記画像表示手段に表示させる結果表示手段と、を更に備えることが好ましい。かかる構成を備える画像処理装置によれば、複数の原因のうち、失敗確率が高いと評価された順に、予め設定された2以上の所定個数の原因を示す文字又は画像が、外部から視認可能に表示されるため、利便性を向上することができる。すなわち、例えば、オペレータが、LCD等に表示された原因を示す文字又は画像を参照して、認識対象部位の認識が失敗した原因を推定することができるため、認識対象部位の認識が失敗した原因を容易に推定することができるので、利便性を向上することができるのである。また、本発明に係る画像処理装置は、前記結果表示手段が、前記2以上の所定個数の原因に対応付けて、前記原因評価手段によって評価された失敗確率の値を示す文字又は画像を、前記画像表示手段に表示させることが好ましい。かかる構成を備える画像処理装置によれば、2以上の所定個数の原因に対応付けて、失敗確率の値を示す文字又は画像が、外部から視認可能に表示されるため、利便性を更に向上することができる。すなわち、例えば、オペレータが、LCD等に表示された原因を示す文字又は画像と、失敗確率の値を示す文字又は画像とを参照して、認識対象部位の認識が失敗した原因を推定することができるため、認識対象部位の認識が失敗した原因を更に容易に推定することができるので、利便性を更に向上することができるのである。また、本発明に係る画像処理装置は、前記原因推定手段が、前記結果表示手段によって前記画像表示手段に表示された前記2以上の所定個数の原因の中から、1つの前記認識対象部位の認識が失敗した原因を選択する選択入力を、前記操作受付手段を介して受け付けて、選択された原因を、前記認識対象部位の認識が失敗した原因であると推定することが好ましい。かかる構成を備える画像処理装置によれば、失敗確率が高いと評価されて表示された2以上の所定個数の原因の中から、1つの前記認識対象部位の認識が失敗した原因を選択する選択入力が受け付けられ、選択された原因が、認識対象部位の認識が失敗した原因であると推定されるため、認識対象部位の認識が失敗した原因を容易に推定することができる。また、本発明に係る画像処理装置は、前記処理修正手段が、前記原因推定手段によって前記文字の認識が失敗した原因であると推定された原因について、前記原因評価手段によって評価された失敗確率が大きい程、前記推定された原因に対応する少なくとも1つのパラメータの値を大幅に修正することが好ましい。かかる構成を備える画像処理装置によれば、認識対象部位の認識が失敗した原因であると推定された原因について、評価された失敗確率が大きい程、推定された原因に対応する少なくとも1つのパラメータの値が大幅に修正されるため、画像処理を規定するパラメータを適正に調整することができる。また、本発明に係る画像処理装置は、前記認識対象部位が、前記物体の表面に形成された文字であることが好ましい。この場合には、物体の表面に形成された文字を認識する画像処理を規定するパラメータの適正な調整を行うことができる。また、上記課題を解決するために、本発明に係る波形データ処理装置は、以下のように構成されている。すなわち、本発明に係る波形データ処理装置は、認識対象部位を含む波形データに対して予め定められた認識処理を施して、前記認識対象部位を認識する波形データ処理装置であって、前記認識対象部位の認識が失敗したか否かを判定する成否判定手段と、前記成否判定手段によって前記認識対象部位の認識が失敗したと判定された場合に、前記認識対象部位の認識が失敗した原因を推定する原因推定手段と、前記原因推定手段によって推定された原因に基づいて、前記認識処理を規定する複数のパラメータのうち、前記推定された原因に対応する少なくとも1つのパラメータの値を修正する処理修正手段と、を備えることを特徴としている。かかる構成を備える画像処理装置によれば、認識対象部位の認識が失敗したか否かが判定され、認識対象部位の認識が失敗したと判定された場合に、前記認識対象部位の認識が失敗した原因が推定され、推定された原因に基づいて、前記認識対象部位を含む波形データに対して施される認識処理を規定する複数のパラメータのうち、前記推定された原因に対応する少なくとも1つのパラメータの値が修正されるため、認識対象部位を認識する認識処理を規定するパラメータの適正な調整を行うことができる。また、上記課題を解決するために、本発明に係る画像処理方法は、以下のように構成されている。すなわち、本発明に係る画像処理方法は、認識対象部位を含む物体を撮像して得られる画像に対して予め定められた画像処理を施して、前記認識対象部位を認識する画像処理方法であって、前記認識対象部位の認識が失敗したか否かを判定する成否判定ステップと、前記成否判定ステップにおいて前記認識対象部位の認識が失敗したと判定された場合に、前記文字の認識が失敗した原因を推定する原因推定ステップと、前記原因推定ステップにおいて推定された原因に基づいて、前記画像処理を規定する複数のパラメータのうち、前記推定された原因に対応する少なくとも1つのパラメータの値を修正する処理修正ステップと、を実行することを特徴としている。また、本発明に係る画像処理プログラムは、以下のように構成されている。すなわち、本発明に係る画像処理プログラムは、認識対象部位を含む物体を撮像して得られる画像に対して予め定められた画像処理を施して、前記文字列を構成する各文字を認識する画像処理装置に配設されたコンピュータにおいて実行される画像処理プログラムであって、前記コンピュータを、前記認識対象部位の認識が失敗したか否かを判定する成否判定手段と、前記成否判定手段によって前記認識対象部位の認識が失敗したと判定された場合に、前記認識対象部位の認識が失敗した原因を推定する原因推定手段と、前記原因推定手段によって推定された原因に基づいて、前記画像処理を規定する複数のパラメータのうち、前記推定された原因に対応する少なくとも1つのパラメータの値を修正する処理修正手段として機能させることを特徴としている。かかる構成を備える画像処理方法及び画像処理プログラムによれば、認識対象部位の認識が失敗したか否かが判定され、認識対象部位の認識が失敗したと判定された場合に、前記認識対象部位の認識が失敗した原因が推定され、推定された原因に基づいて、前記文字列を含む画像に対して施される画像処理を規定する複数のパラメータのうち、前記推定された原因に対応する少なくとも1つのパラメータの値が修正されるため、認識対象部位を認識する画像処理を規定するパラメータの適正な調整を行うことができる。ここでは、認識対象部位が、例えば、文字列を構成する各文字である場合について説明する。すなわち、例えば、文字の認識が失敗した原因が文字の線幅である文字が太すぎる、又は、文字が細すぎると推定された場合には、予め設定された推奨線幅B0例えば、実験的に文字の認識率が最も高くなる線幅と、実際の文字の線幅の平均値平均線幅Bavと、の差である差分線幅ΔBの絶対値分だけ黒膨張処理又は白膨張処理を行う設定に修正すればよい図11参照。このようにして、前記推定された原因に対応する少なくとも1つのパラメータの値が修正されるため、画像処理を規定するパラメータを適正に調整することができるのである。また、例えば、文字の認識が失敗した原因が、文字列の回転であると推定された場合、文字の滲み又は擦れであると推定された場合、文字のコントラストが低いことであると推定された場合にも、同様にして、推定された原因に対応する少なくとも1つのパラメータの値が修正される図17参照ため、画像処理を規定するパラメータを適正に調整することができるのである。つまり、認識対象部位の認識が失敗する可能性のある原因ごとに、各原因に対応する少なくとも1つのパラメータの値を修正するためのロジック手順、方法等を構築しておくことによって、推定された原因に対応する少なくとも1つのパラメータの値を適正に修正する図11、図17参照ことができるため、画像処理を規定するパラメータを適正に調整することができるのである。本発明に係る画像処理装置、画像処理方法、画像処理プログラム、及び、波形データ処理装置によれば、認識対象部位の認識が失敗したか否かが判定され、認識対象部位の認識が失敗したと判定された場合に、前記認識対象部位の認識が失敗した原因が推定され、推定された原因に基づいて、前記文字列を含む画像に対して施される画像処理又は、認識処理を規定する複数のパラメータのうち、前記推定された原因に対応する少なくとも1つのパラメータの値が修正されるため、認識対象部位を認識する画像処理又は、認識処理を規定するパラメータの適正な調整を行うことができる。以下、本発明に係る画像処理装置、画像処理方法、及び、画像処理プログラムの実施形態を図面に基づいて説明する。-画像処理装置100の配設状態-まず、図1を参照して、本発明に係る画像処理装置100が配設されている状態の一例について説明する。図1は、本発明に係る画像処理装置100の配設状態の一例を示す斜視図である。画像処理装置100は、例えば、製品5物体を製造する工場等において、製品5の表面本実施形態では、CCDカメラ2と対向する側の面に形成された複数の文字例えば、アルファベット3文字からなる文字列を含む画像に対して画像処理を施して、前記文字列を構成する各文字認識対象部位を認識するものである。本実施形態においては、製品5の表面に文字列が形成されている場合について説明するが、物体の表面に文字列が形成されている形態であればよい。例えば、果物、野菜等の農産物、魚介類等の海産物、ICIntegratedCircuit、抵抗、コンデンサ等の部品、原材料、半製品等の表面に文字列が形成されている形態でもよい。また、本実施形態においては、文字列が形成されている面が、平面状である場合について説明するが、文字列が形成されている面は、曲面であっても、凹凸があってもよい。更に、本実施形態においては、認識対象部位が、文字である場合について説明するが、認識対象部位は、顔画像等の画像である形態でもよい。図1に示すように、画像処理装置100は、画像処理装置本体1、CCDカメラ2、モニタ3、及び、入力装置4を備え、ここでは、製品5を搬送するコンベア6の近傍に配設されている。なお、画像処理装置100のうち、CCDカメラ2は、製品5の表面に形成された文字列を含む画像を生成するものであるから、コンベア6の近傍に配設することが好ましい。一方、画像処理装置本体1、モニタ3、及び、入力装置4は、コンベア6の近傍に配設する必要はない。例えば、画像処理装置本体1、モニタ3、及び、入力装置4は、画像処理装置100を操作するオペレータの部屋等の粉塵が少なく、且つ、温度が常温近傍に維持される場所に配設することが好ましい。画像処理装置本体1は、画像処理装置100全体の動作を制御するものである。画像処理装置本体1の具体的な構成については、図2を用いて後述する。CCDChargeCoupledDeviceカメラ2以下、単にカメラ2ともいうは、コンベア6上を搬送される各製品5の表面に形成された文字列を含む画像を順に撮像するものであって、レンズをコンベア6上の製品5に向けて配設されている。また、カメラ2によって生成された画像情報は、順次、画像処理装置本体1へ出力される。モニタ3画像表示手段は、画像処理装置本体1からの指示に従って、種々の画像を外部から視認可能に表示するものであって、例えば、LCDLiquidCrystalDisplay等を備えている。モニタ3には、例えば、カメラ2によって生成された画像情報、図8を参照して後述する結果表示画面800、810、及び、種々のガイダンス情報等が表示される。入力装置4操作受付手段は、オペレータ等からの操作を受け付ける装置であって、キーボード、マウス等を備えている。なお、入力装置4によって受け付けられたオペレータの操作入力情報は、画像処理装置本体1へ出力される。-画像処理装置本体1の構成-次に、図2を参照して、画像処理装置本体1の構成について説明する。図2は、本発明に係る画像処理装置本体1の構成の一例を示す構成図である。図2に示すように、画像処理装置本体1は、CPU11、EEPROM12、RAM13、画像メモリ14、A/D変換器15、D/A変換器16、及び、入出力部17を備えている。CPUCentralProcessingUnit11コンピュータは、画像処理装置本体1全体の動作を制御するものであって、図略のROMReadOnlyMemory又は、EEPROM12等に格納される制御プログラムを実行することによって、種々の処理を実行する。なお、本発明に係る画像処理プログラムは、上記の制御プログラムの一部に相当する。EEPROMElectricallyErasableProgrammableReadOnlyMemory12は、書き換え可能な不揮発性メモリであって、図3を用いて後述するように、カメラ2によって生成された画像情報から文字を認識する画像処理に用いられる各種パラメータの値等を記憶するものである。RAMRandomAccessMemoryは、CPU11での処理の結果、入力装置4から入力されたデータ等を一時的に記憶するメモリである。A/D変換器15は、カメラ2からのアナログの画像信号を取り込んで、ディジタルの画像情報に変換するものである。変換された濃淡画像情報は、画像メモリ14に記録される。ここでは、濃淡画像情報の各画素には、それぞれ、白色から黒色までの輝度の範囲に対応して、例えば256階調の濃淡を示す値階調情報ともいうが割り当てられている。すなわち、濃淡画像情報とは、画素ごとに対応付けられた階調情報である。画像メモリ14は、種々の画像情報を記憶するメモリであって、A/D変換器15から出力された画像情報を記憶すると共に、文字認識の画像処理において2値化処理された画像情報以下、二値画像ともいう等を記憶する。D/A変換器16は、画像メモリ14に格納された画像情報を、アナログの表示用画像信号に変換してモニタ3に出力するものである。入出力部17は、CPU11と入力装置4との間、及び、CPU11とモニタ3との間のデータの入出力処理を行うインターフェースである。-CPU11の機能構成-次に、図3を参照して、CPU11等の構成について説明する。図3は、図2に示すCPU11等の機能構成の一例を示す機能構成図である。CPU11は、図略のROM等に記憶された制御プログラム本発明に係る画像処理プログラムを読み出して実行することによって、機能的に、画像処理部111、成否受付部112、成否判定部113、原因評価部114、結果表示部115、原因推定部116、及び、処理修正部117等として機能する。また、CPU11は、図略のROM等に記憶された制御プログラム本発明に係る画像処理プログラムを読み出して実行することによって、EEPROM12を、機能的に、パラメータ記憶部121等として機能させる。画像処理部111は、カメラ2によって撮像され画像メモリ14に格納された濃淡画像情報から文字列を構成する各文字を認識する画像処理を行う機能部である。画像処理としては、コントラスト調整処理、回転処理、2値化処理、膨張収縮処理、投影処理、文字切出処理、文字認識処理等を含む。コントラスト調整処理は、濃淡画像において、最も暗い部分と最も明るい部分の輝度の差を示すコントラストを調整する処理である。画像回転処理は、濃淡画像を、予め設定された向きに、予め設定された角度だけ回転する処理である。膨張収縮処理は、濃淡画像において文字の線幅を太くする又は、細くする処理である。文字の線幅を太くする処理が膨張処理以下、黒膨張処理ともいうであり、文字の線幅を細くする処理が収縮処理以下、白膨張処理ともいうである。なお、膨張収縮処理については、図5を参照して後述する。2値化処理は、濃淡画像を、各画素の明るさが基準値閾値以上であるか否かに応じて、黒色と白色との2つの値に変換し、二値画像を生成する処理である。投影処理は、二値画像において、水平方向の位置が同じ黒画素の個数を積算して、積算値の垂直方向の変化を示すグラフ以下、垂直投影グラフともいうを生成する垂直投影処理、及び、垂直方向の位置が同じ黒画素の個数を積算して、積算値の水平方向の変化を示すグラフ以下、水平投影グラフともいうを生成する水平投影処理である。文字切出処理は、投影処理によって得られた垂直投影グラフ及び水平投影グラフに対して閾値処理を施し、文字領域として切り出す処理である。なお、投影処理及び文字切出処理の詳細については、図6cを参照して後述する。文字認識処理は、例えば、公知のパターンマッチング等の手法により、文字切出処理によって切り出された文字領域に含まれる文字が、如何なる文字であるかを認識する処理である。ここで、画像処理部111によって実行される画像処理の具体的な処理の手順及び内容について、図4~図6を参照して以下に説明する。図4は、図3に示す画像処理部111の動作の一例を示すフローチャートである。なお、以下の処理はすべて、画像処理部111によって実行される。また、図4は、図7に示すフローチャートのステップS201において実行される画像処理の一例を示す詳細フローチャートでもある。まず、ステップS101において、画像メモリ14に格納された濃淡画像情報が取得される。そして、ステップS103において、ステップS101で取得された濃淡画像に対して、コントラスト調整処理、画像回転処理、膨張収縮処理等の前処理が施される。次いで、ステップS105において、ステップS103で前処理が施された画像に対して2値化処理が施され、二値画像が生成される。次にステップS107において、ステップS105で生成された二値画像に対して、垂直投影処理及び水平投影処理が施され、垂直投影グラフ及び水平投影グラフが生成される。そして、生成された垂直投影グラフ及び水平投影グラフに対して、それぞれ、予めパラメータ記憶部121に記憶されている垂直閾値及び水平閾値による閾値処理が施されて、各文字の文字幅及び文字列の高さが求められる。次いで、ステップS109において、ステップS107で求められた、各文字の文字幅及び文字列の高さに基づいて、二値画像から各文字画像が切り出される。次に、ステップS111において、ステップS109で切り出された文字画像ごとに、文字認識処理が行われ、処理が図7に示すフローチャートのステップS203へリターンされる。-膨張収縮処理の内容-ここで、膨張収縮処理の内容について説明する。図5は、図4に示すフローチャートのステップS103で実行される膨張収縮処理の一例を示す説明図である。図5aは、膨張処理を説明する図であり、図5bは、収縮処理を説明する図である。図5a、図5bの上側の図が、膨張収縮処理を施す前の状態を示す図であり、図5a、図5bの下側の図が、膨張収縮処理を施した後の状態を示す図である。各図は、それぞれ、画素Q5の周囲に画素Q1~画素Q4、及び、画素Q6~画素Q9が、格子状に配列されている状態を示している。そして、画素Q1~画素Q9に施した網掛けの密度で、それぞれ、画素Q1~画素Q9の階調を表している。ここでは、便宜上、画素Q1~画素Q9に4段階の階調が画像情報として付与されている場合について説明する。ここでは、4段階の階調をそれぞれ、階調A、階調B、階調C、階調Dとし、輝度は、次の1式で示す関係にあるものとする。階調A>階調B>階調C>階調D1図5aに示すように、膨張処理を施す前は、画素Q3、Q5、Q8の画素値が、階調Aここでは、白色であって、画素Q4の画素値が、階調B薄いグレーであって、画素Q1、Q2、Q6の画素値が、階調Cここでは、少し濃いグレーであって、画素Q7、Q9が、階調Dここでは、濃いグレーである。そして、ここでは、画素Q5を注目画素膨張収縮処理が施される対象の画素として選択する場合について説明する。本実施形態においては、注目画素ここでは、画素Q5の画素値が、注目画素の周囲に隣接する8画素ここでは、画素Q1~画素Q4、及び、画素Q6~画素Q9の画素値ここでは、階調A,B,C,Dの中から最も小さい輝度が低い画素値ここでは、階調Dに置換される。すなわち、図5aの階調Aの画素Q5に対して膨張処理を施すと、画素Q5の画素値は、図5aの下側の図に示すように、階調Dに変更されることになる。また、図5bに示すように、収縮処理を施す前は、画素Q7、Q8、Q9の画素値が、階調Aここでは、白色であって、画素Q4、Q5の画素値が、階調B薄いグレーであって、画素Q1、Q2、Q6の画素値が、階調Cここでは、少し濃いグレーであって、画素Q3が、階調Dここでは、濃いグレーである。そして、ここでは、画素Q5を注目画素膨張収縮処理が施される対象の画素として選択する場合について説明する。本実施形態においては、注目画素ここでは、画素Q5の画素値が、注目画素の周囲に隣接する8画素ここでは、画素Q1~画素Q4、及び、画素Q6~画素Q9の画素値ここでは、階調A,B,C,Dの中から最も大きい輝度が高い画素値ここでは、階調Aに置換される。すなわち、図5aの階調Bの画素Q5に対して収縮処理を施すと、画素Q5の画素値は、図5bの下側の図に示すように、階調Aに変更されることになる。-画像処理の内容-次に、図6を参照して、画像処理部111によって実行される画像処理の具体的な処理の内容について説明する。図6は、図3に示す画像処理部111によって実行される画像処理の一例を説明する説明図である。図6aは、図4に示すフローチャートのステップS101において画像メモリ14から取得された濃淡画像700の一例を示す図である。図6bは、図4に示すフローチャートのステップS103及びステップS105において、図6aに対して、コントラスト調整処理等の前処理と、2値化処理とが施された後の、二値画像710の一例を示す図である。図6aに示す濃淡画像700には、文字701、702、703からなる文字列ABCが含まれており、背景704が薄いグレーであることを斜線を施して示している。このような濃淡画像700に対して、前処理でのコントラスト調整処理と、2値化処理とが施されることによって、図6bで示すように、背景714が白色となっている。なお、濃淡画像700に含まれる文字701、702、703が濃いグレーである場合にも、前処理でのコントラスト調整処理と、2値化処理とが施されることによって、二値画像710に含まれる文字711、712、713は、黒色の文字に変換される。次に、図6cを参照して、投影処理及び文字切出処理について説明する。まず、投影処理について説明する。投影処理は、垂直投影処理と水平投影処理とから構成されている。まず、垂直投影処理は、二値画像720二値画像710と同一の画像であるにおいて、水平方向図の左右方向の位置が同じ黒画素の個数を垂直方向図の上下方向に積算して、積算値の水平方向図の左右方向の変化を示すグラフ以下、垂直投影グラフともいうGxを生成する処理である。また、水平投影処理は、垂直方向図の上下方向の位置が同じ黒画素の個数を水平方向図の左右方向に積算して、積算値の垂直方向図の上下方向の変化を示すグラフ以下、水平投影グラフともいうGyを生成する処理である。ここで、投影処理において、積算される黒画素とは、2値化処理によって黒色であるとされた画素を意味しており、ここでは、文字721、722、723を構成する画素である。次いで、文字切出処理について説明する。文字切出処理は、まず、投影処理水平投影処理によって生成された水平投影グラフGyに対して、パラメータ記憶部121に予め記憶されている水平投影閾値Tyに基づいて閾値処理を施し、文字列の垂直方向y軸方向の下限座標YL及び上限座標YHを求め、下限座標YLから上限座標YHまでの領域として文字領域の高さ範囲hを求める。すなわち、水平投影グラフGyにおいて、積算値が水平投影閾値Ty以上である領域を文字領域の高さ範囲hとして求める。また、投影処理垂直投影処理によって生成された垂直投影グラフGxに対して、パラメータ記憶部121に予め記憶されている垂直投影閾値Txに基づいて閾値処理を施し、文字列を構成する文字ごとに、水平方向x軸方向の下限座標XL1、XL2、XL3及び上限座標XH1、XH2、XH3を求め、下限座標XL1から上限座標XH1までの領域として幅範囲b1を求め、下限座標XL2から上限座標XH2までの領域として幅範囲b2を求め、下限座標XL3から上限座標XH3までの領域として幅範囲b3を求める。すなわち、垂直投影グラフGxにおいて、積算値が垂直投影閾値Tx以上である領域を文字領域の幅範囲b1、b2、b3として求める。そして、幅範囲b1と高さ範囲hで規定される領域を文字領域721aとして切り出し、幅範囲b2と高さ範囲hで規定される領域を文字領域722aとして切り出し、幅範囲b3と高さ範囲hで規定される領域を文字領域723aとして切り出す。このようにして、文字領域721a、文字領域722a、及び、文字領域723aを切り出すことができる。再び図3に戻って、CPU11等の機能構成について説明する。パラメータ記憶部121は、画像処理部111によって実行される画像処理を規定する複数のパラメータの設定値を予め記憶している機能部である。また、パラメータ記憶部121に記憶されている複数のパラメータのうち、原因推定部116によって推定された文字認識の失敗原因に対応するパラメータの設定値が、処理修正部117によって修正される書き換えられる。また、パラメータ記憶部121に設定値が記憶されているパラメータとしては、例えば、回転処理における回転方向及び回転角を規定するパラメータ、2値化処理における基準値閾値を示すパラメータ、膨張収縮処理における処理の回数膨張処理回数又は、収縮処理回数を規定するパラメータ、及び、文字切出処理における水平投影閾値Ty及び垂直投影閾値Txをそれぞれ規定するパラメータが含まれる。成否受付部112成否受付手段は、画像処理部111によって実行された画像処理の結果として、画像メモリ14から取得された濃淡画像700に含まれる文字列を構成する少なくとも1つの文字の認識が失敗したとのオペレータの判定結果を示す操作入力を、入力装置4を介して受け付ける機能部である。具体的には、例えば、入力装置4のキーボードに含まれる特定のキー例えば、Nキーが押下された場合に、成否受付部112は、少なくとも1つの文字の認識が失敗したとのオペレータの判定結果を示す操作入力を受け付ける形態でもよい。また、例えば、モニタ3にOKボタンとNGボタンとを表示し、NGボタン上にカーソルが位置する状態で入力装置4のマウスがクリックされた場合に、成否受付部112は、少なくとも1つの文字の認識が失敗したとのオペレータの判定結果を示す操作入力を受け付ける形態でもよい。成否判定部113成否判定手段は、濃淡画像700に含まれる文字列を構成する少なくとも1つの文字の認識が失敗したか否かを判定する機能部である。具体的には、成否判定部113は、成否受付部112によって受け付けられた操作入力に基づいて、文字列を構成する少なくとも1つの文字の認識が失敗したか否かを判定するものである。このようにして、成否受付部112によって、外部からここでは、オペレータによって文字列を構成する文字の認識が成功したか否かの判定結果を示す操作入力が受け付けられ、受け付けられた操作入力に基づいて、成否判定部113によって、文字列を構成する少なくとも1つの文字の認識が失敗したか否かが判定されるため、文字列を構成する少なくとも1つの文字の認識が失敗したか否かの判定を簡素な構成で正確に行うことができる。本実施形態では、成否受付部112が、オペレータの判定結果を示す操作入力を受け付ける場合について説明するが、成否受付部112が、オペレータの判定結果を示す操作入力に換えて、文字認識が失敗したか否かを判定する装置この装置を、便宜上、認識判定装置というから文字認識が失敗したことを示す情報を受け付ける形態でもよい。なお、認識判定装置は、例えば、図4に示すフローチャートのステップS111において、ステップS109で切り出された文字画像に対する文字認識処理が失敗した例えば、対応する文字が見つからない場合に、文字認識が失敗したと判定する形態でもよい。この場合には、認識判定装置を、機能部としてCPU11内に構成することが可能となる。原因評価部114は、成否判定部113によって濃淡画像700に含まれる文字列を構成する少なくとも1つの文字の認識が失敗したと判定された場合に、予め設定された複数の原因例えば、10個の原因ごとに、文字の認識が失敗する可能性の高さを定量的に示す失敗確率Pii=1~N:Nは失敗原因の個数であって、ここでは10個であるとして評価する機能部である。なお、原因評価部114による失敗確率Piの算出方法の具体例については、図9~図20を参照して後述する。本実施形態では、原因評価部114が失敗確率Piを求める場合について説明するが、原因評価部114は、文字の認識が失敗する可能性の高さを定量的に示すものであればよい。例えば、原因評価部114が、文字の認識が失敗する可能性の高さを示す複数の段階例えば、8段階のうち、どの段階に相当するかを示す形態でもよい。結果表示部115結果表示手段は、複数の原因ここでは、10個の原因のうち、原因評価部114によって失敗確率Pii=1~N:ここでは、N=10が高いと評価された順に、予め設定された2以上の所定個数ここでは、3個の原因を示す文字又は画像を、モニタ3に表示させる機能部である。具体的には、結果表示部115は、モニタ3に結果表示画面800図8a参照を表示する。結果表示画面800については、図8を参照して後述する。原因推定部116原因推定手段は、成否判定部113によって文字列を構成する少なくとも1つの文字の認識が失敗したと判定された場合に、文字の認識が失敗した原因を推定する機能部である。具体的には、原因推定部116は、原因評価部114によって評価された失敗確率Pii=1~N:ここでは、N=10に基づいて、文字の認識が失敗した原因を推定する。更に具体的には、原因推定部116は、結果表示部115によってモニタ3の結果表示画面800図8a参照に表示された2以上の所定個数ここでは、3個の原因の中から、文字の認識が失敗した原因を1つだけ選択するオペレータによる選択入力を、入力装置4を介して受け付けて、選択された原因を文字の認識が失敗した原因であると推定する。選択入力の具体的な入力方法については、図8を参照して後述する。このようにして、原因評価部114によって失敗確率Pii=1~N:ここでは、N=10が高いと評価されて、結果表示部115によってモニタ3に表示された2以上の所定個数ここでは、3個の原因の中から、原因推定部116によって、文字の認識が失敗した原因を1つだけ選択する選択入力が受け付けられ、選択された原因が、文字の認識が失敗した原因であると推定されるため、文字の認識が失敗した原因を容易に推定することができる。本実施形態では、原因推定部116が、オペレータによる選択入力に基づいて文字の認識が失敗した原因を推定する場合について説明するが、原因推定部116が、原因評価部114によって評価された失敗確率Pii=1~N:N=10に基づいて、文字の認識が失敗した原因を推定する形態であればよい。例えば、原因推定部116が、失敗確率Piの最も高い原因を、文字の認識が失敗した原因であると推定する形態でもよい。この場合には、オペレータによる選択入力が不要となるため、利便性を向上することができる。また、例えば、原因推定部116が、最も高い失敗確率Piが予め設定された閾値例えば、60以上である場合に限って、失敗確率Piの最も高い原因を、文字の認識が失敗した原因であると推定し、最も高い失敗確率Piが予め設定された閾値例えば60未満である場合には、オペレータによる選択入力に基づいて文字の認識が失敗した原因を推定する形態でもよい。このようにして、文字列を構成する少なくとも1つの文字の認識が失敗したと判定された場合に、原因評価部114によって、予め設定された複数の原因ここでは、10個の原因ごとに、文字の認識が失敗する可能性の高さを定量的に示す失敗確率Pii=1~N:N=10が評価され、原因推定部116によって、評価された失敗確率Piに基づいて、文字の認識が失敗した原因が推定されるため、失敗確率Piを正確に評価することによって、文字の認識が失敗した原因を正確に推定することができる。すなわち、例えば、文字の認識が失敗した原因が文字の線幅である文字が太すぎる、又は、文字が細すぎると推定された場合には、予め設定された推奨線幅B0例えば、実験的に文字の認識率が最も高くなる線幅と、実際の文字の線幅の平均値平均線幅Bavと、の差である差分線幅ΔBの絶対値に重みW1を乗じて、失敗確率P1図10参照を評価することができる。このようにして、文字の認識が失敗する可能性の高さを定量的に示す失敗確率P1が評価されるため、文字の認識が失敗した原因を正確に推定することができるのである。また、例えば、文字の認識が失敗した原因が、文字列の回転であると推定された場合、文字の滲みにじみ又は擦れかすれであると推定された場合、文字のコントラストが低いことであると推定された場合にも、同様にして、失敗確率P2、P3、P4図14、図17、図20参照を評価することができるため、文字の認識が失敗した原因を正確に推定することができるのである。つまり、予め文字の認識が失敗する可能性のある原因ごとに、各原因に起因する失敗確率Piの値を求めるためのロジック手順、方法等を構築しておくことによって、各原因に対応する失敗確率Piを求めて比較することができる図7のステップS205、S207等、図10、図14、図17、図20参照ため、文字の認識が失敗した原因を正確に推定することができるのである。処理修正部117処理修正手段は、原因推定部116によって推定された原因に基づいて、画像処理部111によって実行される画像処理を規定する複数のパラメータすなわち、パラメータ記憶部121に格納された複数のパラメータのうち、前記推定された原因に対応する少なくとも1つのパラメータの値を修正する機能部である。なお、本実施形態では、画像処理部111によって実行される画像処理を規定する複数のパラメータの値は、パラメータ記憶部121に格納されているため、処理修正部117は、原因推定部116によって推定された原因に基づいて、前記推定された原因に対応する少なくとも1つのパラメータの値を修正して修正後の値に書き換えるものである。具体的には、処理修正部117は、原因推定部116によって前記文字の認識が失敗した原因であると推定された原因について、原因評価部114によって評価された失敗確率Piが大きい程、前記推定された原因に対応する少なくとも1つのパラメータの値を大幅に修正する。なお、処理修正部117によるパラメータの修正方法の具体例については、図9~図20を参照して後述する。このようにして、文字の認識が失敗した原因であると推定された原因について、評価された失敗確率Piが大きい程、推定された原因に対応する少なくとも1つのパラメータの値が大幅に修正されるため、画像処理を規定するパラメータを適正に調整することができる。-CPU11の動作-ここで、図7を参照して、CPU11の動作の一例について説明する。図7は、図3に示すCPU11の動作の一例を示すフローチャートである。まず、ステップS201において、画像処理部111によって、画像メモリ14に格納された濃淡画像情報から文字列を構成する各文字を認識する画像処理が実行される。なお、ステップS201において実行される画像処理については、図4に示す詳細フローチャートを参照して上述している。次に、ステップS203成否判定ステップにおいて、成否判定部113によって、成否受付部112により受け付けられた操作入力に基づいて、文字列を構成する少なくとも1つの文字の認識が失敗したか否かが判定される。ステップS203でYESの場合には、処理がステップS205に進められる。ステップS203でNOの場合には、処理がステップS221に進められる。ステップS221において、結果表示部115によって、モニタ3に文字認識が成功したことを示す画面図8bに示す結果表示画面810が表示される。そして、処理が終了される。ステップS205において、原因評価部114によって、複数の原因ここでは、10個の原因ごとに、文字の認識が失敗する可能性の高さを定量的に示す失敗確率Pii=1~N:N=10が求められる。なお、ステップS205において行われる失敗確率Piを求める処理を、以下の説明においては失敗確率算出処理という。なお、失敗原因が文字の線幅である場合の失敗確率算出処理この処理を、便宜上、失敗確率算出処理1というについては、図10を参照して後述する。また、失敗原因が文字列の回転である場合の失敗確率算出処理この処理を、便宜上、失敗確率算出処理2というについては、図14を参照して後述する。更に、失敗原因が文字の滲み擦れである場合の失敗確率算出処理この処理を、便宜上、失敗確率算出処理3というについては、図17を参照して後述する。加えて、失敗原因が低コントラストである場合の失敗確率算出処理この処理を、便宜上、失敗確率算出処理4というについては、図20を参照して後述する。次に、ステップS207において、結果表示部115によって、ステップS205で求められた失敗確率Pii=1~Nが高い順にソートされる。そして、ステップS209において、結果表示部115によって、失敗確率Piが高い順に3個の原因を示す文字がモニタ3に表示される図8参照。次いで、ステップS211原因推定ステップにおいて、原因推定部116によって、ステップS209で表示された3個の原因の中から1つの原因を選択する選択入力が受け付けられたか否かの判定が行われる。ステップS211でYESの場合には、処理がステップS213に進められる。ステップS211でNOの場合には、処理が待機状態とされる。ステップS213において、処理修正部117によって、ステップS211で選択された原因に対応するパラメータ値の修正を実行するか否かの操作入力が、入力装置4を介して受け付けられたか否かの判定が行われる。ステップS213でYESの場合には、処理がステップS217に進められる。ステップS213でNOの場合には、処理がステップS215に進められる。ステップS215において、処理修正部117によって、ステップS211での選択入力をキャンセルする操作入力が入力装置4を介して受け付けられたか否かの判定が行われる。ステップS215でYESの場合には、処理がステップS211に戻され、ステップS211以降の処理が繰り返し実行される。ステップS215でNOの場合には、処理がステップS213に戻され、ステップS213以降の処理が繰り返し実行される。ステップS217において、処理修正部117によって、ステップS211で選択された原因に対応するパラメータ値の修正が実行される。そして、ステップS219処理修正ステップにおいて、処理修正部117によって、パラメータ記憶部121に格納されたパラメータ値が、ステップS217で修正された値に書き換えられる。そして、処理がステップS201へリターンされ、ステップS201以降の処理が繰り返し実行される。このようにして、製品5の表面に形成された文字列を構成する少なくとも1つの文字の認識が失敗したか否かが判定され、少なくとも1つの文字の認識が失敗したと判定された場合に、予め設定された複数のここでは、10個の原因の中から、文字の認識が失敗した原因が推定され、推定された原因に基づいて、文字列を含む濃淡画像に対して施される画像処理を規定する、パラメータ記憶部121に記憶された複数のパラメータのうち、推定された原因に対応する少なくとも1つのパラメータの値が修正される書き換えられるため、画像処理を規定するパラメータを適正に調整することができる。すなわち、文字の認識が失敗する可能性のある原因ごとに、各原因に対応する少なくとも1つのパラメータの値を修正するためのロジックを予め構築しておくことによって、推定された原因に対応する少なくとも1つのパラメータの値を適正に修正する図12、図18参照ことができるため、画像処理を規定するパラメータを適正に調整することができるのである。ここで、図8を参照して、モニタ3に表示される画面の一例について説明する。図8は、図7に示すフローチャートのステップS209及びステップS221でそれぞれモニタ3に表示される結果表示画面800及び結果表示画面810の一例を示す画面図である。図8aは、パラメータの調整前にステップS209でモニタ3に表示される結果表示画面800の一例を示す画面図であって、図8bは、パラメータの調整後にステップS221でモニタ3に表示される結果表示画面810の一例を示す画面図である。結果表示画面800には、画面左上側に、画像表示部801が表示され、画像表示部801の下側に成否表示部802が表示され、画面右上側に、理由表示部803が表示され、理由表示部803の右側にスクロールバー804が表示され、理由表示部803内の左側にはポインタ807が表示されている。また、成否表示部802の下側には、実行ボタン805及びキャンセルボタン806が表示される。画像表示部801は、図4に示すフローチャートのステップS109において、二値画像から切り出される各文字画像以下、切り出し画像ともいうを表示するものである。ここでは、図9aに示す文字列ABCのうち、文字Aに擦れがあることに起因して、文字の認識が失敗する場合の切り出し画像が表示されている。成否表示部802は、図7に示すフローチャートのステップS203における文字認識の成否を表示するものであって、文字認識が失敗した場合には、図8aに示すようにNGと表示され、成功した場合には図8bに示すようにOKと表示される。理由表示部803は、失敗確率Piが高い順にソートされた失敗原因を文字情報として表示するものであって、ここでは、失敗確率Piが高い3つの失敗原因に対応する失敗原因ボタン803a、803b、803cを表示するものである。ここでは、失敗原因ボタン803aには、1.かすれにじみと表示され、最も失敗確率Piが高い失敗原因がかすれにじみであることが判る。また、失敗原因ボタン803bには、2.文字の線幅と表示され、2番目に失敗確率Piが高い失敗原因が文字の線幅であることが判る。更に、失敗原因ボタン803cには、3.低コントラストと表示され、3番目に失敗確率Piが高い失敗原因が低コントラストであることが判る。また、理由表示部803に表示された失敗原因ボタン803a、803b、803cは、選択ボタンとしても機能するものである。すなわち、例えば、図8aに示すように、失敗原因ボタン803aを押下することによって、失敗原因ボタン803aに表示されている失敗原因であるかすれにじみが、原因推定部116によって選択される。ここで、押下するとは、ポインタ807の先端をボタン例えば、失敗原因ボタン803aに位置させて、マウスをクリックすることを意味している。なお、この選択処理は、図7に示すフローチャートのステップS211において、原因推定部116によって実行される処理である。同様にして、ポインタ807とマウスクリックによって、失敗原因ボタン803b、803cにそれぞれ表示されている失敗原因を選択することも可能である。また、失敗原因ボタン803a、803b、803cは、原因推定部116によって選択されると、結果表示部115によって、その表示態様が変更される例えば、点滅状態とされたり、表示色が変更されたりする。スクロールバー804は、失敗確率Piが高い順にソートされ、理由表示部803に表示された失敗原因を上下方向にスクロールする操作を受け付けるものである。すなわち、スクロールバー804は、選択を所望する失敗原因が理由表示部803に表示されていない場合に、オペレータがスクロールバー804を用いて、失敗原因ボタンを上側にスクロールして、失敗確率Piが4番目以降の失敗原因に対応する失敗原因ボタンを表示させ、選択可能とするものである。実行ボタン805は、選択された失敗原因に対応するパラメータ値を修正する場合に押下されるボタンである。すなわち、理由表示部803に表示された失敗原因ボタン803a、803b、803cのいずれかが選択された後に、実行ボタン805がオペレータによって押下されると、選択された失敗原因に対応するパラメータ値を修正する書き換える処理が実行される。なお、この処理は、図7に示すフローチャートのステップS219において、処理修正部117によって実行される処理である。キャンセルボタン806は、選択状態をキャンセルし、選択前の状態とする場合に押下されるボタンである。すなわち、理由表示部803に表示された失敗原因ボタン803a、803b、803cのいずれかが選択された後に、オペレータによってキャンセルボタン806が押下されると、選択状態がキャンセルされ、選択前の状態とされる。結果表示画面810にも、結果表示画面800と同様に、画面左上側に、画像表示部811が表示され、画像表示部811の下側に成否表示部812が表示され、画面右上側に、理由表示部813が表示され、理由表示部813の右側にスクロールバー814が表示され、理由表示部813内の左側にはポインタ817が表示されている。また、成否表示部812の下側には、実行ボタン815及びキャンセルボタン816が表示される。ここでは、結果表示画面800と相違する点についてのみ説明する。画像表示部811には、文字の認識が成功する場合の切り出し画像が表示されている。また、成否表示部812には、文字の認識が成功したことを示すOKと表示される。なお、理由表示部813には、失敗原因ボタン803a、803b、803cが表示されているが押下することはできない。また、実行ボタン815及びキャンセルボタン816も表示されているが押下することはできない。このようにして、複数の原因のうち、失敗確率Piが高いと評価された順に、予め設定された2以上の所定個数ここでは、3個の原因を示す文字ここでは、失敗原因ボタン803a、803b、803cが、モニタ3に表示されるため、利便性を向上することができる。すなわち、例えば、オペレータが、モニタ3に表示された原因を示す文字ここでは、失敗原因ボタン803a、803b、803cを参照して、文字の認識が失敗した原因を推定することができるため、文字の認識が失敗した原因を容易に推定することができるので、利便性を向上することができるのである。本実施形態においては、失敗原因を示す文字ここでは、失敗原因ボタン803a、803b、803cを表示する場合について説明したが、失敗原因を示す文字に換えて又は、加えて失敗原因を示すアイコン等の画像を表示する形態でもよい。また、本実施形態においては、失敗確率Piが高いと評価された順に、失敗原因を示す文字ここでは、失敗原因ボタン803a、803b、803cを表示する場合について説明するが、失敗原因を示す文字に対応付けて失敗確率Piの値を示す文字又は画像を表示する形態でもよい。この場合には、例えば、オペレータが、モニタ3に表示された原因を示す文字又は画像と、失敗確率Piの値を示す文字又は画像とを参照して、文字の認識が失敗した原因を推定することができるため、文字の認識が失敗した原因を更に容易に推定することができるので、利便性を更に向上することができるのである。すなわち、失敗確率Piが高い程、対応する失敗原因が、文字の認識が失敗した原因であると推定してよいとの安心感が高まる。本実施形態では、理由表示部803に3つの失敗原因ボタン803a、803b、803cを選択可能に表示する場合について説明するが、理由表示部803に選択可能に表示する失敗原因ボタンの個数は、3つ以外の個数である形態でもよい。例えば、理由表示部803に2つの失敗原因ボタンを選択可能に表示する形態でも良いし、理由表示部803に4つ以上の個数の失敗原因ボタンを選択可能に表示する形態でも良い。理由表示部803に表示する失敗原因ボタンの個数が多い程、オペレータの選択範囲が広がるため、利便性を向上することができる。また、本実施形態では、理由表示部803に表示する失敗原因ボタンの個数が予め設定されている場合について説明するが、理由表示部803に表示する失敗原因ボタンの個数を失敗確率Piの値に基づいて決定する形態でもよい。例えば、失敗確率Piの値が予め設定された確率閾値例えば、30以上の失敗原因に対応する失敗原因ボタンを理由表示部803に表示する形態でもよい。この場合には、選択される可能性の高い失敗原因ボタンが理由表示部803に表示されるため、利便性を向上することができる。-失敗確率算出処理及びパラメータ値修正処理--失敗原因が文字の線幅である場合-以下に、原因評価部114によって実行される失敗確率算出処理、及び、処理修正部117によって実行されるパラメータ値修正処理の具体例について、図9~図20を参照して説明する。まず、図9~図12を参照して、失敗原因が文字の線幅である場合の失敗確率算出処理及びパラメータ値修正処理について説明する。図9は、文字の線幅が太すぎることに起因して文字認識が失敗するケースの一例を示す説明図である。図9aは、ABCとの文字列を構成するそれぞれの文字の線幅が太い場合の文字切出処理が失敗する状態を示す図である。図9bは、図9aに示す二値画像910又は、二値画像910に対応する濃淡画像に対して文字の線幅を細くする白膨張処理を施すことによって、文字列を適性な線幅とした二値画像900では適正に文字切出処理が行われる状態を示す図である。図9aには、線幅が太いABCとの文字列911、912、913を含む二値画像910と、それに対応する水平投影グラフGy1、垂直投影グラフGx1が記載されている。水平投影グラフGy1において、積算値が水平投影閾値Ty1以上である領域が文字領域の高さ範囲h1として求められる。また、垂直投影グラフGx1において、積算値が垂直投影閾値Tx1以上である領域が文字領域の幅範囲b11、b12として求められる。すなわち、図9aの二値画像910に示すように、線幅が太いために、Aの文字とBの文字とが重なってしまい、Aの文字とBの文字との境界において、垂直投影グラフGx1が垂直投影閾値Tx1以上となってしまうため、幅範囲b11にAの文字とBの文字とが含まれてしまう結果となっている。このため、文字領域911aとして、Aの文字とBの文字とを含む領域が設定され、これが切り出されるため、文字認識処理が失敗することになる。これに対して、図9bに示すよう文字の線幅を適性な線幅とすれば、Aの文字と、Bの文字との重なりが解消されるため、Aの文字に対応する文字領域901a、Bの文字に対応する文字領域902a、及び、Cの文字に対応する文字領域903aが適正に設定されて、文字認識処理が成功することになる。次に、図10、図11を参照して、失敗原因が文字の線幅の場合の失敗確率算出処理について説明する。図10は、図7に示すフローチャートのステップS205において、文字の線幅に起因した失敗確率P1を求める処理以下、失敗確率算出処理1ともいうの一例を示す詳細フローチャートである。図11は、図10のステップS301からステップS307において文字の線幅Bを求める方法の一例を示す説明図である。まず、図11を参照して、文字の線幅Bを求める方法について説明する。図11aは、ここでは、図9aに示す二値画像910から切り出されたCの文字に対応する文字領域912aの画像以下、文字画像ともいうである。まず、図11aに示す文字画像に対して、例えば、Sobelフィルタ空間1次微分を計算して、輪郭を抽出するフィルタをかけることによって、図11bに示す、輪郭線画像以下、エッジ画像ともいうを生成する。次に、輪郭線画像の輪郭線上の各画素に対する法線ベクトルVnを求める。図11bには、法線ベクトルVnを矢印で示している。そして、求められた法線ベクトルVnの中から、向きが180度異なる互いに対向する向きの法線ベクトルVnのペア対を求める。例えば、図11bでは、法線ベクトルVn1と法線ベクトルVn2とがペアとなり、法線ベクトルVn3と法線ベクトルVn4とがペアとして選定される。次いで、ペアに選定された2つの法線ベクトルの始点である画素間の距離を線幅B例えば、線幅B1、B2として求める。ここで、図10を参照して、文字の線幅Bに起因した失敗確率P1を求める手順を説明する。なお、以下の処理は、すべて原因評価部114によって実行される。また、以下の処理は図7に示すフローチャートのステップS205において実行される処理の一部である。まず、ステップS301において、文字画像図11a参照がエッジ画像図11b参照に変換される。そして、ステップS303において、文字の輪郭線に対する法線ベクトルVn図11b参照が求められる。次いで、ステップS305において、法線方向が180度異なる2つの法線ベクトルVnのペアが求められる。そして、ステップS307において、ステップS305でペアとして選定された2つの法線ベクトルの始点間距離が線幅Bとして求められる。次に、ステップS309において、ステップS307で求められた線幅Bの平均値である平均線幅Bavが求められる。そして、ステップS311において、ステップS309で求められた平均線幅Bavと、推奨線幅B0例えば、実験的に文字の認識率が最も高くなる線幅との差が、差分線幅ΔBとして次の2式により求められる。ΔB=Bav-B02次に、ステップS313において、差分線幅ΔBの絶対値に重みW1を乗じることによって、失敗確率P1が次の3式により求められ、処理がリターンされる。P1=W1×|ΔB|3ここで、重みW1は、実験等によって求められるものである。このようにして、文字の認識が失敗した原因が文字の線幅である文字が太すぎる、又は、文字が細すぎる場合に、予め設定された推奨線幅B0例えば、実験的に文字の認識率が最も高くなる線幅と、実際の文字の線幅の平均値平均線幅Bavと、の差である差分線幅ΔBの絶対値に重みW1を乗じて、失敗確率P1を評価することができる。このようにして、文字の認識が失敗する可能性の高さを定量的に示す失敗確率P1が評価されるため、文字の認識が失敗した原因を正確に推定することができるのである。本実施形態では、平均線幅Bavを求める対象の文字を規定していないすなわち、文字列に含まれる全ての文字の平均線幅Bavを求める形態でもよいが、平均線幅Bavを求める対象の文字を認識成功文字とする形態でもよい。この場合には、文字認識が成功した文字に対して平均線幅Bavが求められるため、適正な平均線幅Bavを求めることができる。次に、図12を参照して、失敗原因が文字の線幅の場合のパラメータ値修正処理について説明する。図12は、図7に示すフローチャートのステップS217において、選択された失敗原因が文字の線幅である場合にパラメータ値を修正する処理の一例を示す詳細フローチャートである。なお、以下の処理は、すべて処理修正部117によって実行される。また、以下の処理は、図7に示すフローチャートのステップS217において実行される処理の一部である。まず、ステップS351において、図10に示すフローチャートのステップS311で求められた差分線幅ΔBが正であるか否かの判定が行われる。ステップS351でYESの場合には、処理がステップS353に進められる。ステップS351でNOの場合には、処理がステップS357に進められる。ステップS353において、失敗原因が文字の線幅Bが太すぎることであると判定される。そして、ステップS355において、差分線幅ΔBの絶対値分だけ、白膨張処理する回数を増加する又は、黒膨張する回数を減少する設定に修正されパラメータが書き換えられ、処理がリターンされる。ステップS357において、失敗原因が文字の線幅Bが細すぎることであると判定される。そして、ステップS359において、差分線幅ΔBの絶対値分だけ、黒膨張処理する回数を増加する又は、白膨張する回数を減少する設定に修正されパラメータが書き換えられ、処理がリターンされる。このようにして、文字の認識が失敗した原因が文字の線幅Bである文字が太すぎる、又は、文字が細すぎることであると推定された場合には、予め設定された推奨線幅B0例えば、実験的に文字の認識率が最も高くなる線幅と、実際の文字の線幅の平均値平均線幅Bavと、の差である差分線幅ΔBの絶対値分だけ黒膨張処理又は白膨張処理を行う設定に修正すればよい。このようにして、推定された原因ここでは、文字の線幅Bに対応する少なくとも1つのパラメータの値が修正されるため、画像処理を規定するパラメータを適正に調整することができる。-失敗原因が文字列の回転である場合-次に、図13~図15を参照して、失敗原因が文字列の回転である場合の失敗確率算出処理及びパラメータ値修正処理について説明する。図13は、文字列の回転に起因して文字認識が失敗するケースの一例を示す説明図である。図13aは、ABCとの文字列が反時計回りに回転している場合の文字切出処理が失敗する状態を示す図である。図13bは、図13aに示す二値画像920又は、二値画像920に対応する濃淡画像に対して回転処理を施すことによって、文字列を水平に並んだ状態とした二値画像900では適正に文字切出処理が行われる状態を示す図である。図13aには、反時計回りに回転しているABCとの文字列921、922、923を含む二値画像920と、それに対応する水平投影グラフGy2、垂直投影グラフGx2が記載されている。水平投影グラフGy2において、積算値が水平投影閾値Ty2以上である領域が文字領域の高さ範囲h2として求められる。また、垂直投影グラフGx2において、積算値が垂直投影閾値Tx2以上である領域が文字領域の幅範囲b21、b22、b23として求められる。すなわち、図13aの二値画像920に示すように、文字列921、922、923が反時計回りに回転しているために、高さ範囲h2が文字の高さと比較して過大となってしまうと共に、A、B、Cにそれぞれ対応する文字921、922、923が反時計回りに回転しているため、切り出された文字領域921a、922a、923aの文字認識処理が失敗することになる。これに対して、図13bに示すよう文字列が水平に並んだ状態とすれば、高さ範囲h0が文字の高さと概ね同じ値となり、且つ、A、B、Cにそれぞれ対応する文字921、922、923の回転が修正されるため、Aの文字に対応する文字領域901a、Bの文字に対応する文字領域902a、及び、Cの文字に対応する文字領域903aが適正に設定されて、文字認識処理が成功することになる。次に、図14、図15を参照して、失敗原因が文字列の回転である場合の失敗確率算出処理について説明する。図14は、図7に示すフローチャートのステップS205において、文字列の回転に起因した失敗確率を求める処理以下、失敗確率算出処理2ともいうの一例を示す詳細フローチャートである。図15は、画像回転処理における回転角の修正値を求める方法の一例を示す説明図である。まず、図15を参照して、画像回転処理における回転角の修正量Δθを求める方法の一例について説明する。まず、各文字領域921a、922a、923aに含まれる黒画素の平均座標が求められる。例えば、文字領域921aに含まれる黒画素の座標をXi、Yiここで、i=1、2、、M:Mは、文字領域921aに含まれる黒画素の総数とおくと、黒画素の平均座標Xav,Yavは、次の3式、4式で求められる。Xav=X1X2XM/M3Yav=Y1Y2YM/M4そして、各文字領域921a、922a、923aに含まれる黒画素の平均座標に対応する点PO1、PO2、PO3を求め、点PO1、PO2、PO3の近似直線LGを最小二乗法等により求める。近似直線LGの水平方向に対してなす角Δθが画像回転処理における回転角の修正量Δθである。次に、図14を参照して、文字列の回転に起因した失敗確率P2を求める手順を説明する。なお、以下の処理は、すべて原因評価部114によって実行される。また、以下の処理は、図7に示すフローチャートのステップS205において実行される処理の一部である。まず、ステップS401において、各文字の切り出し領域図15では、文字領域921a、922a、923aに含まれる黒画素の平均座標が求められる。そして、ステップS403において、ステップS401で求められた黒画素の平均座標に対応する点図15では、点PO1、PO2、PO3の近似直線図15では、近似直線LGが最小二乗法により求められる。次いで、ステップS405において、ステップS403で求められた近似直線の水平方向に対してなす角Δθが、画像回転処理における回転角の修正量Δθとして求められる。そして、ステップS407において、失敗確率P2が、次の5式により求められ、処理がリターンされる。P2=W2×|Δθ|5ここで、重みW2は、実験等によって求められるものである。このようにして、文字の認識が失敗した原因が文字列の回転である場合に、各文字の切り出し領域921a、922a、923aに含まれる黒画素の平均座標に対応する点PO1、PO2、PO3の近似直線LGの水平方向に対してなす角Δθ修正量Δθの絶対値に重みW2を乗じて、失敗確率P2を評価することができる。このようにして、文字の認識が失敗する可能性の高さを定量的に示す失敗確率P2が評価されるため、文字の認識が失敗した原因を正確に推定することができるのである。次に、失敗原因が文字列の回転である場合に、パラメータ値を修正する処理の一例について説明する。上述のようにして、画像回転処理における回転角の修正量Δθが求められるため、現在の画像回転処理において設定された回転角θ0を回転角θ0Δθとする設定に修正すればよい。このようにして、文字の認識が失敗した原因が文字列の回転であると推定された場合には、画像回転処理において設定された回転角θ0を回転角θ0Δθとする設定に修正すればよい。このようにして、推定された原因ここでは、文字列の回転に対応する少なくとも1つのパラメータの値が修正されるため、画像処理を規定するパラメータを適正に調整することができる。-失敗原因が文字の滲み擦れである場合-また、図16~図18を参照して、失敗原因が文字の滲み擦れである場合の失敗確率算出処理及びパラメータ値修正処理について説明する。図16は、文字の擦れに起因して文字認識が失敗するケースの一例を示す説明図である。図16aは、ABCとの文字列を構成する文字のうち、Aの文字の一部ここでは、左側が擦れている場合の文字切出処理が失敗する状態を示す図である。図16bは、図16aに示す二値画像930に対応する濃淡画像に対して2値化閾値を修正するここでは、2値化閾値を下げる処理を施すことによって擦れを除去した二値画像900では適正に文字切出処理が行われる状態を示す図である。図16aには、ABCとの文字列931、932、933を含む二値画像930と、それに対応する水平投影グラフGy3、垂直投影グラフGx3が記載されている。ここで、ABCとの文字列931、932、933に含まれるAの文字931は、その一部ここでは、左側が擦れている。図16aでは、Aの文字931の一部ここでは、左側が擦れていることを、Aの文字内における縦線の太さが次第に細くなることで示している。水平投影グラフGy3において、積算値が水平投影閾値Ty3以上である領域が文字領域の高さ範囲h3として求められる。また、垂直投影グラフGx3において、積算値が垂直投影閾値Tx3以上である領域が文字領域の幅範囲b31、b32、b33として求められる。すなわち、図16aの二値画像930に示すように、Aの文字931の一部が擦れているために、Aの文字のうち、擦れが発生している左側の領域において、垂直投影グラフGx3が垂直投影閾値Tx3未満となってしまうため、切り出される文字領域931aの幅範囲b31がAの文字の幅より狭くなってしまう結果となっている。すなわち、文字領域931aとして、擦れが発生していない右側の領域が設定され、これが切り出されるため、文字認識処理が失敗することになる。これに対して、図16bに示すよう2値化閾値を適性な値とすれば、Aの文字の擦れが2値化処理において修正されるため、Aの文字に対応する文字領域901a、Bの文字に対応する文字領域902a、及び、Cの文字に対応する文字領域903aが適正に設定されて、文字認識処理が成功することになる。次に、図17を参照して、失敗原因が文字の滲み擦れであるの場合の失敗確率算出処理について説明する。図17は、図7に示すフローチャートのステップS205において、文字の滲み擦れに起因した失敗確率P3を求める処理以下、失敗確率算出処理3ともいうの一例を示す詳細フローチャートである。ここで、図17を参照して、文字の文字の滲み擦れに起因した失敗確率P3を求める手順を説明する。なお、以下の処理は、すべて原因評価部114によって実行される。また、以下の処理は、図7に示すフローチャートのステップS205において実行される処理の一部である。まず、ステップS501において、文字の認識が失敗した文字ここでは、文字Aについて、文字画像図11a参照がエッジ画像図11b参照に変換される。そして、ステップS503において、文字の輪郭線に対する法線ベクトルVn図11b参照が求められる。次いで、ステップS505において、法線方向が180度異なる2つの法線ベクトルVnのペア対が求められる。そして、ステップS507において、ステップS505でペアに選定された2つの法線ベクトルの始点間距離が線幅Bとして求められる。次に、ステップS509において、ステップS507で求められた線幅Bの標準偏差σが求められる。そして、ステップS511において、失敗確率P3が、次の6式により求められ、処理がリターンされる。P2=W3×σ6ここで、重みW3は、実験等によって求められるものである。このようにして、文字の認識が失敗した原因が文字の滲み擦れである場合に、文字の線幅Bの標準偏差σに重みW3を乗じて、失敗確率P3を評価することができる。このようにして、文字の認識が失敗する可能性の高さを定量的に示す失敗確率P3が評価されるため、文字の認識が失敗した原因を正確に推定することができるのである。次に、図18を参照して、失敗原因が文字の滲み擦れである場合のパラメータ値修正処理について説明する。図18は、図7に示すフローチャートのステップS215において、選択された失敗原因が文字の擦れ又は、滲みである場合にパラメータ値を修正する処理内容の一例を示す説明図である。なお、以下の処理は、すべて処理修正部117によって実行される。また、以下の処理は、図7に示すフローチャートのステップS217において実行される処理の一部である。まず、ステップS551において、文字認識が成功した文字ここでは、文字Bと文字Cの線幅の平均値B0が求められる。次に、ステップS553において、文字認識が失敗した文字ここでは、文字Aの線幅の平均値B1が求められる。そして、ステップS555において、平均値B0が平均値B1未満であるか否かの判定が行われる。ステップS555でYESの場合には、処理がステップS557へ進められる。ステップS555でNOの場合には、処理がステップS561へ進められる。ステップS557において、文字認識が失敗した原因は滲みであると判定される。そして、ステップS559において、2値化閾値の設定値TH0が次の7式によって求められる設定値TH1に修正されパラメータが書き換えられ、処理がリターンされる。TH1=TH0×1|B1-B0|/107ステップS561において、文字認識が失敗した原因は擦れであると判定される。そして、ステップS563において、2値化閾値の設定値TH0が次の8式によって求められる設定値TH2に修正されパラメータが書き換えられ、処理がリターンされる。TH2=TH0×1-|B1-B0|/108このようにして、文字の認識が失敗した原因が文字の擦れ又は滲みであると推定された場合には、予め設定された2値化閾値の設定値TH0を、設定値TH1又は、設定値TH2に修正すればよい。このようにして、推定された原因ここでは、文字の擦れ、又は、滲みに対応する少なくとも1つのパラメータの値が修正されるため、画像処理を規定するパラメータを適正に調整することができる。-失敗原因が低コントラストである場合-また、図19、図20を参照して、失敗原因が低コントラストである場合の失敗確率算出処理及びパラメータ値修正処理について説明する。図19は、低コントラストに起因して文字認識が失敗するケースの一例を示す説明図である。図19aは、ABCとの文字列を構成する文字のうち、A、B、Cの各文字が低コントラストである場合に文字切出処理が失敗する状態を示す図である。図19bは、図19aに示す二値画像940に対応する濃淡画像に対して各画素のコントラストを調整するここでは、コントラストを上げる処理を施した二値画像900では適正に文字切出処理が行われる状態を示す図である。図19aには、ABCとの文字列941、942、943を含む二値画像940と、それに対応する水平投影グラフGy4、垂直投影グラフGx4が記載されている。ここで、ABCとの文字列941、942、943に含まれるA、B、Cの文字941、942、943は、その背景に対するコントラストが低い。図19aでは、コントラストが低いことを、A、B、Cの文字941、942、943に斜線を施すことで示している。水平投影グラフGy4において、積算値が水平投影閾値Ty4以上である領域が文字領域の高さ範囲h4として求められる。また、垂直投影グラフGx4において、積算値が垂直投影閾値Tx4以上である領域が文字領域の幅範囲b41、b42、b43として求められる。すなわち、図19aの二値画像940に示すように、A、B、Cの文字941、942、943は、その背景に対するコントラストが低いために、Aの文字のうち、両側の領域において、垂直投影グラフGx4が垂直投影閾値Tx4未満となってしまうため、切り出される文字領域941aの幅範囲b41がAの文字の幅より狭くなってしまう結果となっている。したがって、文字領域941aとして、中央部の領域が設定され、これが切り出されるため、文字認識処理が失敗することになる。これに対して、図19bに示すようコントラスト調整を適性に行うと、濃淡画像のコントラストが適正な値に調整されるため、Aの文字に対応する文字領域901a、Bの文字に対応する文字領域902a、及び、Cの文字に対応する文字領域903aが適正に設定されて、文字認識処理が成功することになる。次に、図20を参照して、失敗原因が低コントラストであるの場合の失敗確率算出処理について説明する。図20は、図7に示すフローチャートのステップS205において、コントラストが低いことに起因した失敗確率を求める処理以下、失敗確率算出処理4ともいうの一例を示す詳細フローチャートである。ここで、図20を参照して、コントラストが低いことに起因した失敗確率P4を求める手順を説明する。なお、以下の処理は、すべて原因評価部114によって実行される。また、以下の処理は、図7に示すフローチャートのステップS205において実行される処理の一部である。まず、ステップS601において、濃淡画像の画像領域内における画素値の最大値Imax及び最小値Iminが求められる。そして、ステップS603において、次の9式によって、コントラストCが求められる。C=Imax-Imin/ImaxImin9次いで、ステップS605において、次の10式によって、失敗確率P4が、求められ、処理がリターンされる。P4=W4×C10ここで、重みW4は、実験等によって求められるものである。このようにして、文字の認識が失敗した原因が低コントラストである場合に、濃淡画像のコントラストCに重みW4を乗じて、失敗確率P4を評価することができる。このようにして、文字の認識が失敗する可能性の高さを定量的に示す失敗確率P4が評価されるため、文字の認識が失敗した原因を正確に推定することができるのである。次に、失敗原因が低コントラストである場合のパラメータ値修正処理について説明する。濃淡画像の各画素の画素値Iを次の11式によって求められる画素値I’にコントラスト調整するように、コントラスト調整を規定するパラメータの値を修正する。I’=I-Imin×255/Imax-Imin11このようにして、文字の認識が失敗した原因が低コントラストであると推定された場合には、濃淡画像の各画素の画素値Iを、上記11式で規定する画素値I’に修正すればよい。このようにして、推定された原因ここでは、低コントラストに対応する少なくとも1つのパラメータの値が修正されるため、画像処理を規定するパラメータを適正に調整することができる。-他の実施形態-本実施形態では、画像処理装置100を構成する画像処理部111、成否受付部112、成否判定部113、原因評価部114、結果表示部115、原因推定部116、及び、処理修正部117がすべてCPU11において機能部として実現されている場合について説明したが、画像処理部111、成否受付部112、成否判定部113、原因評価部114、結果表示部115、原因推定部116、及び、処理修正部117の少なくとも1つが電子回路等のハードウェアで構成されている形態でもよい。本実施形態では、失敗確率算出処理及びパラメータ値修正処理については、便宜上、文字の認識が失敗した原因が、文字の線幅、文字列の回転、文字の擦れ滲み、及び、低コントラストである場合について、具体的な説明を行っているが、文字の認識が失敗した原因が、その他の原因例えば、文字のサイズ小さすぎる、大きすぎる等であってもよい。"