(57)【要約】【課題】文字の汚れや、変形、光の影響で使用期限を表す日付の文字の誤認識を防止し、高い精度で日付を表す文字列を認識する。【解決手段】文字列を光学的に認識する光学文字認識装置において、光学文字認識装置は、入力画像から、認識対象のオブジェクトを含む目標領域を抽出する第１の処理手段と、目標領域に含まれるオブジェクトから、少なくとも１つの文字列候補のオブジェクトを含む候補オブジェクトを抽出する第２の処理手段と、文字列候補を選択し、フォーマット設定付きワードＯＣＲを行い、スコアが所定の閾値以上であるときに文字列候補を日付として認識する第３の処理手段とを備える。【選択図】図８
2017173925.tif 000002
【特許請求の範囲】
【請求項１】
文字列を光学的に認識する光学文字認識装置において、前記光学文字認識装置は、
入力画像から、認識対象のオブジェクトを含む目標領域を抽出する第１の処理手段と、
前記目標領域に含まれるオブジェクトから、少なくとも１つの文字列候補のオブジェクトを含む候補オブジェクトを抽出する第２の処理手段と、
前記文字列候補を選択し、フォーマット設定付きワードＯＣＲを行い、スコアが所定の閾値以上であるときに前記文字列候補を日付として認識する第３の処理手段とを備えたことを特徴とする光学文字認識装置。
【請求項２】
前記第３の処理手段は、前記候補オブジェクトの特徴量と中心座標により前記候補オブジェクトをグルーピングし、グルーピングした前記候補オブジェクトを連結して前記文字列候補として抽出することを特徴とする請求項１に記載の光学文字認識装置。
【請求項３】
前記第３の処理手段は、前記候補オブジェクトの高さを特徴量とし、前記候補オブジェクトの中心行座標と高さにより前記候補オブジェクトをグルーピングすることを特徴とする請求項２に記載の光学文字認識装置。
【請求項４】
前記第３の処理手段は、前記候補オブジェクトの幅を特徴量とし、前記候補オブジェクトの中心列座標と幅により前記候補オブジェクトをグルーピングすることを特徴とする請求項２に記載の光学文字認識装置。
【請求項５】
前記第３の処理手段は、認識した日付に「６」を含み、かつ、前記フォーマット設定付きワードＯＣＲの出力の信頼度が所定の閾値範囲であるとき、前記「６」を含む文字領域を細線化及び膨張処理してシングルＯＣＲを行い、スコアのトップ１が「５」であれば、「６」を「５」と入れ替え、「６」の信頼度を「５」の信頼度と入れ替えることを特徴とする請求項１に記載の光学文字認識装置。
【請求項６】
前記第３の処理手段は、認識した日付に「７」を含み、かつ、前記フォーマット設定付きワードＯＣＲの出力の信頼度が所定の閾値範囲であるとき、前記「７」を含む文字領域を膨張処理してシングルＯＣＲを行い、スコアのトップ１が「１」であれば、「７」を「１」と入れ替え、「７」の信頼度を「１」の信頼度と入れ替えることを特徴とする請求項１に記載の光学文字認識装置。
【請求項７】
前記第３の処理手段は、前記フォーマット設定付きワードＯＣＲの出力の信頼度の最小値と平均値を求め、前記信頼度の最小値が所定の閾値以上であり、かつ前記信頼度の平均値が所定の閾値以上であるとき、前記フォーマット設定付きワードＯＣＲの出力を日付と認識することを特徴とする請求項１から６のいずれかに記載の光学文字認識装置。
【請求項８】
前記第３の処理手段は、前記文字列候補の２桁の月数に相当する候補オブジェクトの間隔と、前記２桁の月数に相当する候補オブジェクトと以外の候補オブジェクトの間隔の平均間隔を求め、前記間隔が前記平均間隔より大きいとき、月数の１桁目の前記候補オブジェクトを無視し、２桁目の前記候補オブジェクトを月数として認識し、前記間隔が前記平均間隔以下であるとき、２桁の候補オブジェクトを月数として認識することを特徴とする請求項１から７のいずれかに記載の光学文字認識装置。
【請求項９】
前記光学文字認識装置は、
カメラと、
証明装置と、
前記円筒形状の容器の回転軸の周りに回転可能であるように前記容器を保持する認識台と、
前記容器には、前記容器中の容器の使用期限の日付を表す文字列が印字されていることを特徴とする請求項１から８のいずれか１つに記載の光学文字認識装置。
【請求項１０】
文字列を光学的に認識する光学文字認識方法において、前記光学文字認識方法は、
入力画像から、認識対象のオブジェクトを含む目標領域を抽出する第１のステップと、
前記目標領域に含まれるオブジェクトから、少なくとも１つの文字列候補のオブジェクトを含む候補オブジェクトを抽出する第２のステップと、
前記文字列候補を選択し、フォーマット設定付きワードＯＣＲを行い、スコアが所定の閾値以上であるときに前記文字列候補を日付として認識する第３のステップとを備えたことを特徴とする光学文字認識方法。
【請求項１１】
コンピュータによって実行されたときに文字列を光学的に認識するコンピュータプログラムにおいて、前記コンピュータプログラムは、
入力画像から、認識対象のオブジェクトを含む目標領域を抽出する第１のステップと、
前記目標領域に含まれるオブジェクトから、少なくとも１つの文字列候補のオブジェクトを含む候補オブジェクトを抽出する第２のステップと、
前記文字列候補を選択し、フォーマット設定付きワードＯＣＲを行い、スコアが所定の閾値以上であるときに前記文字列候補を日付として認識する第３のステップとを備えたことを特徴とするコンピュータプログラム。
【請求項１２】
コンピュータによって実行されたときに文字列を光学的に認識するコンピュータプログラムを格納したコンピュータにより読み取り可能な記録媒体において、前記コンピュータプログラムは、
入力画像から、認識対象のオブジェクトを含む目標領域を抽出する第１のステップと、
前記目標領域に含まれるオブジェクトから、少なくとも１つの文字列候補のオブジェクトを含む候補オブジェクトを抽出する第２のステップと、
前記文字列候補を選択し、フォーマット設定付きワードＯＣＲを行い、スコアが所定の閾値以上であるときに前記文字列候補を日付として認識する第３のステップを備えたことを特徴とする記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文字列を光学的に認識する光学文字認識装置に関し、特に、日付を表す文字列を認識する光学文字認識装置に関する。本発明はまた、日付を表す文字列を認識するための光学文字認識方法、コンピュータプログラム、及び記録媒体に関する。
【背景技術】
【０００２】
薬品の容器に印字されている文字を光学的に認識する装置に対する需要が存在している（特許文献１を参照）。例えば、病棟にいったん運ばれ、結果的に使用されなかった注射薬などの容器を保管庫に返却する場合、その容器を次回の使用時に迅速かつ間違いなく取り出せるように、容器の種類、名称、及び使用期限などに基づいて仕分けをして保管する必要がある。光学文字認識装置を用いて、この仕分けを自動的に行う返戻装置を実現することができれば、作業の効率化及びミスの削減のために効果的である。また、このような返戻装置を用いて容器を保管する場合、容器の保管場所が記録されるので、次回の使用の際にも、処方に基づいて適切な容器を自動的に払い出すことができる。特に薬品の使用期限を表す日付に誤認識があると、使用期限がまだきていない容器を保管せずに廃棄したり、使用期限を過ぎた容器を払い出したりする誤動作を招く。
【０００３】
本願出願人は、特許文献２において、文字列の画像に含まれるさまざまなノイズを、文字列を光学的に認識する前に予め除去することにより、高い精度で日付を表す文字列を認識することができる光学文字認識装置を提案している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第４８５７７６８号公報
【特許文献２】国際公開ＷＯ２０１５/００８７３２Ａ１
【発明の概要】
【発明が解決しようとする課題】
【０００５】
光学文字認識装置により文字列を光学的に認識する場合、文字の汚れ、変形、光の影響で使用期限の日付を誤認識する可能性がある。特に、「５」のエッジがぼけているために「６」に誤認識したり、「１」が傾いているために「７」に誤認識しやすい。このような特定の文字の誤認識を防止することが、返品容器の保管、払い出しを行う返品容器払出装置の信頼性を維持するために重要である。
【０００６】
本発明は、このような従来の問題に鑑みてなされたもので、文字の汚れや、変形、光の影響で使用期限を表す日付の文字の誤認識を防止し、高い精度で日付を表す文字列を認識することができる光学文字認識装置、光学文字認識方法、コンピュータプログラム、及び記録媒体を提供することにある。
【課題を解決するための手段】
【０００７】
前記課題を解決するための手段として、本発明は、
（１）文字列を光学的に認識する光学文字認識装置において、前記光学文字認識装置は、
入力画像から、認識対象のオブジェクトを含む目標領域を抽出する第１の処理手段と、
前記目標領域に含まれるオブジェクトから、少なくとも１つの文字列候補のオブジェクトを含む候補オブジェクトを抽出する第２の処理手段と、
前記文字列候補を選択し、フォーマット設定付きワードＯＣＲを行い、スコアが所定の閾値以上であるときに前記文字列候補を日付として認識する第３の処理手段とを備えることを特徴とする。
【０００８】
（２）前記第３の処理手段は、前記候補オブジェクトの特徴量と中心座標により前記候補オブジェクトをグルーピングし、グルーピングした前記候補オブジェクトを連結して前記文字列候補として抽出することを特徴とする。
【０００９】
（３）前記第３の処理手段は、前記候補オブジェクトの高さを特徴量とし、前記候補オブジェクトの中心行座標と高さにより前記候補オブジェクトをグルーピングすることを特徴とする。
【００１０】
（４）前記第３の処理手段は、前記候補オブジェクトの幅を特徴量とし、前記候補オブジェクトの中心列座標と幅により前記候補オブジェクトをグルーピングすることを特徴とする。
【００１１】
（５）前記第３の処理手段は、認識した日付に「６」を含み、かつ、前記フォーマット設定付きワードＯＣＲの出力の信頼度が所定の閾値範囲であるとき、前記「６」を含む文字領域を細線化及び膨張処理してシングルＯＣＲを行い、スコアのトップ１が「５」であれば、「６」を「５」と入れ替え、「６」の信頼度を「５」の信頼度と入れ替えることを特徴とする。
【００１２】
（６）前記第３の処理手段は、認識した日付に「７」を含み、かつ、前記フォーマット設定付きワードＯＣＲの出力の信頼度が所定の閾値範囲であるとき、前記「７」を含む文字領域を膨張処理してシングルＯＣＲを行い、スコアのトップ１が「１」であれば、「７」を「１」と入れ替え、「７」の信頼度を「１」の信頼度と入れ替えることを特徴とする。
【００１３】
（７）前記第３の処理手段は、前記フォーマット設定付きワードＯＣＲの出力の信頼度の最小値と平均値を求め、前記信頼度の最小値が所定の閾値以上であり、かつ前記信頼度の平均値が所定の閾値以上であるとき、前記フォーマット設定付きワードＯＣＲの出力を日付と認識することを特徴とする。
【００１４】
（８）前記第３の処理手段は、前記文字列候補の２桁の月数に相当する候補オブジェクトの間隔と、前記２桁の月数に相当する候補オブジェクトと以外の候補オブジェクトの間隔の平均間隔を求め、前記間隔が前記平均間隔より大きいとき、月数の１桁目の前記候補オブジェクトを無視し、２桁目の前記候補オブジェクトを月数として認識し、前記間隔が前記平均間隔以下であるとき、２桁の候補オブジェクトを月数として認識することを特徴とする。
【００１５】
（９）前記光学文字認識装置は、
カメラと、
証明装置と、
前記円筒形状の容器の回転軸の周りに回転可能であるように前記容器を保持する認識台と、
前記容器には、前記容器中の容器の使用期限の日付を表す文字列が印字されていることを特徴とする。
【００１６】
（１０）文字列を光学的に認識する光学文字認識方法において、
前記光学文字認識方法は、
入力画像から、認識対象のオブジェクトを含む目標領域を抽出する第１のステップと、
前記目標領域に含まれるオブジェクトから、少なくとも１つの文字列候補のオブジェクトを含む候補オブジェクトを抽出する第２のステップと、
前記文字列候補を選択し、フォーマット設定付きワードＯＣＲを行い、スコアが所定の閾値以上であるときに前記文字列候補を日付として認識する第３のステップとを備えたことを特徴とする。
【００１７】
（１１）コンピュータによって実行されたときに文字列を光学的に認識するコンピュータプログラムにおいて、前記コンピュータプログラムは、
入力画像から、認識対象のオブジェクトを含む目標領域を抽出する第１のステップと、
前記目標領域に含まれるオブジェクトから、少なくとも１つの文字列候補のオブジェクトを含む候補オブジェクトを抽出する第２のステップと、
前記文字列候補を選択し、フォーマット設定付きワードＯＣＲを行い、スコアが所定の閾値以上であるときに前記文字列候補を日付として認識する第３のステップとを備えたことを特徴とする。
【００１８】
（１２）コンピュータによって実行されたときに文字列を光学的に認識するコンピュータプログラムを格納したコンピュータにより読み取り可能な記録媒体において、前記コンピュータプログラムは、
入力画像から、認識対象のオブジェクトを含む目標領域を抽出する第１のステップと、
前記目標領域に含まれるオブジェクトから、少なくとも１つの文字列候補のオブジェクトを含む候補オブジェクトを抽出する第２のステップと、
前記文字列候補を選択し、フォーマット設定付きワードＯＣＲを行い、スコアが所定の閾値以上であるときに前記文字列候補を日付として認識する第３のステップを備えたことを特徴とする。
【発明の効果】
【００１９】
本発明の光学文字認識装置、光学文字認識方法、コンピュータプログラム、及び記録媒体は、文字の汚れや、変形、光の影響で使用期限を表す日付の文字の誤認識を防止し、従来よりも高い精度で日付を表す文字列を認識することができる。
【図面の簡単な説明】
【００２０】
【図１】本発明の実施形態に係る光学文字認識装置の構成を示すブロック図である。
【図２】文字列が印字された容器が載置された認識台の平面図である。
【図３】図１の制御装置１によって実行される日付検出処理を示すフローチャートである。
【図４】図３ステップＳ２における目標領域抽出処理のサブルーチンを示すフローチャートである。
【図５】。 図３のステップＳ４における候補オブジェクト抽出処理のサブルーチンを示すフローチャートである。
【図６】図３のステップＳ６におけるＯＣＲ処理のサブルーチンを示すフローチャートである。
【図７】図６のステップＳ５１，Ｓ５３，Ｓ５５，Ｓ５７，Ｓ５９，Ｓ６１におけるＯＣＲサブルーチンの第１の部分を示すフローチャートである。
【図８】図６のステップＳ５１，Ｓ５３，Ｓ５５，Ｓ５７，Ｓ５９，Ｓ６１におけるＯＣＲサブルーチンの第２の部分を示すフローチャートである。
【図９】図８のステップＳ８６における「５/６」再確認のサブルーチンを示すフローチャートである。
【図１０】図８のステップＳ８７における「１/７」再確認のサブルーチンを示すフローチャートである。
【図１１】ＯＣＲ処理する画像の中の認識対象の文字列の方向を示す図である。
【図１２】輝度が高い部分及び長い縦エッジを含む目標領域を示す図（ａ）、及び図７のステップＳ７１において抽出された文字列候補の例を示す図（ｂ）である。
【図１３】図７のステップＳ７１における文字列候補の抽出を示す図である。
【図１４Ａ】図７のステップＳ７１において抽出された文字列候補の例を示す図である。
【図１４Ｂ】図７のステップＳ７２において抽出された文字候補及び生成されたバウンディングボックス４２の例を示す図である。
【図１５】図７のステップＳ７３における横方向の文字列のグルーピングの例を示す図。
【図１６】図７のステップＳ７３における縦方向の文字列のグルーピングの例を示す図。
【図１７】図７のステップＳ７３においてグルーピング可能な文字列の一例を示す図。
【図１８】日付パターンマッチングの一例を示す図。
【図１９】使用期限の横に製造番号が表示された薬品の画像の一例を示す図。
【図２０】文字列の間隔を示す図。
【発明を実施するための形態】
【００２１】
図１は、本発明の実施形態に係る光学文字認識装置の構成を示すブロック図である。図１の光学文字認識装置は、円筒形状の容器７の表面に印字された日付の文字列を光学的に認識する。
【００２２】
図１の光学文字認識装置は、制御装置１、カメラ２、照明装置３、及びローラ４と無端ベルト５からなる認識台６を備える。図２に示すように、認識台６のローラ４は無端ベルト５の走行方向Ｆに対して傾斜するように配置されている。ローラ４と無端ベルト５は制御装置１により駆動制御される。容器７は、該容器７の底がローラ４の一端側に設けられた当接部８に向くように認識台６の無端ベルト５上に載置される。ローラ４の回転と無端ベルト５の移動により、容器７は回転しながら底が当接部８に当接して位置決めされる。これにより、容器７は、底が当接部８に当接した状態で撮影される。カメラ２は、認識台６の上方に設けられ、容器７の画像を取得し、制御装置１に送る。照明装置３は、認識台６上の容器７に照明を当てる。光学文字認識装置は、ローラ４に代えて、円筒形状の容器７の回転軸の周りに回転可能であるように容器７を保持する他の機構を備えてもよい。制御装置１は、カメラ２から送られた容器７の画像に対して、図３〜図１０を参照して後述する日付検出処理を実行し、容器７の表面に印字された日付を認識する。制御装置１は、画像処理ライブラリ９及び文字認識部１０を備え、記録媒体１２から読み取られたコンピュータプログラムに従って動作する外部のパーソナルコンピュータ（ＰＣ）１１に接続されていてもよい。
【００２３】
容器７は、例えば、薬品の容器（アンプル、バイアル瓶）であり、容器７には、図２に示すように、容器７中の薬品の使用期限の日付を表す文字列が印字されている。例えば、このような容器７が病棟から返却されて認識台６に置かれたとき、光学文字認識装置は、容器７に印字された使用期限の日付を光学的に認識する。次いで、光学文字認識装置は、認識された日付に基づいて、容器７を保管するか廃棄するかを決定し、保管する場合は図示しない保管トレイ、廃棄する場合は図示しない廃棄トレイに容器７を移動させる。
【００２４】
文字列は、容器７に貼られたラベル上に印字されていてもよく、容器７上に直接に印字されていてもよい。また、文字列の向きは、円筒形状の容器７の回転軸に平行であってもよく、容器７の回転軸に直交してもよく、又は、これらの向きの文字列が混在していてもよい。
【００２５】
制御装置１は、入力画像から、認識対象のオブジェクトを含む目標領域を抽出する第１の処理手段として動作し、また目標領域に含まれるオブジェクトから、少なくとも１つの文字列候補のオブジェクトを含む候補オブジェクトを抽出する第２の処理手段として動作し、さらに文字列候補を選択し、フォーマット設定付きワードＯＣＲを行い、スコアが所定の閾値以上であるときに文字列候補を日付として認識する第３の処理手段として動作する。
【００２６】
以下、図３〜図１０を参照して、図１の制御装置１によって実行される日付検出処理について説明する。
【００２７】
図３は、図１の制御装置１によって実行される日付検出処理を示すフローチャートである。制御装置１は、ローラ４と無端ベルト５を用いて容器７を一定角度（例えば１５度）ずつ回転させながらカメラ２により容器７を撮影して、容器７の異なる角度をそれぞれ表す複数の画像（入力画像）を取得する。カメラ２としては、容器７に印字された文字列を光学的に認識するために十分な解像度を有するものが使用される。例えば、容器７は直径１０〜４０ｍｍを有し、例えば、容器７を含む１２０×９０ｍｍにわたる範囲を、画素数３８４０×２７４８（約１０００万画素）で撮影する白黒のカメラが使用される。この場合、容器７上の１ｍｍは３２画素に相当する。図３のステップＳ１において、制御装置１は、容器７の複数の画像のうちの１つを取得する。ステップＳ２において、制御装置１は、目標領域抽出処理を実行する。
【００２８】
図４は、図３のステップＳ２における目標領域抽出処理のサブルーチンを示すフローチャートである。目標領域抽出処理は、特許文献２に詳述されているので（段落００３２〜００３８）、以下概略的に説明する。
【００２９】
図４のステップＳ２１において、制御装置１は、ステップＳ１で取得された画像から、予め決められた閾値よりも高い輝度の部分（例えば照明の反射を含む部分）を抽出する。ステップＳ２２において、制御装置１は、ソーベル（Sobel）フィルタを用いて、ステップＳ１で取得された画像から、円筒形状の容器７の回転軸に実質的に直交する方向に延在する長いエッジ（縦エッジ）を抽出する。容器７の背景にはローラ４が存在するが、ローラ４は、容器７の回転軸に平行に延在するので、縦エッジを抽出することでローラ４の影響を除去することができる。ステップＳ２３において、制御装置１は、図１２（ａ）に示すように、輝度が高い部分及び縦エッジを含む矩形領域（幅ｗ１×高さｈ１）を目標領域２１として抽出し、目標領域の外部の領域を削除する。目標領域２１は、認識対象の文字列のオブジェクトを含むと考えられる領域である。
【００３０】
再び図３を参照すると、ステップＳ２の目標領域抽出処理の実行後、ステップＳ３において、制御装置１は、目標領域の抽出に成功したか否かを判断し、ＹＥＳのときはステップＳ４に進み、ＮＯのときはステップＳ１０に進む。ステップＳ４において、制御装置１は、候補オブジェクト抽出処理を実行する。
【００３１】
図５は、図３のステップＳ４における候補オブジェクト抽出処理のサブルーチンを示すフローチャートである。候補オブジェクト抽出処理は、特許文献２に詳述されているので（段落００４０〜００６０）、以下概略的に説明する。
【００３２】
図５のステップＳ３１において、制御装置１は、目標領域の画像に対して移動平均フィルタを適用することにより、周囲よりも明るい明オブジェクトを抽出し、画像を２値化する。ステップＳ３２において、制御装置１は、２値化された明オブジェクトの輪郭を検出する。次いで、ステップＳ３３〜Ｓ３４では、ステップＳ３１〜Ｓ３２で明オブジェクトに対して行った処理と同様の処理を、暗オブジェクトに対して行う。ステップＳ３５において、制御装置１は、ステップＳ３２、Ｓ３４で輪郭を検出した後の画像に対してキャニー（Canny）フィルタを適用し、画像中のエッジを抽出する。ステップＳ３６において、制御装置１は、輪郭及びエッジを有する明オブジェクトであって、輪郭及びエッジが互いに重なり合い、実質的に一致している明オブジェクトを候補オブジェクトとして抽出する。ステップＳ３７において、制御装置１は、輪郭及びエッジを有する暗オブジェクトであって、輪郭及びエッジが互いに重なり合い、実質的に一致している暗オブジェクトを候補オブジェクトとして抽出する。文字のオブジェクトは常に閉じたエッジを有し、オブジェクトの輪郭及びエッジは一致すると考えられる。従って、実質的に一致した輪郭及びエッジを有するオブジェクトを抽出することにより、文字のオブジェクトを抽出することができる。エッジと輪郭が一致しないオブジェクトは、ノイズとして削除される。
【００３３】
次いで図３のステップＳ５において、制御装置１は、候補オブジェクトの抽出に成功したか否かを判断し、ＹＥＳのときはステップＳ６に進み、ＮＯのときはステップＳ１０に進む。ステップＳ６において、制御装置１はＯＣＲ処理を実行する。
【００３４】
図６は、図３のステップＳ６におけるＯＣＲ処理のサブルーチンを示すフローチャートである。認識対象の文字列が明オブジェクトであるのか、それとも暗オブジェクトであるのか未知であり、また、認識対象の文字列が図５のＸ軸に平行に延在するのか、それともＹ軸に平行に延在するのか未知であるので、これらすべての組み合わせについて図７及び図８のＯＣＲサブルーチンを実行する。認識対象の文字列が明オブジェクトであると仮定するとき、図５のステップＳ３６で抽出された明オブジェクトの候補オブジェクトを用いる。認識対象の文字列が暗オブジェクトであると仮定するとき、図５のステップＳ３９で抽出された暗オブジェクトの候補オブジェクトを用いる。認識対象の文字列がＸ軸に平行に延在すると仮定するとき、目標領域の画像をそのまま使用し、さらに目標領域の画像を１８０度回転して使用する。認識対象の文字列がＹ軸に平行に延在すると仮定するとき、目標領域の画像を９０度回転して使用する。
【００３５】
光学装置ＯＣＲ処理で使用する画像は、図１１に示すように、容器の底が右側、頭が左側になるように撮像される。撮影された画像の左上の隅を原点とし、右側へＸ軸、下側へＹ軸が設定される。認識対象の文字列は、明オブジェクトに対して、Ｘ軸に平行に＋方向と−方向の２方向、Ｙ軸に平行に＋方向と−方向の２方向の計４方向が考えられ、同様に暗オブジェクトに対しても、４方向が考えられる。したがって、ＯＣＲは、明オブジェクトと明オブジェクトに対してそれぞれ４方向、合計８方向に行う必要がある。しかし、現実には、図１１（ａ）に示すように、Ｘ方向に平行に−方向に延在する文字列と、図１１（ｂ）に示すように、Ｙ方向に−方向に延在する文字列が多く、図１１（ｃ）に示すＸ方向に平行に＋方向に延在する文字列はまれに存在するが、図１１（ｄ）に示すＹ方向に＋方向の文字列は殆どない。そこで、本実施形態のＯＣＲ処理は、存在する可能性が高い文字列から存在する可能性が低い文字列の順に行い、存在する可能性がほとんどないものはＯＣＲ処理を省略している。このため、ＯＣＲ処理が８方向から６方向に減少し、処理速度が向上している。
【００３６】
すなわち、図６のステップＳ５１において、制御装置１は、認識対象の文字列がＸ軸に平行に←（−）方向に延在する明オブジェクトであると仮定して、ＯＣＲサブルーチンを実行する。ステップＳ５２において、制御装置１は、ＯＣＲに成功したか否かを判断し、ＹＥＳのときは図３のステップＳ７に進み、ＮＯのときはステップＳ５３に進む。
ステップＳ５３において、制御装置１は、認識対象の文字列がＹ軸に平行に↑（−）方向に延在する明オブジェクトであると仮定して、目標領域の画像を９０°回転し、ＯＣＲサブルーチンを実行する。ステップＳ５４において、制御装置１は、ＯＣＲに成功したか否かを判断し、ＹＥＳのときは図３のステップＳ７に進み、ＮＯのときはステップＳ５５に進む。
ステップＳ５５において、制御装置１は、認識対象の文字列がＸ軸に平行に←（−）方向に延在する暗オブジェクトであると仮定して、ＯＣＲサブルーチンを実行する。ステップＳ５６において、制御装置１は、ＯＣＲに成功したか否かを判断し、ＹＥＳのときは図３のステップＳ７に進み、ＮＯのときはステップＳ５７に進む。
ステップＳ５７において、制御装置１は、認識対象の文字列がＹ軸に平行に↑（−）方向に延在する暗オブジェクトであると仮定して、目標領域の画像を９０°回転し、ＯＣＲサブルーチンを実行する。ステップＳ５８において、制御装置１は、ＯＣＲに成功したか否かを判断し、ＹＥＳのときは図６のステップＳ７に進み、ＮＯのときはステップＳ５９に進む。
ステップＳ５９において、制御装置１は、認識対象の文字列がＸ軸に平行に→（＋）方向に延在する明オブジェクトであると仮定して、目標領域の画像を１８０°回転し、ＯＣＲサブルーチンを実行する。ステップＳ６０において、制御装置１は、ＯＣＲに成功したか否かを判断し、ＹＥＳのときは図３のステップＳ７に進み、ＮＯのときはステップＳ６１に進む。
ステップＳ６１において、制御装置１は、認識対象の文字列がＸ軸に平行に→（＋）方向に延在する暗オブジェクトであると仮定して、目標領域の画像を１８０°回転し、ＯＣＲサブルーチンを実行する。その後、図３のステップＳ７に進む。
【００３７】
図７は、図６のステップＳ５１，Ｓ５３，Ｓ５５，Ｓ５７，Ｓ５９，Ｓ６１におけるＯＣＲサブルーチンの第１の部分を示すフローチャートである。図８は、図６のステップＳ５１，Ｓ５３，Ｓ５５，Ｓ５７，Ｓ５９，Ｓ６１におけるＯＣＲサブルーチンの第２の部分を示すフローチャートである。
【００３８】
図７のステップＳ７１において、制御装置１は、候補オブジェクトのラベリングを行って、予め決められた方向に延在して互いに近接した複数のオブジェクトを文字列候補として抽出する。図１２（ｂ）は、図７のステップＳ６１において抽出された文字列候補の例を示す図である。図１３は、図７のステップＳ６１における文字列候補の抽出を示す図である。図１３において、文字列候補を抽出するための文字列候補マスク３１は、例えば、幅ｗ２＝７５画素、高さｈ２＝３画素を有する。ある位置に配置された文字列候補マスク３１が候補オブジェクトの画素を１つでも含むとき、文字列候補マスク３１内の領域は、文字列候補の一部であると判断される。文字列候補マスク３１を目標領域の全体にわたってスキャンし、個別の連結した文字列候補に対してラベルを付与する。
【００３９】
ステップＳ７１において候補オブジェクトのラベリングを行って文字列候補を抽出するとき、近接した複数の文字列が１つの文字列候補として抽出される可能性がある。従って、いったん文字列候補を文字候補に分離し、各文字候補の特徴量（幅及び高さ）に基づいて、類似した特徴量を有する文字候補を文字列候補として再結合する。図７のステップＳ７２において、制御装置１は、各文字列候補中のオブジェクトのラベリングを行って当該文字列候補に含まれる複数の文字候補を抽出し、各文字候補のバウンディングボックスを生成する。各バウンディングボックスは、文字列候補が延在する方向に平行な幅及び文字列候補が延在する方向に直交する高さを有する矩形形状をそれぞれ有し、各文字候補をそれぞれ包囲する最小外接矩形である。
【００４０】
図１４Ａは、図７のステップＳ７１において抽出された文字列候補の例を示す図である。図１４Ｂは、図７のステップＳ７２において抽出された文字候補及び生成されたバウンディングボックス４２の例を示す図である。各文字候補のバウンディングボックス４２は、幅ｗ３及び高さｈ３を有する。
【００４１】
ステップＳ７３において、文字列候補中のオブジェクトの特徴量（高さ及び幅）及びその平均値と標準偏差を抽出し、オブジェクトをグルーピングする。文字列が横方向の場合は中心行の座標と高さ、文字列が縦方向の場合は中心列行の座標と幅を使用してグルーピングする。
【００４２】
図１５（ａ）に示すように、例えば文字列「２０１５．１２」が横方向の場合、「２」、「０」、「１」、「５」、「１」、「２」の各オブジェクトの高さｈと中心行座標ｙはほぼ同じであるが、「．」のオブジェクトの高さｈと中心行座標ｙは、「２」、「０」、「１」、「５」、「１」、「２」の各オブジェクトの高さｈと中心行座標ｙよりも小さい。また、「２」、「０」、「１」、「５」、「．」、「１」、「２」の各オブジェクトの中心列座標ｘは全て異なり、「２」、「０」、「５」、「２」の各オブジェクトの幅は同じであるが、「１」と「．」のオブジェクトの幅ｗは「２」、「０」、「５」、「２」より小さい。このため、図１５（ｂ）に示すように、高さｈと中心行座標ｙを座標軸に表すと、「２」、「０」、「１」、「５」、「１」、「２」のオブジェクトのグループＡと、「．」のオブジェクトのグループＢにグルーピングされる。しかし、図１５（ｃ）に示すように、各オブジェクトの中心列座標ｘと幅ｗを座標軸に表しても、グルーピングは行えない。そこで、文字列が横方向の場合は中心行の座標ｙと高さｈを使用してグルーピングする。
【００４３】
図１６（ａ）に示すように、例えば文字列「２０１５．１２」が縦方向の場合、「２」、「０」、「１」、「５」、「．」、「１」、「２」の各オブジェクトの中心行座標ｙは全て異なり、「２」、「０」、「５」、「２」の各オブジェクトの高さｈは同じであるが、「１」と「．」のオブジェクトの高さｈは「２」、「０」、「５」、「２」より小さい。また、「２」、「０」、「１」、「５」、「１」、「２」の各オブジェクトの幅ｗと中心列座標ｘはほぼ同じであるが、「．」のオブジェクトの幅ｗと中心列座標ｘは、「２」、「０」、「１」、「５」、「１」、「２」の各オブジェクトの幅ｗと中心列座標ｘよりも小さい。このため、図１６（ｂ）に示すように、各オブジェクトの中心行座標ｙと高さｈを座標軸に表しても、グルーピングは行えない。しかし、図１６（ｃ）に示すように、花ｗと中心列座標ｘを座標軸に表すと、「２」、「０」、「１」、「５」、「１」、「２」のオブジェクトのグループＡと、「．」のオブジェクトのグループＢにグルーピングされる。そこで、文字列が横方向の場合は中心列の座標ｘと幅ｗを使用してグルーピングする。
【００４４】
ステップＳ７４では、ステップＳ７３でグルーピングされたオブジェクトを連結し、新しい文字列候補として抽出する。図１５（ｂ）の場合、オブジェクトが多い方のグループＡにグルーピングされた「２」、「０」、「１」、「５」、「１」、「２」のオブジェクトを連結すると、「．」を含む新しい文字候補「２０１５．１２」を抽出することができる。また、図１６（ｃ）の場合、オブジェクトが多い方のグループＡにグルーピングされた「２」、「０」、「１」、「５」、「１」、「２」のオブジェクトを連結すると、「．」を含む新しい文字候補「２０１５．１２」を抽出することができる。
【００４５】
ステップＳ７３とＳ７４により、図１７（ａ）に示すように、月数が１桁で２桁目にブランクがあっても１つのグループにグルーピングすることができる。また、図１７（ｂ）に示すように、文字列候補内に「使用期限」等の文字や汚れが含まれている場合でも、文字列候補からこれらを排除することができる。
【００４６】
次に、図８のステップＳ７５において、文字列候補の個数はゼロであるか否かを判断し、ゼロであればＯＣＲサブルーチンを終了し、図６のＯＣＲ処理に戻る。文字列候補の個数がゼロでなければ、ステップＳ７６で画像中の文字列候補を選択する。ステップＳ７７では、文字列候補中の「．/−」マーク領域を、オブジェクトの高さｈ、幅ｗ、座標により認識し、ステップＳ７８で、「．/−」マークがあるか否かを判断する。ステップＳ７８で「．/−」マークがなければ、日付ではないのでステップＳ７５に戻り、次の文字候補を選択する。ステップＳ７８で「．/−」マークがあれば、ステップＳ７９で、「’」マーク領域を、オブジェクトの高さｈ、幅ｗ、座標により認識する。なお、ステップＳ７９で「’」マーク領域がなくても、前のステップＳ７８で「．/−」マークがありとなっているので、ステップＳ７５に戻ることなく、次のステップＳ８０に移行する。ステップＳ７９で「’」マーク領域があれば、後述するフォーマット候補に、「’ｘｘ．ｘｘ」を追加するようにしてもよい。
【００４７】
図８のステップＳ８０では、画像の文字列候補を水平正立に回転する。認識台６に載置される容器７はラベルの貼り方、ラベルの剥がれ、日付の印字状態等によって、必ずしも水平正立状態にはない。画像の文字列候補が少しでも傾いていると、ＯＣＲ処理の精度が低下する。画像の文字列候補を水平正立に回転し、ＯＣＲ処理の精度を向上する。画像の文字列候補が水平正位であるか否かは文字列候補の各オブジェクトの中心座標から判断することができる。
【００４８】
ステップＳ８１で、フォーマット候補の個数が０であるか否かを判断する。ここで、「フォーマット」とは、後述するように、許容される単語構造体を記述する表現であり、日付では、ＯＣＲで認識する文字列、例えば「２０ｘｘ．ｘｘ」、「２０ｘｘ/ｘｘ」、「２０ｘｘ-ｘｘ」等を記述したものである。数１はフォーマットの一例である。
【００４９】
【数１】
2017173925.tif 000003
【００５０】
数１において、ブラケット［］内は認識する文字を示す。{2}は、前のブラケットを２階繰り返すことを意味する。西暦の４桁目を示す「２」は、十分に認識できるため「２」単独で認識する。西暦の３桁目を示すブラケット[0Oo]には、「０」と誤認されやすい「Ｏ」と「о」が含まれている。西暦の３桁目、４桁目及び月数の２桁目、１桁目を示すブラケット[OoI10-9]には、０−９の数字と、「０」と誤認されやすい「Ｏ」及び「о」と、「１」と誤認されやすいアルファベットの「Ｉ」と「ｌ」が含まれている。日付の約物を示すブラケット[＼＼．＼＼＊＋−]のうち、バックスラッシュの「＼」はエスケープ文字である。
【００５１】
ステップＳ８２で、フォーマット候補の個数は０であるか否かを判断し、０であれば、ステップＳ７５に戻り、次の文字列候補を選択する。ステップＳ８２でフォーマット候補の個数が０でなければ、ステップＳ８２でフォーマット候補を選択する。ステップＳ８３では、制御装置１の文字認識部１０は、選択したフォーマット候補で画像処理ライブラリ９によりフォーマット設定付きワードＯＣＲを行う。
【００５２】
ワードＯＣＲでは、各文字領域のクラス名を連結することによって生成される１つの集合体（Word）として文字グループ、すなわち、文字列候補全体に対してＯＣＲを行う。フォーマット設定は、ワードＯＣＲでワード単位での辞書（lexicon）を事前に設定することであり、下記入力項目のFormatに相当する。
画像処理ライブラリ９へのフォーマット設定付きワードＯＣＲ処理のための入力には次のものが含まれる。
Format: 許容される単語構造体を記述する表現
(Expression describing the allowed word structure）
NumAlternative:内部の単語修正に考慮される文字ごとのクラス数
(Number of classes per character considered for internal word correction)
NumCorrection:修正される文字の最大数
(Maximum number of corrected characters)
画像処理ライブラリ９からのフォーマット設定付きワードＯＣＲ処理の出力は、次のものが含まれる。
Class: 文字のクラス分けの結果
(Result of classifying the character)
Confidence:文字のクラスの信頼度
(Confidence of the class of the character)
Word:分類と修正後の単語テキスト
(Word text after classification and correction)
Score:修正と未修正の分類結果間の類似の度合い
(Measures of similarity between corrected word and uncorrected classification results)
ワードＯＣＲでは、与えられる文字について最も一致するクラスClassを計算し、計算したクラスがClassに出力され、対応するクラスの信頼度（確率）がConfidenceに出力される。各文字の最も良いクラスから導き出されるWordがFormatと一致しないならば、NumAlternativesの各文字の最も良いクラスを考慮することによって修正を試みる。修正に使用される代わりのクラス（alternatives）は、後述するSingleＯＣＲによって単一文字に対して返されるものと同一である。多くてもNumCorrectionsの文字領域(Character regions)に対して、クラス分けが変更される可能性のあるすべての候補をテストすることによって行われる。結果のワードは、修正された文字数によって０．０（訂正することによって辞書に一致する単語は検出されず）と１．０（訂正せずに辞書に一致）の間のScoreによって格付けされる。
図１８は画像処理ライブラリ９からのフォーマット設定付きワードＯＣＲ処理の出力の一例である。
【００５３】
次に、ステップＳ８４では、ＯＣＲ処理により出力されるScoreが閾値（TH_score）を超えるか否か判断する。Scoreの閾値（TH_score）は、例えば、０．６５が好ましいが、これに限るものではない。Scoreが閾値（TH_score）を超えなければ、ステップＳ８１に戻り、次のフォーマット候補を選択する。Scoreが閾値（TH_score）を超えていれば、ステップＳ８５で、日付パターンをマッチングする。日付パターンとしては、例えば以下のものがある。
２０ｘｘ．ｘｘ
２０ｘｘ．ｘ
ｘｘ．２０ｘｘ
’ｘｘ．ｘｘ
’ｘｘ．ｘ
【００５４】
図１８の例では、Scoreは１．０であり、閾値０．６５を越えているので、「２０ｘｘ．ｘｘ」にマッチングされる。
【００５５】
図８のステップＳ８６では、シングル（single）ＯＣＲで「５」と「６」の誤認が無いか再確認する。ステップＳ８６のSingleＯＣＲは、文字列候補中の各オブジェクトの１つ１つに対してＯＣＲを行う。 SingleＯＣＲでは１つの文字オブジェクトに対して複数のクラス候補が出力される。
【００５６】
図９は、SingleＯＣＲでの「５/６」再確認のサブルーチンである。ステップＳ９１で、認識された文字の中に、「６」があり、かつ、Confidenceが、所定の最低閾値（TH_L_conf）を越え、最高閾値（TH_H_conf）未満であるか否か判断する。最低閾値（TH_L_conf）と最高閾値（TH_H_conf）の具体例を表１に示すが、これに限るものではない。
【００５７】
【表１】
2017173925.tif 000004
【００５８】
ステップＳ９１において、認識された文字の中に「６」がない場合は、再確認の対象ではないので、それ以上の処理を行うことなく、図８のルーチンに戻り、次のステップＳ８７に移行する。また、confidenceが所定の最低閾値（TH_L_conf）以下の場合は、認識された文字の信頼性がきわめて低く、再確認を行う必要がないので、それ以上の処理を行うことなく、図８のルーチンに戻り、次のステップＳ８７に移行する。さらに、confidenceが最高閾値（TH_H_conf）以上である場合は、「６」である信頼度が高いので、それ以上の処理を行うことなく、図８のルーチンに戻り、次のステップＳ８７に移行する。
【００５９】
ステップＳ９１において、confidenceが、所定の最低閾値（TH_L_conf）を越え、最高閾値（TH_H_conf）未満である場合、「６」でなく、「５」である可能性があるので、ステップＳ９２で「６」と認識した文字領域を細線化処理し、ステップＳ９３で膨張処理する。この細線化と膨張により、例えば、「５」の一部がつながって「６」と誤認された文字は、正しく「５」に修正される。
【００６０】
ステップＳ９４で、画像処理ライブラリ９により文字列に対しSingleＯＣＲを行う。
画像処理ライブラリ９へのSingleＯＣＲ処理のための入力には次のものが含まれる。
Num:決定する最も良いクラスの数
(Number of best classes to determine)
画像処理ライブラリ９からのSingleＯＣＲ処理の出力は、次のものが含まれる。
Class:文字のクラス分けの結果
(Result of classifying the character)
Confidence:文字のクラスの信頼度
(Confidence of the class of the character)
SingleＯＣＲでは、与えられる文字についてNum個の最も良いクラス（best Classes）を計算し、計算したクラスがClassに出力され、対応するクラスの信頼度（確率）がConfidenceに出力される。 
【００６１】
ステップＳ９４でSingleＣＲ処理により出力されるScoreのトップ１が「５」であるか否かを判断し、Scoreのトップ１が「５」でなければ、「６」であると確信できるので、それ以上の処理を行うことなく、図８のルーチンに戻り、次のステップＳ８７に移行する。Scoreのトップ１が「５」であれば、「５」であると確信できるので、ステップＳ９６で，文字「６」を「５」に入れ替え、[６」のConfidenceを「５」のConfidenceに入れ替えた後、図８のルーチンに戻り、次のステップＳ８７に移行する。
【００６２】
図８のステップＳ８７では、SingleＯＣＲで「１」と「７」の誤認が無いか再確認する。図１０は、SingleＯＣＲでの「１/７」再確認のサブルーチンである。
【００６３】
図１０は、SingleＯＣＲでの「１/７」再確認のサブルーチンである。ステップＳ１０１で、認識された文字の中に、「７」があり、かつ、Confidenceが、所定の最低閾値（TH_L_conf）を越え、最高閾値（TH_H_conf）未満であるか否か判断する。最低閾値（TH_L_conf）と最高閾値（TH_H_conf）の具体例は、表１に示すものと同じであるが、これに限るものではない。
【００６４】
ステップＳ１０１において、認識された文字の中に「７」がない場合は、再確認の対象ではないので、それ以上の処理を行うことなく、図８のルーチンに戻り、次のステップＳ８８に移行する。また、confidenceが所定の最低閾値（TH_L_conf）以下の場合は、認識された文字の信頼性がきわめて低いので、再確認を行う必要がないので、それ以上の処理を行うことなく、図８のルーチンに戻り、次のステップＳ８８に移行する。さらに、confidenceが最高閾値（TH_H_conf）以上である場合は、「７」である信頼度が高いので、それ以上の処理を行うことなく、図８のルーチンに戻り、次のステップＳ８８に移行する。
【００６５】
ステップＳ１０１において、confidenceが、所定の最低閾値（TH_L_conf）を越え、最高閾値（TH_H_conf）未満である場合、「７」でなく、「１」である可能性があるので、ステップＳ１０２で「７」と認識した文字領域を膨張処理する。この膨張により、「１」が斜めに印字されて「７」と誤認された文字は、正しく「７」に修正される。ステップＳ１０３で、画像処理ライブラリ９により文字列に対しSingleＯＣＲを行う。ステップＳ１０３でSingleＣＲ処理により出力されるScoreのトップ１が「１」であるか否かを判断し、Scoreのトップ１が「１」でなければ、「７」であると確信できるので、それ以上の処理を行うことなく、図８のルーチンに戻り、次のステップＳ８８に移行する。Scoreのトップ１が「１」であれば、「７」であると確信できるので、ステップＳ１０５で，文字「７」を「１」に入れ替え、[７」のConfidenceを「１」のConfidenceに入れ替えた後、図８のルーチンに戻り、次のステップＳ８８に移行する。
【００６６】
図８のサブルーチンに戻ると、ステップＳ８８で、min_confが最小閾値（TH_L_conf）を越え、mean_confが平均閾値（TH_mean_conf）を越えているか否かを判断する。最小閾値（TH_L_conf）と平均閾値（TH_H_conf）の具体例を表１に示すが、これに限るものではない。
【００６７】
【表２】
2017173925.tif 000005
【００６８】
ステップＳ８８において、min_confが最小閾値（TH_L_conf）以下、又はmean_confが平均閾値（TH_mean_conf）以下であれば、信頼性がかなり低いので、ステップＳ７５に戻り、次の文字列候補を選択する。ステップＳ８８において、min_confが最小閾値（TH_L_conf）を越え、mean_confが平均閾値（TH_mean_conf）を越えていれば、ステップＳ８９で、２桁の月数に対して距離を判別する。
【００６９】
例えば、図１９に示すように、使用期限の日付文字の右側に製造番号が表示されていることがある。このような場合、「Ｃ」が「０」に誤認識されると、使用期限が「２０１６．１０」と認識される。そこで、図２０に示すように、最後２桁の月数と認識された数字の間の間隔、obj_disと、最後２桁の後に続く文字の間隔left_disの平均値mean(left_dis)とを比較する。obj_disが、mean(left_dis)を越えていれば、obj_disを無効とし、図２２の例では、日付を「２０１６．１」と認識する。obj_disが、mean(left_dis)以下であれば、obj_disを有効とし、図２２の例では、日付を「２０１６．１０」と認識する。ステップＳ８９の処理の後、図６のステップＳ５２，Ｓ５４，Ｓ５６，Ｓ５８，Ｓ５９、又は図３のステップＳ７に進む。
【００７０】
図３のステップＳ７において、制御装置１は、ＯＣＲに成功したか否か、すなわち、使用期限の日付を表す文字列の抽出に成功したか否かを判断し、ＹＥＳのときはステップＳ８に進み、ＮＯのときはステップＳ１０に進む。月が「１」であると認識した場合、実際には「１０」〜「１２」であるところ、容器７の角度などに起因して誤って「１」であると認識している可能性がある。以下のステップでは、１つの入力画像に係る文字列候補が月を表す数字として「１」のみを含むとき、他の入力画像に係る文字列候補が月を表す数字として「１」のみを含むか否かを判断する。ステップＳ８において、制御装置１は、月は「１」であるか否かを判断し、ＹＥＳのときはステップＳ９に進み、ＮＯのときはステップＳ１２に進む。ステップＳ９において、制御装置１は、同じ日付を２回検出したか否かを判断し、ＹＥＳのときはステップＳ１２に進み、ＮＯのときはステップＳ１０に進む。ステップＳ１０において、制御装置１は、容器７を１周させて１８枚撮影したか否かを判断し、ＹＥＳのときはステップＳ１３に進み、ＮＯのときはステップＳ１１に進む。ステップＳ１１において、制御装置１は、容器７を回転させる。例えば、容器７を２０度ずつ回転させる場合には、合計で１８個の入力画像を取得することができる。また、容器７の直径が異なる場合であっても一定の角度毎に画像を取得するために、容器７を２周にわたって回転させて直径を検出し、一定の時間間隔で容器７の画像を取得しながら、その直径に応じて異なる速度で容器７を回転させてもよい。ステップＳ１２において、制御装置１は、日付を出力する。ステップＳ１３において、制御装置１は、エラーを出力する。
【００７１】
以上説明したように、本実施形態に係る光学文字認識装置によれば、文字列の画像に含まれるさまざまなノイズを、文字列を光学的に認識する前に予め除去することにより、従来よりも高い精度で日付を表す文字列を認識することができる。
【００７２】
入力画像は、円筒形状の容器の画像に限定されず、他の画像であってもよい（平坦な物体の画像、又は任意の画像データ）。
【００７３】
制御装置１が外部のＰＣ９に接続されているとき、図３〜図１０の日付検出処理は、少なくとも部分的にＰＣ９によって実行されてもよい。
【００７４】
以上説明したように日付を表す文字列を認識する光学文字認識方法を実施してもよい。また、そのような光学文字認識方法は、コンピュータによって実行されたときに文字列を光学的に認識するコンピュータプログラムとして実施されてもよい。また、そのようなコンピュータプログラムは、コンピュータにより読み取り可能な記録媒体に格納されてもよい。例えば、図１の記録媒体１０にそのようなコンピュータプログラムを格納し、ＰＣ１１は、記録媒体１２からコンピュータプログラムを読み取ったとき、当該コンピュータプログラムに従って光学文字認識方法を実施する。
【産業上の利用可能性】
【００７５】
本発明の光学文字認識装置、光学文字認識方法、コンピュータプログラム、及び記録媒体は、従来よりも高い精度で日付を表す文字列を認識することができる。
【符号の説明】
【００７６】
１…制御装置、
２…カメラ、
３…証明装置、
４…ローラ、
５…無端ベルト、
６…認識台、
７…容器、
８…当接部、
９…画像処理ライブラリ、
１０…文字認識部、
１１…パーソナルコンピュータ（ＰＣ）、
１２…記録媒体、
２１…目標領域、
３１…文字列候補マスク、
４１…文字列候補のバウンディングボックス、
４２…文字列候補のバウンディングボックス。
【図１】
2017173925.tif 000006
【図２】
2017173925.tif 000007
【図３】
2017173925.tif 000008
【図４】
2017173925.tif 000009
【図５】
2017173925.tif 000010
【図６】
2017173925.tif 000011
【図７】
2017173925.tif 000012
【図８】
2017173925.tif 000013
【図９】
2017173925.tif 000014
【図１０】
2017173925.tif 000015
【図１１】
2017173925.tif 000016
【図１２】
2017173925.tif 000017
【図１３】
2017173925.tif 000018
【図１４Ａ】
2017173925.tif 000019
【図１４Ｂ】
2017173925.tif 000020
【図１５】
2017173925.tif 000021
【図１６】
2017173925.tif 000022
【図１７】
2017173925.tif 000023
【図１８】
2017173925.tif 000024
【図１９】
2017173925.tif 000025
【図２０】
2017173925.tif 000026