(57)【要約】  光学文字認識装置は、入力画像から、認識対象のオブジェクトを含む目標領域を抽出する。光学文字認識装置は、目標領域に含まれるオブジェクトから、少なくとも１つの文字列候補のオブジェクトを含む候補オブジェクトを抽出する。光学文字認識装置は、候補オブジェクトのラベリングを行って、予め決められた方向に延在して互いに近接した複数のオブジェクトを文字列候補として抽出し、文字列候補が、年を表す２桁又は４桁の数字と、月を表す１桁又は２桁の数字と、予め決められた約物とを含む日付のパターンを有するか否かを判断し、文字列候補が日付のパターンを有するとき、文字列候補を日付として認識する。
2015008732.tif 000002
【特許請求の範囲】
【請求項１】
文字列を光学的に認識する光学文字認識装置において、上記光学文字認識装置は、
入力画像から、認識対象のオブジェクトを含む目標領域を抽出する第１の処理手段と、
上記目標領域に含まれるオブジェクトから、少なくとも１つの文字列候補のオブジェクトを含む候補オブジェクトを抽出する第２の処理手段と、
上記候補オブジェクトのラベリングを行って、予め決められた方向に延在して互いに近接した複数のオブジェクトを上記文字列候補として抽出し、上記文字列候補が、年を表す２桁又は４桁の数字と、月を表す１桁又は２桁の数字と、予め決められた約物とを含む日付のパターンを有するか否かを判断し、上記文字列候補が上記日付のパターンを有するとき、上記文字列候補を日付として認識する第３の処理手段とを備えたことを特徴とする光学文字認識装置。
【請求項２】
上記第２の処理手段は、
上記目標領域に含まれるオブジェクトの輪郭及びエッジを検出し、
互いに重なり合う輪郭及びエッジを有するオブジェクトを上記候補オブジェクトとして抽出することを特徴とする請求項１記載の光学文字認識装置。
【請求項３】
上記第２の処理手段は、
上記目標領域にソーベルフィルタを適用して第１のエッジを検出し、
上記第１のエッジの近傍の領域にキャニーフィルタを適用して第２のエッジを検出し、
上記第２のエッジを、上記目標領域に含まれるオブジェクトのエッジとして使用することを特徴とする請求項２記載の光学文字認識装置。
【請求項４】
上記第３の処理手段は、
上記文字列候補のオブジェクトのラベリングを行って複数の文字候補を抽出し、
上記文字列候補が延在する方向に平行な幅及び上記文字列候補が延在する方向に直交する高さを有する矩形形状をそれぞれ有し、上記各文字候補をそれぞれ包囲する複数のバウンディングボックスを生成し、
上記各バウンディングボックスを、当該バウンディングボックスの高さが低いほど当該バウンディングボックスの幅を拡大するように変形し、
変形により連結されたバウンディングボックスに含まれる文字候補の組を、新たな文字列候補として抽出することを特徴とする請求項１〜３のうちのいずれか１つに記載の光学文字認識装置。
【請求項５】
上記第３の処理手段は、
上記文字列候補のオブジェクトのラベリングを行って複数の文字候補を抽出し、
１０個より多数の文字候補を含む文字列候補を削除することを特徴とする請求項１〜４のうちのいずれか１つに記載の光学文字認識装置。
【請求項６】
上記第３の処理手段は、
上記文字列候補のオブジェクトのラベリングを行って複数の文字候補を抽出し、
上記文字列候補が延在する方向に直交する方向において２個以上のオブジェクトを含む文字候補のみを含む文字列候補を削除することを特徴とする請求項１〜５のうちのいずれか１つに記載の光学文字認識装置。
【請求項７】
上記第３の処理手段は、
上記文字列候補のオブジェクトの輪郭及びエッジを検出し、
上記エッジの画素が上記輪郭の画素に一致する部分が上記エッジの画素の面積の６０％以下である文字列候補を削除することを特徴とする請求項１〜６のうちのいずれか１つに記載の光学文字認識装置。
【請求項８】
上記第３の処理手段は、上記文字列候補が明らかに数字と間違えることのない英字を含むとき、上記文字列候補を日付ではないものとして認識することを特徴とする請求項１〜７のうちのいずれか１つに記載の光学文字認識装置。
【請求項９】
上記第３の処理手段は、上記文字列候補が、月を表す２つの数字と、上記月を表す２つの数字に後続する少なくとも１つの他の文字とを含むとき、かつ、上記月を表す２つの数字間の距離が、上記月を表す２つの数字と他の文字との距離及び上記他の文字間の距離の平均値より大きいとき、上記月を表す２つの数字の１の位の数字及び上記他の文字を除去することを特徴とする請求項１〜８のうちのいずれか１つに記載の光学文字認識装置。
【請求項１０】
上記入力画像は、回転可能に保持された円筒形状の容器の画像であることを特徴とする請求項１〜９のうちのいずれか１つに記載の光学文字認識装置。
【請求項１１】
上記第１の処理手段は、上記入力画像から、上記円筒形状の容器の回転軸に実質的に直交する方向に延在するエッジと、予め決められたしきい値よりも高い輝度の部分とを含む領域を、上記目標領域として抽出することを特徴とする請求項１０記載の光学文字認識装置。
【請求項１２】
上記光学文字認識装置は、上記容器を回転させながら撮影された上記容器の異なる角度をそれぞれ表す複数の入力画像を取得し、
上記第３の処理手段は、１つの入力画像に係る文字列候補が月を表す数字として「１」のみを含むとき、他の入力画像に係る文字列候補が月を表す数字として「１」のみを含むか否かを判断することを特徴とする請求項１０又は１１記載の光学文字認識装置。
【請求項１３】
上記光学文字認識装置は、
カメラと、
上記円筒形状の容器の回転軸の周りに回転可能であるように上記容器を保持する撮影台と、
少なくとも１つの保管庫と上記撮影台との間で上記容器を移動させる移動装置とを備え、
上記容器には、上記容器中の薬品の使用期限の日付を表す文字列が印字されていることを特徴とする請求項１０〜１２のうちのいずれか１つに記載の光学文字認識装置。
【請求項１４】
文字列を光学的に認識する光学文字認識方法において、上記光学文字認識方法は、
入力画像から、認識対象のオブジェクトを含む目標領域を抽出する第１のステップと、
上記目標領域に含まれるオブジェクトから、少なくとも１つの文字列候補のオブジェクトを含む候補オブジェクトを抽出する第２のステップと、
上記候補オブジェクトのラベリングを行って、予め決められた方向に延在して互いに近接した複数のオブジェクトを上記文字列候補として抽出し、上記文字列候補が、年を表す２桁又は４桁の数字と、月を表す１桁又は２桁の数字と、予め決められた約物とを含む日付のパターンを有するか否かを判断し、上記文字列候補が上記日付のパターンを有するとき、上記文字列候補を日付として認識する第３のステップとを備えたことを特徴とする光学文字認識方法。
【請求項１５】
コンピュータによって実行されたときに文字列を光学的に認識するコンピュータプログラムにおいて、上記コンピュータプログラムは、
入力画像から、認識対象のオブジェクトを含む目標領域を抽出する第１のステップと、
上記目標領域に含まれるオブジェクトから、少なくとも１つの文字列候補のオブジェクトを含む候補オブジェクトを抽出する第２のステップと、
上記候補オブジェクトのラベリングを行って、予め決められた方向に延在して互いに近接した複数のオブジェクトを上記文字列候補として抽出し、上記文字列候補が、年を表す２桁又は４桁の数字と、月を表す１桁又は２桁の数字と、予め決められた約物とを含む日付のパターンを有するか否かを判断し、上記文字列候補が上記日付のパターンを有するとき、上記文字列候補を日付として認識する第３のステップとを備えたことを特徴とするコンピュータプログラム。
【請求項１６】
コンピュータによって実行されたときに文字列を光学的に認識するコンピュータプログラムを格納したコンピュータにより読み取り可能な記録媒体において、上記コンピュータプログラムは、
入力画像から、認識対象のオブジェクトを含む目標領域を抽出する第１のステップと、
上記目標領域に含まれるオブジェクトから、少なくとも１つの文字列候補のオブジェクトを含む候補オブジェクトを抽出する第２のステップと、
上記候補オブジェクトのラベリングを行って、予め決められた方向に延在して互いに近接した複数のオブジェクトを上記文字列候補として抽出し、上記文字列候補が、年を表す２桁又は４桁の数字と、月を表す１桁又は２桁の数字と、予め決められた約物とを含む日付のパターンを有するか否かを判断し、上記文字列候補が上記日付のパターンを有するとき、上記文字列候補を日付として認識する第３のステップとを備えたことを特徴とする記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文字列を光学的に認識する光学文字認識装置に関し、特に、日付を表す文字列を認識する光学文字認識装置に関する。本発明はまた、日付を表す文字列を認識するための光学文字認識方法、コンピュータプログラム、及び記録媒体に関する。
【背景技術】
【０００２】
薬品の容器に印字されている文字を光学的に認識する装置に対する需要が存在している（特許文献１を参照）。例えば、病棟にいったん運ばれ、結果的に使用されなかった注射薬などの薬品を保管庫に返却する場合、その薬品を次回の使用時に迅速かつ間違いなく取り出せるように、薬品の種類、名称、及び使用期限などに基づいて仕分けをして保管する必要がある。光学文字認識装置を用いて、この仕分けを自動的に行う返戻装置を実現することができれば、作業の効率化及びミスの削減のために効果的である。また、このような返戻装置を用いて薬品を保管する場合、薬品の保管場所が記録されるので、次回の使用の際にも、処方に基づいて適切な薬品を自動的に払い出すことができる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第４８５７７６８号公報。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
光学文字認識装置により文字列を光学的に認識する場合、文字列の画像に含まれるさまざまなノイズに起因して、誤認識が生じる可能性がある。認識の精度を向上させるためには、画像から予めノイズを除去する必要がある。【０００５】
本発明は、以上の課題を解決し、従来よりも高い精度で日付を表す文字列を認識することができる光学文字認識装置、光学文字認識方法、コンピュータプログラム、及び記録媒体を提供することにある。
【課題を解決するための手段】
【０００６】
本発明の第１の態様に係る光学文字認識装置によれば、文字列を光学的に認識する光学文字認識装置において、上記光学文字認識装置は、
入力画像から、認識対象のオブジェクトを含む目標領域を抽出する第１の処理手段と、
上記目標領域に含まれるオブジェクトから、少なくとも１つの文字列候補のオブジェクトを含む候補オブジェクトを抽出する第２の処理手段と、
上記候補オブジェクトのラベリングを行って、予め決められた方向に延在して互いに近接した複数のオブジェクトを上記文字列候補として抽出し、上記文字列候補が、年を表す２桁又は４桁の数字と、月を表す１桁又は２桁の数字と、予め決められた約物とを含む日付のパターンを有するか否かを判断し、上記文字列候補が上記日付のパターンを有するとき、上記文字列候補を日付として認識する第３の処理手段とを備えたことを特徴とする。【０００７】
本発明の第２の態様に係る光学文字認識装置によれば、第１の態様に係る光学文字認識装置において、
上記第２の処理手段は、
上記目標領域に含まれるオブジェクトの輪郭及びエッジを検出し、
互いに重なり合う輪郭及びエッジを有するオブジェクトを上記候補オブジェクトとして抽出することを特徴とする。【０００８】
本発明の第３の態様に係る光学文字認識装置によれば、第２の態様に係る光学文字認識装置において、
上記第２の処理手段は、
上記目標領域にソーベルフィルタを適用して第１のエッジを検出し、
上記第１のエッジの近傍の領域にキャニーフィルタを適用して第２のエッジを検出し、
上記第２のエッジを、上記目標領域に含まれるオブジェクトのエッジとして使用することを特徴とする。【０００９】
本発明の第４の態様に係る光学文字認識装置によれば、第１〜第３のいずれか１つの態様に係る光学文字認識装置において、
上記第３の処理手段は、
上記文字列候補のオブジェクトのラベリングを行って複数の文字候補を抽出し、
上記文字列候補が延在する方向に平行な幅及び上記文字列候補が延在する方向に直交する高さを有する矩形形状をそれぞれ有し、上記各文字候補をそれぞれ包囲する複数のバウンディングボックスを生成し、
上記各バウンディングボックスを、当該バウンディングボックスの高さが低いほど当該バウンディングボックスの幅を拡大するように変形し、
変形により連結されたバウンディングボックスに含まれる文字候補の組を、新たな文字列候補として抽出することを特徴とする。【００１０】
本発明の第５の態様に係る光学文字認識装置によれば、第１〜第４のいずれか１つの態様に係る光学文字認識装置において、
上記第３の処理手段は、
上記文字列候補のオブジェクトのラベリングを行って複数の文字候補を抽出し、
１０個より多数の文字候補を含む文字列候補を削除することを特徴とする。【００１１】
本発明の第６の態様に係る光学文字認識装置によれば、第１〜第５のいずれか１つの態様に係る光学文字認識装置において、
上記第３の処理手段は、
上記文字列候補のオブジェクトのラベリングを行って複数の文字候補を抽出し、
上記文字列候補が延在する方向に直交する方向において２個以上のオブジェクトを含む文字候補のみを含む文字列候補を削除することを特徴とする。【００１２】
本発明の第７の態様に係る光学文字認識装置によれば、第１〜第６のいずれか１つの態様に係る光学文字認識装置において、
上記第３の処理手段は、
上記文字列候補のオブジェクトの輪郭及びエッジを検出し、
上記エッジの画素が上記輪郭の画素に一致する部分が上記エッジの画素の面積の６０％以下である文字列候補を削除することを特徴とする。【００１３】
本発明の第８の態様に係る光学文字認識装置によれば、第１〜第７のいずれか１つの態様に係る光学文字認識装置において、
上記第３の処理手段は、上記文字列候補が明らかに数字と間違えることのない英字を含むとき、上記文字列候補を日付ではないものとして認識することを特徴とする。【００１４】
本発明の第９の態様に係る光学文字認識装置によれば、第１〜第８のいずれか１つの態様に係る光学文字認識装置において、
上記第３の処理手段は、上記文字列候補が、月を表す２つの数字と、上記月を表す２つの数字に後続する少なくとも１つの他の文字とを含むとき、かつ、上記月を表す２つの数字間の距離が、上記月を表す２つの数字と他の文字との距離及び上記他の文字間の距離の平均値より大きいとき、上記月を表す２つの数字の１の位の数字及び上記他の文字を除去することを特徴とする。【００１５】
本発明の第１０の態様に係る光学文字認識装置によれば、第１〜第９のいずれか１つの態様に係る光学文字認識装置において、
上記入力画像は、回転可能に保持された円筒形状の容器の画像であることを特徴とする。【００１６】
本発明の第１１の態様に係る光学文字認識装置によれば、第１０の態様に係る光学文字認識装置において、
上記第１の処理手段は、上記入力画像から、上記円筒形状の容器の回転軸に実質的に直交する方向に延在するエッジと、予め決められたしきい値よりも高い輝度の部分とを含む領域を、上記目標領域として抽出することを特徴とする。【００１７】
本発明の第１２の態様に係る光学文字認識装置によれば、第１０又は第１１の態様に係る光学文字認識装置において、
上記光学文字認識装置は、上記容器を回転させながら撮影された上記容器の異なる角度をそれぞれ表す複数の入力画像を取得し、
上記第３の処理手段は、１つの入力画像に係る文字列候補が月を表す数字として「１」のみを含むとき、他の入力画像に係る文字列候補が月を表す数字として「１」のみを含むか否かを判断することを特徴とする。【００１８】
本発明の第１３の態様に係る光学文字認識装置によれば、第１０〜第１２のいずれか１つの態様に係る光学文字認識装置において、
上記光学文字認識装置は、
カメラと、
上記円筒形状の容器の回転軸の周りに回転可能であるように上記容器を保持する撮影台と、
少なくとも１つの保管庫と上記撮影台との間で上記容器を移動させる移動装置とを備え、
上記容器には、上記容器中の薬品の使用期限の日付を表す文字列が印字されていることを特徴とする。【００１９】
本発明の第１４の態様に係る光学文字認識方法によれば、
文字列を光学的に認識する光学文字認識方法において、上記光学文字認識方法は、
入力画像から、認識対象のオブジェクトを含む目標領域を抽出する第１のステップと、
上記目標領域に含まれるオブジェクトから、少なくとも１つの文字列候補のオブジェクトを含む候補オブジェクトを抽出する第２のステップと、
上記候補オブジェクトのラベリングを行って、予め決められた方向に延在して互いに近接した複数のオブジェクトを上記文字列候補として抽出し、上記文字列候補が、年を表す２桁又は４桁の数字と、月を表す１桁又は２桁の数字と、予め決められた約物とを含む日付のパターンを有するか否かを判断し、上記文字列候補が上記日付のパターンを有するとき、上記文字列候補を日付として認識する第３のステップとを備えたことを特徴とする。【００２０】
本発明の第１５の態様に係るコンピュータプログラムによれば、
コンピュータによって実行されたときに文字列を光学的に認識するコンピュータプログラムにおいて、上記コンピュータプログラムは、
入力画像から、認識対象のオブジェクトを含む目標領域を抽出する第１のステップと、
上記目標領域に含まれるオブジェクトから、少なくとも１つの文字列候補のオブジェクトを含む候補オブジェクトを抽出する第２のステップと、
上記候補オブジェクトのラベリングを行って、予め決められた方向に延在して互いに近接した複数のオブジェクトを上記文字列候補として抽出し、上記文字列候補が、年を表す２桁又は４桁の数字と、月を表す１桁又は２桁の数字と、予め決められた約物とを含む日付のパターンを有するか否かを判断し、上記文字列候補が上記日付のパターンを有するとき、上記文字列候補を日付として認識する第３のステップとを備えたことを特徴とする。【００２１】
本発明の第１６の態様に係る記録媒体によれば、
コンピュータによって実行されたときに文字列を光学的に認識するコンピュータプログラムを格納したコンピュータにより読み取り可能な記録媒体において、上記コンピュータプログラムは、
入力画像から、認識対象のオブジェクトを含む目標領域を抽出する第１のステップと、
上記目標領域に含まれるオブジェクトから、少なくとも１つの文字列候補のオブジェクトを含む候補オブジェクトを抽出する第２のステップと、
上記候補オブジェクトのラベリングを行って、予め決められた方向に延在して互いに近接した複数のオブジェクトを上記文字列候補として抽出し、上記文字列候補が、年を表す２桁又は４桁の数字と、月を表す１桁又は２桁の数字と、予め決められた約物とを含む日付のパターンを有するか否かを判断し、上記文字列候補が上記日付のパターンを有するとき、上記文字列候補を日付として認識する第３のステップとを備えたことを特徴とする。【００２２】
本発明の第１７の態様に係る光学文字認識装置によれば、第１〜第１３のいずれか１つの態様に係る光学文字認識装置において、
上記光学文字認識装置は、上記容器を回転させながら撮影された上記容器の異なる角度をそれぞれ表す複数の入力画像を取得し、上記複数の入力画像を連結することを特徴とする。
【発明の効果】
【００２３】
本発明の光学文字認識装置、光学文字認識方法、コンピュータプログラム、及び記録媒体は、従来よりも高い精度で日付を表す文字列を認識することができる。
【図面の簡単な説明】
【００２４】
【図１】本発明の第１の実施形態に係る光学文字認識装置の構成を示すブロック図である。
【図２】第１の例に係る文字列が印字された容器１３ａを示す上面図である。
【図３】第２の例に係る文字列が印字された容器１３ｂを示す上面図である。
【図４】第３の例に係る文字列が印字された容器１３ｃを示す上面図である。
【図５】第４の例に係る文字列が印字された容器１３ｄを示す上面図である。
【図６】図１の制御装置１によって実行される日付検出処理を示すフローチャートである。
【図７】図６のステップＳ２における目標領域抽出処理のサブルーチンを示すフローチャートである。
【図８】図６のステップＳ４における候補オブジェクト抽出処理のサブルーチンを示すフローチャートである。
【図９】図６のステップＳ６におけるＯＣＲ処理のサブルーチンを示すフローチャートである。
【図１０】図９のステップＳ５１，Ｓ５３，Ｓ５５，Ｓ５７におけるＯＣＲサブルーチンの第１の部分を示すフローチャートである。
【図１１】図９のステップＳ５１，Ｓ５３，Ｓ５５，Ｓ５７におけるＯＣＲサブルーチンの第２の部分を示すフローチャートである。
【図１２】図１１のステップＳ６８におけるエッジ強度及び領域輝度判定処理のサブルーチンを示すフローチャートである。
【図１３】図１１のステップＳ６９における平均高さ判定処理のサブルーチンを示すフローチャートである。
【図１４】図１１のステップＳ７２，Ｓ７５における日付パターン判定処理のサブルーチンを示すフローチャートである。
【図１５】図７のステップＳ２１において抽出された画像中の輝度が高い部分の例を示す図である。
【図１６】図７のステップＳ２２において抽出された画像中の長い縦エッジの例を示す図である。
【図１７】図１５の輝度が高い部分及び図１６の長い縦エッジを重ね合わせた図である。
【図１８】図１５の輝度が高い部分及び図１６の長い縦エッジを含む目標領域２１を示す図である。
【図１９】図８のステップＳ３１において抽出された明オブジェクトの例を示す図である。
【図２０】図８のステップＳ３３において抽出された暗オブジェクトの例を示す図である。
【図２１】図８のステップＳ３１における移動平均フィルタを用いた明オブジェクトの抽出を示す図である。
【図２２Ａ】明オブジェクト及び暗オブジェクトを含む画像を示す図である。
【図２２Ｂ】図２２Ａの画像からの明オブジェクトの抽出を示す図である。
【図２２Ｃ】図２２Ａの画像からの暗オブジェクトの抽出を示す図である。
【図２３】図８のステップＳ３５においてソーベルフィルタを用いて抽出された画像中のエッジの例を示す図である。
【図２４】図８のステップＳ３６において、ステップＳ３５において抽出されたエッジ以外の領域を削除した後の画像の例を示す図である。
【図２５】図８のステップＳ３７においてしきい値１５のキャニーフィルタを用いて抽出された画像中のエッジの例を示す図である。
【図２６】図８のステップＳ３７においてしきい値４のキャニーフィルタを用いて抽出された画像中のエッジの例を示す図である。
【図２７】図８のステップＳ３８において抽出された明オブジェクトの候補オブジェクトの例を示す図である。
【図２８】図８のステップＳ３９において抽出された暗オブジェクトの候補オブジェクトの例を示す図である。
【図２９Ａ】オブジェクトの例を示す図である。
【図２９Ｂ】図２９Ｂはしきい値２００を用いて抽出された図２９Ａの２値化画像を示す図である。
【図２９Ｃ】図２９Ｂの輪郭を示す図である。
【図２９Ｄ】しきい値５０を用いて抽出された図２９Ａのエッジを示す図である。
【図２９Ｅ】しきい値２００を用いて抽出された図２９Ａのエッジを示す図である。
【図２９Ｆ】文字の輪郭及びエッジを示す図である。
【図３０】図１０のステップＳ６１において抽出された文字列候補の例を示す図である。
【図３１】図１０のステップＳ６１における文字列候補の抽出を示す図である。
【図３２】図１０のステップＳ６２において抽出された文字候補及び生成されたバウンディングボックスの例を示す図である。
【図３３Ａ】図１０のステップＳ６１において抽出された文字列候補の例を示す図である。
【図３３Ｂ】図１０のステップＳ６２において抽出された文字候補及び生成されたバウンディングボックス４２の例を示す図である。
【図３３Ｃ】図１０のステップＳ６３において変形されたバウンディングボックス４３の例を示す図である。
【図３３Ｄ】図１０のステップＳ６４において抽出された新たな文字列候補の例を示す図である。
【図３４Ａ】図１０のステップＳ６１において抽出された文字列候補の他の例を示す図である。
【図３４Ｂ】図１０のステップＳ６２において抽出された文字候補及び生成されたバウンディングボックス４２の他の例を示す図である。
【図３５】図１０のステップＳ６５，Ｓ６６，Ｓ６７において一部の文字列候補を削除した後の文字列候補の例を示す図である。
【図３６Ａ】図１０のステップＳ６４において抽出された文字列候補の例を示す図である。
【図３６Ｂ】図３６Ａの文字列候補に含まれる各文字候補の高さ方向におけるオブジェクトの個数を示す図である。
【図３７Ａ】図１０のステップＳ６４において抽出された文字列候補の他の例を示す図である。
【図３７Ｂ】図３７Ａの文字列候補に含まれる各文字候補の高さ方向におけるオブジェクトの個数を示す図である。
【図３８Ａ】入力画像の例を示す図である。
【図３８Ｂ】図３８Ａの画像から抽出された明オブジェクトの候補オブジェクトを示す図である。
【図３８Ｃ】図３８Ｂの候補オブジェクトの輪郭を示す図である。
【図３８Ｄ】図３８Ａの画像から抽出されたエッジを示す図である。
【図３９Ａ】入力画像の例を示す図である。
【図３９Ｂ】図３９Ａの画像から抽出された暗オブジェクトの候補オブジェクトを示す図である。
【図３９Ｃ】図３９Ｂの候補オブジェクトの輪郭を示す図である。
【図３９Ｄ】図３９Ａの画像から抽出されたエッジを示す図である。
【図４０】図１１のステップＳ６８におけるエッジ強度及び領域輝度判定処理を説明するための入力画像の例を示す図である。
【図４１】図１２のステップＳ９０において選択された文字列候補の例を示す図である。
【図４２】図１１のステップＳ６８におけるエッジ強度及び領域輝度判定処理によって処理された文字列候補の例を示す図である。
【図４３Ａ】図１３のステップＳ１０１において選択された文字列候補の例を示す図である。
【図４３Ｂ】図１３のステップＳ１０４において抽出された新たな文字列候補の例を示す図である。
【図４４】本発明の第２の実施形態に係る光学文字認識装置の制御装置１によって実行される日付検出処理を示すフローチャートである。
【図４５】本発明の第３の実施形態に係る光学文字認識装置の制御装置１によって実行される日付検出処理を示すフローチャートである。
【図４６】図４５のステップＳ１５における連結画像の日付検出処理のサブルーチンを示すフローチャートである。
【図４７】本発明の第４の実施形態に係る光学文字認識装置の制御装置１によって実行される日付検出処理の日付パターン判定処理のサブルーチンを示すフローチャートである。
【図４８】日付の文字列及び他の文字を含む文字列候補の例を示す図である。
【発明を実施するための形態】
【００２５】
第１の実施形態．
図１は、本発明の第１の実施形態に係る光学文字認識装置の構成を示すブロック図である。図１の光学文字認識装置は、円筒形状の容器１３の表面に印字された日付の文字列を光学的に認識する。
【００２６】
図１の光学文字認識装置は、制御装置１、レール２、移動装置３、カメラ４〜６、照明装置７ａ，７ｂ、及びローラー８ａ，８ｂを備える。少なくとも２つのローラー８ａ，８ｂは、互いに平行に設けられ、かつ、制御装置１の制御下で動作する駆動装置を備え、これにより、容器１３を回転可能に保持する。光学文字認識装置は、さらに、容器１３を収容する少なくとも１つのトレー（又は保管庫）１１，１２を備える。移動装置３は、制御装置１の制御下で、トレー１１，１２及びローラー８ａ，８ｂの間で容器１３を移動させる。カメラ４〜６は、トレー１１，１２及びローラー８ａ，８ｂ上にそれぞれ設けられ、容器１３がトレー１１，１２及びローラー８ａ，８ｂ上にあるときに容器１３の画像をそれぞれ取得し、制御装置１に送る。照明装置７ａ，７ｂは、ローラー８ａ，８ｂ上の容器１３に照明を当てる。ローラー８ａ，８ｂ及び照明装置７ａ，７ｂは、容器１３のための撮影台として機能する。光学文字認識装置は、ローラー８ａ，８ｂに代えて、円筒形状の容器１３の回転軸の周りに回転可能であるように容器１３を保持する他の機構を備えてもよい。制御装置１は、カメラ５から送られた容器１３の画像に対して、図６〜図１４を参照して後述する日付検出処理を実行し、容器１３の表面に印字された日付を認識する。移動装置３に追加のカメラが設けられてもよい。制御装置１は、記録媒体１０から読み取られたコンピュータプログラムに従って動作する外部のパーソナルコンピュータ（ＰＣ）９に接続されていてもよい。
【００２７】
容器１３は、例えば、薬品の容器（アンプル）であり、容器１３には、容器１３中の薬品の使用期限の日付を表す文字列が印字されている。例えば、このような容器１３が病棟から返却されてトレー１１に置かれたとき、光学文字認識装置は、移動装置３を用いて容器１３をトレー１１からローラー８ａ，８ｂ上に移動させ、ローラー８ａ，８ｂ上において、容器１３に印字された使用期限の日付を光学的に認識する。次いで、光学文字認識装置は、認識された日付に基づいて、容器を保管するか廃棄するかを決定し、移動装置３を用いて、適切な保管庫又はゴミ箱に関連付けられた他のトレー１２に容器１３を移動させる。
【００２８】
図２〜図５に、容器１３に印字された文字列の例を示す。図２は、第１の例に係る文字列が印字された容器１３ａを示す上面図である。図３は、第２の例に係る文字列が印字された容器１３ｂを示す上面図である。図４は、第３の例に係る文字列が印字された容器１３ｃを示す上面図である。図５は、第４の例に係る文字列が印字された容器１３ｄを示す上面図である。文字列は、容器に貼られたラベル上に印字されていてもよく、容器上に直接に印字されていてもよい。また、文字列の向きは、円筒形状の容器１３の回転軸に平行であってもよく、容器１３の回転軸に直交してもよく、又は、これらの向きの文字列が混在していてもよい。
【００２９】
制御装置１は、入力画像から、認識対象のオブジェクトを含む目標領域を抽出する第１の処理手段として動作する。また、制御装置１は、目標領域に含まれるオブジェクトから、少なくとも１つの文字列候補のオブジェクトを含む候補オブジェクトを抽出する第２の処理手段として動作する。また、制御装置１は、候補オブジェクトのラベリングを行って、予め決められた方向に延在して互いに近接した複数のオブジェクトを文字列候補として抽出し、文字列候補が、年を表す２桁又は４桁の数字と、月を表す１桁又は２桁の数字と、予め決められた約物（punctuation mark）とを含む日付のパターンを有するか否かを判断し、文字列候補が日付のパターンを有するとき、文字列候補を日付として認識する第３の処理手段として動作する。
【００３０】
以下、図６〜図１４を参照して、図１の制御装置１によって実行される日付検出処理について説明する。
【００３１】
図６は、図１の制御装置１によって実行される日付検出処理を示すフローチャートである。制御装置１は、ローラー８ａ，８ｂを用いて容器１３を一定角度（例えば１５度）ずつ回転させながらカメラ５により容器１３を撮影して、容器１３の異なる角度をそれぞれ表す複数の画像（入力画像）を取得する。カメラ５としては、容器１３に印字された文字列を光学的に認識するために十分な解像度を有するものが使用される。例えば、容器１３は直径１０〜４０ｍｍを有し、例えば、容器１３を含む１２０×９０ｍｍにわたる範囲を、画素数３８４０×２７４８（約１０００万画素）で撮影する白黒のカメラが使用される。この場合、容器１３上の１ｍｍは３２画素に相当する。図６のステップＳ１において、制御装置１は、容器１３の複数の画像のうちの１つを取得する。ステップＳ２において、制御装置１は、目標領域抽出処理を実行する。
【００３２】
図７は、図６のステップＳ２における目標領域抽出処理のサブルーチンを示すフローチャートである。
【００３３】
図７のステップＳ２１において、制御装置１は、ステップＳ１で取得された画像から、予め決められたしきい値よりも高い輝度の部分（例えば照明の反射を含む部分）を抽出する。制御装置１は、例えば画素の輝度が０〜２５５にわたって変化するとき、例えば２２０より高い輝度を有する部分を抽出する。図１５は、図７のステップＳ２１において抽出された画像中の輝度が高い部分の例を示す図である。ここで、入力画像は、図５の容器１３ｄの画像である。
【００３４】
次いで、図７のステップＳ２２において、制御装置１は、ステップＳ１で取得された画像から、円筒形状の容器１３の回転軸に実質的に直交する方向に延在する長いエッジ（縦エッジ）を抽出する。容器１３の背景にはローラー８ａ，８ｂが存在するが、ローラー８ａ，８ｂは、容器１３の回転軸に平行に延在するので、縦エッジを抽出することでローラー８ａ，８ｂの影響を除去することができる。
【００３５】
ステップＳ２２においてエッジを抽出するために、次式のソーベル（Sobel）フィルタが使用される。
【００３６】
【数１】
2015008732.tif 000003
【００３７】
ソーベルフィルタにより抽出されたエッジのうち、短いもの、例えば５５画素の長さに満たないものは、ノイズとして削除される。図１６は、図７のステップＳ２２において抽出された画像中の長い縦エッジの例を示す図である。図５の容器１３ｄの回転軸は図５のＸ軸に平行であり、従って、ステップＳ２２では、図５のＹ軸に実質的に平行な方向に延在するエッジが抽出される。
【００３８】
図７のステップＳ２３において、制御装置１は、輝度が高い部分及び縦エッジを含む矩形領域（幅ｗ１×高さｈ１）を目標領域として抽出し、目標領域の外部の領域を削除する。図１７は、図１５の輝度が高い部分及び図１６の長い縦エッジを重ね合わせた図である。図１８は、図１５の輝度が高い部分及び図１６の長い縦エッジを含む目標領域２１を示す図である。目標領域は、認識対象の文字列のオブジェクトを含むと考えられる領域である。
【００３９】
再び図６を参照すると、ステップＳ２の目標領域抽出処理の実行後、ステップＳ３において、制御装置１は、目標領域の抽出に成功したか否かを判断し、ＹＥＳのときはステップＳ４に進み、ＮＯのときはステップＳ１０に進む。ステップＳ４において、制御装置１は、候補オブジェクト抽出処理を実行する。
【００４０】
図８は、図６のステップＳ４における候補オブジェクト抽出処理のサブルーチンを示すフローチャートである。
【００４１】
図８のステップＳ３１において、制御装置１は、目標領域の画像に対して移動平均フィルタを適用することにより、周囲よりも明るい明オブジェクトを抽出し、画像を２値化する。黒地に白字の文字列は、明オブジェクトとして抽出される。照明の当たり方にムラがあるので、単純な２値化を行うだけではオブジェクトを検出できない。従って、移動平均フィルタを用いた２値化方法（動的しきい値法）を使用する。図２１は、図８のステップＳ３１における移動平均フィルタを用いた明オブジェクトの抽出を示す図である。図２１に示す原理によれば、制御装置１は、入力画像（ここでは、目標領域の画像）の輝度から、その局所的な平均輝度を計算し、局所的な平均輝度に所定のオフセットを加算した輝度よりも高い輝度を有するオブジェクト（すなわち、周囲と比べて突出した明るさを有するオブジェクト）を、明オブジェクトとして抽出する。局所的な平均輝度を計算するために参照する局所的な領域のサイズは、目標領域全体のサイズに基づいて決定される。図１９は、図８のステップＳ３１において抽出された明オブジェクトの例を示す図である。次いで、ステップＳ３２において、制御装置１は、２値化された明オブジェクトの輪郭を検出する。
【００４２】
次いで、図８のステップＳ３３〜Ｓ３４では、ステップＳ３１〜Ｓ３２で明オブジェクトに対して行った処理と同様の処理を、暗オブジェクトに対して行う。ステップＳ３３において、制御装置１は、目標領域の画像に対して移動平均フィルタを適用することにより、周囲よりも暗い暗オブジェクトを抽出し、画像を２値化する。白地に黒字の文字列は、暗オブジェクトとして抽出される。図２０は、図８のステップＳ３３において抽出された暗オブジェクトの例を示す図である。ステップＳ３４において、制御装置１は、２値化された暗オブジェクトの輪郭を検出する。
【００４３】
図２２Ａは、明オブジェクト及び暗オブジェクトを含む画像を示す図である。図２２Ｂは、図２２Ａの画像からの明オブジェクトの抽出を示す図である。図２２Ｃは、図２２Ａの画像からの暗オブジェクトの抽出を示す図である。１つの文字列は、明オブジェクト及び暗オブジェクトの一方であると考えられる。図８のステップＳ３１〜Ｓ３４において明オブジェクト及び暗オブジェクトの両方を抽出しているので、容器１３に印字された日付を確実に検出することができる。
【００４４】
次いで、図８のステップＳ３５において、制御装置１は、次式のソーベルフィルタを用いて、目標領域の画像中のエッジを抽出する。
【００４５】
【数２】
2015008732.tif 000004
【００４６】
【数３】
2015008732.tif 000005
【００４７】
【数４】
2015008732.tif 000006
【００４８】
ここで、ｂは、ある画素に演算子Ｂを適用した結果を示し、ｃは、同じ画素に演算子Ｃを適用した結果を示す。図２３は、図８のステップＳ３５においてソーベルフィルタを用いて抽出された画像中のエッジの例を示す図である。
【００４９】
次いで、図８のステップＳ３６において、制御装置１は、目標領域の画像から、ステップＳ３５で抽出されたエッジ以外の領域を削除する。図２４は、図８のステップＳ３６において、ステップＳ３５において抽出されたエッジ以外の領域を削除した後の画像の例を示す図である。次いで、図８のステップＳ３７において、制御装置１は、ステップＳ３６の削除を行った後の画像に対してキャニー（Canny）フィルタを適用し、画像中のエッジを抽出する。
【００５０】
キャニーのエッジ検出方法は、以下の３つのステップを含む。第１のステップとして、画像について、次式の勾配の大きさｇ（ｘ，ｙ）及び勾配の向きｄ（ｘ，ｙ）を計算する。
【００５１】
【数５】
2015008732.tif 000007
【００５２】
【数６】
2015008732.tif 000008
【００５３】
ここで、ｆｘ（ｘ，ｙ）は、標準偏差σを有するガウス関数のｘ方向に関する一次微分と、画素値関数との畳み込みを示し、ｆｙ（ｘ，ｙ）は、同じガウス関数のｙ方向に関する一次微分と、画素値関数との畳み込みを示す。
【００５４】
キャニーのエッジ検出方法の第２のステップとして、勾配の大きさｇ（ｘ，ｙ）の最大値を求めることで、エッジを検出する。このとき、注目画素の周囲８画素を用いて勾配の向きｄ（ｘ，ｙ）に対して補間した勾配の大きさを推定し、それらの推定値と比較することにより、注目画素の勾配の大きさｇ（ｘ，ｙ）が真の最大値を有しているのかを判断する。
【００５５】
キャニーのエッジ検出方法の第３のステップとして、高いしきい値Ｔｈ＿Ｈ及び低いしきい値Ｔｈ＿Ｌを設定し、ヒステリシスのあるしきい値判断を行う。勾配の大きさｇ（ｘ，ｙ）が高いしきい値Ｔｈ＿Ｈよりも大きいとき、その画素をエッジであると判断する。勾配の大きさｇ（ｘ，ｙ）が低いしきい値Ｔｈ＿Ｌよりも小さいとき、その画素はエッジではないと判断する。勾配の大きさｇ（ｘ，ｙ）が高いしきい値Ｔｈ＿Ｈ及び低いしきい値Ｔｈ＿Ｌの間にあるとき、その画素がエッジとして検出された画素に隣接しているときのみ、エッジであると判断する。
【００５６】
本開示の例では、ステップＳ３７において、ガウス関数の標準偏差σ＝１．４、高いしきい値Ｔｈ＿Ｈ＝１０、及び低いしきい値Ｔｈ＿Ｌ＝５を有するキャニーフィルタを用いた。しきい値の可能な値の範囲は、０〜２５５である。
【００５７】
図８のステップ４０では、直後のステップＳ３８，Ｓ３９と、後述する図１０のステップＳ６７との両方で使用するために、２種類のキャニーフィルタを用いて２種類のエッジを抽出する。図２５は、図８のステップＳ３７においてしきい値１５のキャニーフィルタを用いて抽出された画像中のエッジの例を示す図である。図２６は、図８のステップＳ３７においてしきい値４のキャニーフィルタを用いて抽出された画像中のエッジの例を示す図である。本開示の例では、図２６のエッジをステップＳ３８，Ｓ３９で使用し、図２５のエッジを図１０のステップＳ６７で用いた。
【００５８】
ソーベルフィルタを用いてエッジを抽出すると、高速だが、抽出されるエッジの幅が太くなる。キャニーフィルタを用いてエッジを抽出すると、低速だが、詳細なエッジを抽出できる。一方、本実施形態では、いったんソーベルフィルタを用いてエッジを抽出し（ステップＳ３５）、抽出されたエッジ以外の領域を削除し（ステップＳ３６）、ソーベルフィルタを用いて抽出されたエッジの近傍の領域のみにキャニーフィルタを適用してエッジを抽出し（ステップＳ３７）、このエッジを、目標領域に含まれるオブジェクトのエッジとして使用する。このように、ソーベルフィルタ及びキャニーフィルタを組み合わせることで、キャニーフィルタのみを用いる場合よりも、エッジの抽出が約１０倍速くなる。
【００５９】
次いで図８のステップＳ３８において、制御装置１は、輪郭及びエッジを有する明オブジェクトであって、輪郭及びエッジが互いに重なり合い、実質的に一致している明オブジェクトを候補オブジェクトとして抽出する。図２７は、図８のステップＳ３８において抽出された明オブジェクトの候補オブジェクトの例を示す図である。次いで図８のステップＳ３９において、制御装置１は、輪郭及びエッジを有する暗オブジェクトであって、輪郭及びエッジが互いに重なり合い、実質的に一致している暗オブジェクトを候補オブジェクトとして抽出する。図２８は、図８のステップＳ３９において抽出された暗オブジェクトの候補オブジェクトの例を示す図である。
【００６０】
図２９Ａはオブジェクトの例を示す図である。図２９Ｂはしきい値２００を用いて抽出された図２９Ａの２値化画像を示す図である。図２９Ｃは図２９Ｂの輪郭を示す図である。図２９Ｄはしきい値５０を用いて抽出された図２９Ａのエッジを示す図である。図２９Ｅはしきい値２００を用いて抽出された図２９Ａのエッジを示す図である。図２９Ｆは文字の輪郭及びエッジを示す図である。図２９Ａのオブジェクトは、例えば画素の輝度が０〜２５５にわたって変化するとき、輝度０の部分、輝度１２８の部分、及び輝度２５５の部分を含む。図２９Ａのオブジェクトの輪郭は、その２値化画像（図２９Ｂ）の輪郭として得られる（図２９Ｃ）。図２９Ａのオブジェクトのエッジは、輝度が急に変化する部分として得られ、異なるしきい値を用いることにより異なるエッジが抽出される（図２９Ｄ、図２９Ｅ）。図２９Ｃ〜図２９Ｅに示すように、一般に、オブジェクトの輪郭及びエッジは一致するとは限らない。ただし、文字のオブジェクトは常に閉じたエッジを有し、オブジェクトの輪郭及びエッジは一致すると考えられる。従って、実質的に一致した輪郭及びエッジを有するオブジェクトを抽出することにより、文字のオブジェクトを抽出することができる。エッジと輪郭が一致しないオブジェクトは、ノイズとして削除される。
【００６１】
次いで図６のステップＳ５において、制御装置１は、候補オブジェクトの抽出に成功したか否かを判断し、ＹＥＳのときはステップＳ６に進み、ＮＯのときはステップＳ１０に進む。ステップＳ６において、制御装置１はＯＣＲ処理を実行する。
【００６２】
図９は、図６のステップＳ６におけるＯＣＲ処理のサブルーチンを示すフローチャートである。認識対象の文字列が明オブジェクトであるのか、それとも暗オブジェクトであるのか未知であり、また、認識対象の文字列が図５のＸ軸に平行に延在するのか、それともＹ軸に平行に延在するのか未知であるので、これらすべての組み合わせについて図１０及び図１１のＯＣＲサブルーチンを実行する。認識装置の文字列が明オブジェクトであると仮定するとき、図８のステップＳ３８で抽出された明オブジェクトの候補オブジェクトを用いる。認識装置の文字列が暗オブジェクトであると仮定するとき、図８のステップＳ３９で抽出された暗オブジェクトの候補オブジェクトを用いる。認識装置の文字列がＸ軸に平行に延在すると仮定するとき、目標領域の画像をそのまま使用する。認識装置の文字列がＹ軸に平行に延在すると仮定するとき、目標領域の画像を９０度回転して使用する。
【００６３】
図９のステップＳ５１において、制御装置１は、認識装置の文字列がＸ軸に平行に延在する明オブジェクトであると仮定して、ＯＣＲサブルーチンを実行する。ステップＳ５２において、制御装置１は、ＯＣＲに成功したか否かを判断し、ＹＥＳのときは図６のステップＳ７に進み、ＮＯのときはステップＳ５３に進む。ステップＳ５３において、制御装置１は、認識装置の文字列がＹ軸に平行に延在する明オブジェクトであると仮定して、ＯＣＲサブルーチンを実行する。ステップＳ５４において、制御装置１は、ＯＣＲに成功したか否かを判断し、ＹＥＳのときは図６のステップＳ７に進み、ＮＯのときはステップＳ５５に進む。ステップＳ５５において、制御装置１は、認識装置の文字列がＸ軸に平行に延在する暗オブジェクトであると仮定して、ＯＣＲサブルーチンを実行する。ステップＳ５６において、制御装置１は、ＯＣＲに成功したか否かを判断し、ＹＥＳのときは図６のステップＳ７に進み、ＮＯのときはステップＳ５７に進む。ステップＳ５７において、制御装置１は、認識装置の文字列がＹ軸に平行に延在する暗オブジェクトであると仮定して、ＯＣＲサブルーチンを実行し、その後、図６のステップＳ７に進む。
【００６４】
図１０は、図９のステップＳ５１，Ｓ５３，Ｓ５５，Ｓ５７におけるＯＣＲサブルーチンの第１の部分を示すフローチャートである。図１１は、図９のステップＳ５１，Ｓ５３，Ｓ５５，Ｓ５７におけるＯＣＲサブルーチンの第２の部分を示すフローチャートである。
【００６５】
図１０のステップＳ６１において、制御装置１は、候補オブジェクトのラベリングを行って、予め決められた方向に延在して互いに近接した複数のオブジェクトを文字列候補として抽出する。図３０は、図１０のステップＳ６１において抽出された文字列候補の例を示す図である。図３１は、図１０のステップＳ６１における文字列候補の抽出を示す図である。図３１において、文字列候補を抽出するための文字列候補マスク３１は、例えば、幅ｗ２＝７５画素、高さｈ２＝３画素を有する。ある位置に配置された文字列候補マスク３１が候補オブジェクトの画素を１つでも含むとき、文字列候補マスク３１内の領域は、文字列候補の一部であると判断される。文字列候補マスク３１を目標領域の全体にわたってスキャンし、個別の連結した文字列候補に対してラベルを付与する。
【００６６】
ステップＳ６１において候補オブジェクトのラベリングを行って文字列候補を抽出するとき、近接した複数の文字列が１つの文字列候補として抽出される可能性がある。従って、いったん文字列候補を文字候補に分離し、各文字候補の特徴量（幅及び高さ）に基づいて、類似した特徴量を有する文字候補を文字列候補として再結合する。図１０のステップＳ６２において、制御装置１は、各文字列候補中のオブジェクトのラベリングを行って当該文字列候補に含まれる複数の文字候補を抽出し、各文字候補のバウンディングボックスを生成する。各バウンディングボックスは、文字列候補が延在する方向に平行な幅及び文字列候補が延在する方向に直交する高さを有する矩形形状をそれぞれ有し、各文字候補をそれぞれ包囲する最小外接矩形である。ステップＳ６３において、制御装置１は、各バウンディングボックスを、その幅及び高さに基づいて、当該バウンディングボックスの高さが低いほど当該バウンディングボックスの幅を拡大するように変形する。ステップＳ６４において、制御装置１は、変形により連結されたバウンディングボックスに含まれる文字候補の組を、新たな文字列候補として抽出する。図３２は、図１０のステップＳ６２において抽出された文字候補及び生成されたバウンディングボックスの例を示す図である。
【００６７】
図３３Ａは、図１０のステップＳ６１において抽出された文字列候補の例を示す図である。図３３Ｂは、図１０のステップＳ６２において抽出された文字候補及び生成されたバウンディングボックス４２の例を示す図である。図３３Ｃは、図１０のステップＳ６３において変形されたバウンディングボックス４３の例を示す図である。図３３Ｄは、図１０のステップＳ６４において抽出された新たな文字列候補の例を示す図である。図３３Ａの文字列候補は、２つの文字列「２０１２．１」及び「ａｂｃ」を含んでいるが、１つの文字列候補として抽出されている。図３３Ａには、説明のために、文字列候補のバウンディングボックス４１を示す。次に、図３３Ｂに示すように、図３３Ａの文字列候補中のオブジェクトのラベリングを行って当該文字列候補に含まれる複数の文字候補を抽出し、各文字候補のバウンディングボックス４２を生成する。各文字候補のバウンディングボックス４２は、幅ｗ３及び高さｈ３を有する。次に、図３３Ｃに示すように、各バウンディングボックスを、その幅及び高さに基づいて変形する。変形後のバウンディングボックス４３の幅ｗ３’及び高さｈ３’は、次式によって得られる。
【００６８】
【数７】
2015008732.tif 000009
【００６９】
【数８】
2015008732.tif 000010
【００７０】
ここで、Ｗは、各文字候補のバウンディングボックス４２の幅の最大値であり、Ｈは、各文字候補のバウンディングボックス４２の高さの最大値である。
【００７１】
図３３Ｃに示すように、各文字候補のバウンディングボックスは、高さｈ３が低いほど幅ｗ３を拡大するように変形される。従って、「．」及び「１」の距離は「１」及び「ａ」の距離よりも大きいが、変形後のバウンディングボックス４３では、「．」及び「１」が連結され、「１」及び「ａ」が分離されている。図３３Ｄに示すように、変形により連結されたバウンディングボックスに含まれる文字候補の組を、新たな文字列候補として抽出する。図３３Ｄには、説明のために、新たな文字列候補のバウンディングボックス４１ａ，４１ｂを示す。
【００７２】
図３４Ａは、図１０のステップＳ６１において抽出された文字列候補の他の例を示す図である。図３４Ｂは、図１０のステップＳ６２において抽出された文字候補及び生成されたバウンディングボックス４２の他の例を示す図である。ステップＳ６４において、変形により連結されたバウンディングボックスに含まれる文字候補の組が新たな文字列候補として抽出されないとき、図３４Ａの文字列候補に含まれていたオブジェクトは、ノイズとして削除される。
【００７３】
次いで、ステップＳ６５〜Ｓ６７では、誤認識の防止のために、明らかに日付の文字列ではない文字列候補を削除する。
【００７４】
図１０のステップＳ６５において、制御装置１は、１０個より多数の文字候補を含む文字列候補を削除する。日付の文字列は、たかだか１０個以下の文字を含むと考えられる。従って、１０個より多数の文字候補を含む文字列候補は、ノイズとして削除される。
【００７５】
次いでステップＳ６６において、制御装置１は、高さ方向において２個以上のオブジェクトを含む文字候補のみを含む文字列候補を削除する。ここでは、各文字候補において、当該文字候補に含まれるオブジェクトを高さ方向に連結し、連結後のオブジェクトの個数を数える。数字「０」〜「９」は単一の連結されたオブジェクトである。従って、文字列候補が日付であるならば、当該文字列候補に含まれるすべての文字候補が、高さ方向においてただ１つのオブジェクトを含むはずである。しかしながら、日付の文字列であるにもかかわらずノイズなどに起因して高さ方向において２個以上のオブジェクトを含む文字候補が存在する可能性（余分なオブジェクトが存在する場合、連結したオブジェクトが切断されている場合、など）を考慮して、高さ方向において２個以上のオブジェクトを含む文字候補のみを含む文字列候補を、ノイズとして削除する。図３６Ａは、図１０のステップＳ６４において抽出された文字列候補の例を示す図である。図３６Ｂは、図３６Ａの文字列候補に含まれる各文字候補の高さ方向におけるオブジェクトの個数を示す図である。図３６Ｂの文字候補５１の上に、各文字候補の高さ方向におけるオブジェクトの個数を示す。
【００７６】
図３７Ａは、図１０のステップＳ６４において抽出された文字列候補の他の例を示す図である。図３７Ｂは、図３７Ａの文字列候補に含まれる各文字候補の高さ方向におけるオブジェクトの個数を示す図である。図３７Ａ及び図３７Ｂは、文字列が縦に延在するにもかかわらず、誤って横に延在するものとして処理している例である。図３７Ｂに示すように、各文字候補の高さ方向におけるオブジェクトの個数はすべて２個以上であるので、図３７Ａ及び図３７Ｂの文字列候補は、ノイズとして削除される。
【００７７】
次いでステップＳ６７において、制御装置１は、各オブジェクトにおけるエッジの画素が輪郭の画素に一致する部分がエッジの画素の面積（画素数）の６０％以下である文字列候補を削除するある領域から明オブジェクト及び暗オブジェクトの候補オブジェクトを抽出したとき、それらの一方にのみ正しい文字列候補が含まれる。正しく抽出された候補オブジェクトでは、そのエッジの画素が輪郭の画素に実質的に一致すると考えられる。一方、他方の候補オブジェクトから抽出された文字列候補は、ノイズとして削除される。オブジェクトのエッジとして、図８のステップＳ３７で抽出されたエッジを使用する。図３８Ａは、入力画像の例を示す図である。図３８Ｂは、図３８Ａの画像から抽出された明オブジェクトの候補オブジェクトを示す図である。図３８Ｃは、図３８Ｂの候補オブジェクトの輪郭を示す図である。図３８Ｄは、図３８Ａの画像から抽出されたエッジを示す図である。図３９Ａは、入力画像の例を示す図である。図３９Ｂは、図３９Ａの画像から抽出された暗オブジェクトの候補オブジェクトを示す図である。図３９Ｃは、図３９Ｂの候補オブジェクトの輪郭を示す図である。図３９Ｄは、図３９Ａの画像から抽出されたエッジを示す図である。図３８Ａ及び図３９Ａの入力画像は、暗オブジェクトを含む。従って、図３９Ｃの輪郭及び図３９Ｄのエッジは実質的に一致しているが、図３８Ｃの輪郭及び図３８Ｄのは一致しない。
【００７８】
図３５は、図１０のステップＳ６５，Ｓ６６，Ｓ６７において一部の文字列候補を削除した後の文字列候補の例を示す図である。図３０に比較して、ノイズが削減されていることがわかる。
【００７９】
次いで図１１のステップＳ６８において、制御装置１は、エッジ強度及び領域輝度判定処理を実行する。
【００８０】
図１２は、図１１のステップＳ６８におけるエッジ強度及び領域輝度判定処理のサブルーチンを示すフローチャートである。
【００８１】
図１２のステップＳ９０において、制御装置１は、１つの文字列候補を選択する。ステップＳ９１において、制御装置１は、文字候補の領域の輪郭を抽出して膨張させる。ここで、文字候補の領域の輪郭の画素に１画素を付加することにより膨張させる。ステップＳ９２において、制御装置１は、ステップＳ９１において膨張された輪郭に対してキャニーフィルタを適用し、文字列候補の領域のエッジを検出する。ここでは、ガウス関数の標準偏差σ＝１、高いしきい値Ｔｈ＿Ｈ＝３０、及び低いしきい値Ｔｈ＿Ｌ＝１０を有するキャニーフィルタを用いた。
【００８２】
ステップＳ９３において、制御装置１は、文字列候補の領域のエッジ強度の平均ｅｄｇｅ＿Ｍ及び偏差ｅｄｇｅ＿Ｄを計算する。エッジ強度の平均ｅｄｇｅ＿Ｍ及び偏差ｅｄｇｅ＿Ｄに基づき、次式を用いて、エッジ強度の基準範囲の下限ｅｄｇｅ＿Ｌ及び上限ｅｄｇｅ＿Ｈを計算する。
【００８３】
【数９】
2015008732.tif 000011
【００８４】
【数１０】
2015008732.tif 000012
【００８５】
次いでステップＳ９４において、制御装置１は、文字列候補の領域の輝度の平均Ｉ＿Ｍ及び偏差Ｉ＿Ｄを計算する。輝度の平均Ｉ＿Ｍ及び偏差Ｉ＿Ｄに基づき、次式を用いて、輝度の基準範囲の下限Ｉ＿Ｌ及び上限Ｉ＿Ｈを計算する。
【００８６】
【数１１】
2015008732.tif 000013
【００８７】
【数１２】
2015008732.tif 000014
【００８８】
ステップＳ９５において、制御装置１は、選択された文字列候補における１つの文字候補を選択する。ステップＳ９６において、制御装置１は、選択された文字候補の領域のエッジ強度の平均を計算する。ステップＳ９７において、制御装置１は、選択された文字候補の領域の輝度の平均を計算する。ステップＳ９８において、制御装置１は、選択された文字候補が、基準範囲外のエッジ強度及び輝度を有する場合には、その文字候補を削除する。詳しくは、下限ｅｄｇｅ＿Ｌ未満のエッジ強度又は上限ｅｄｇｅ＿Ｈより大きなエッジ強度を有する文字候補は、ノイズとして削除される。また、下限Ｉ＿Ｌ未満の輝度又は上限Ｉ＿Ｈより大きな輝度を有する文字候補は、ノイズとして削除される。
【００８９】
次いでステップＳ９９において、制御装置１は、未処理の文字候補があるか否かを判断し、ＹＥＳのときはステップＳ９５に進み、ＮＯのときはステップＳ１００に進む。ステップＳ１００において、制御装置１は、未処理の文字列候補があるか否かを判断し、ＹＥＳのときはステップＳ９０に進み、ＮＯのときは図１１のステップＳ６９に進む。
【００９０】
図４０は、図１１のステップＳ６８におけるエッジ強度及び領域輝度判定処理を説明するための入力画像の例を示す図である。図４１は、図１２のステップＳ９０において選択された文字列候補の例を示す図である。図４２は、図１１のステップＳ６８におけるエッジ強度及び領域輝度判定処理によって処理された文字列候補の例を示す図である。図４０〜図４２によれば、エッジ強度及び領域輝度に基づいてノイズが削減されていることがわかる。
【００９１】
図１１のステップＳ６９において、制御装置１は平均高さ判定処理を実行する。
【００９２】
図１３は、図１１のステップＳ６９における平均高さ判定処理のサブルーチンを示すフローチャートである。ステップＳ１０１において、制御装置１は、１つの文字列候補を選択する。ステップＳ１０２において、制御装置１は、各文字候補に含まれるオブジェクトを高さ方向に連結する。オブジェクトを高さ方向に連結するために、高さ方向にクロージング処理を行う（すなわち、領域の拡張処理を行い、次いで収縮処理を行う）。ステップＳ１０３において、制御装置１は、各文字候補の高さの平均及び偏差を計算し、高さの基準範囲を決定する。高さの基準範囲を決定するために、平均及び偏差を計算することに代えて、文字列候補中の各オブジェクトの高さの中間値を計算してもよい。この場合、例えば、５画素以上かつ高さの中間値の１．１倍以下の範囲を基準範囲としてもよい。ステップＳ１０４において、制御装置１は、規定範囲の高さをもたない文字候補を削除し、元の文字列候補から、文字候補の削除により分離された新たな文字列候補を抽出する。図４３Ａは、図１３のステップＳ１０１において選択された文字列候補の例を示す図である。図４３Ｂは、図１３のステップＳ１０４において抽出された新たな文字列候補の例を示す図である。文字候補４２ａはノイズとして削除され、新たな文字列候補４１ｃ，４１ｄが抽出される。次いで図１３のステップＳ１０５において、制御装置１は、未処理の文字列候補があるか否かを判断し、ＹＥＳのときはステップＳ１０１に進み、ＮＯのときは図１１のステップＳ７０に進む。
【００９３】
図１１のステップＳ７０において、制御装置１は、文字列候補の個数は０であるか否かを判断し、ＹＥＳのときは図９のステップＳ５２，Ｓ５４，Ｓ５６、又は図６のステップＳ７に進み、ＮＯのときはステップＳ７１に進む。ステップＳ７１において、制御装置１は、１つの文字列候補を選択する。ステップＳ７２において、制御装置１は、日付パターン判定処理を実行する。
【００９４】
図１４は、図１１のステップＳ７２，Ｓ７５における日付パターン判定処理のサブルーチンを示すフローチャートである。
【００９５】
制御装置１は、年を表す２桁又は４桁の数字と、月を表す１桁又は２桁の数字と、予め決められた約物とを含む複数の日付パターンを含むテーブルを内部に保持している。「２０１２年７月」を例にすると、日付は例えば以下のパターンを有する。
【００９６】
［表１］
―――――――――――――――――――――――――――――――――
（１）「２０１２．０７」  数字４桁＋ピリオド＋数字２桁
（２）「２０１２．７」    数字４桁＋ピリオド＋数字１桁
（３）「２０１２−０７」  数字４桁＋ハイフン＋数字２桁
（４）「２０１２−７」    数字４桁＋ハイフン＋数字１桁
（５）「’１２．０７」    アポストロフィ＋数字２桁＋ピリオド＋数字２桁
（６）「’１２．７」      アポストロフィ＋数字２桁＋ピリオド＋数字１桁
（７）「２０１２，０７」  （１）のピリオドが汚れている場合の予防措置
（８）「２０１２，７」    （２）のピリオドが汚れている場合の予防措置
―――――――――――――――――――――――――――――――――
【００９７】
各日付パターンは、数字及び約物がどのように並んでいるのかを特定する。
【００９８】
図１４のステップＳ１１１において、制御装置１は、文字列候補に対して英数字用ＯＣＲを行う。ステップＳ１１２において、制御装置１は、内部のテーブルに保持した日付パターンのうち１つの日付パターンを選択する。制御装置１は、以下のステップにおいて、ステップＳ１１１で認識された文字列が、ステップＳ１１２で選択された日付パターンに一致するか否かを判断する。ステップＳ１１３において、制御装置１は、文字列は日付パターンに一致したか否かを判断し、ＹＥＳのときはステップＳ１１４に進み、ＮＯのときはステップＳ１１５に進む。ステップＳ１１４において、制御装置１は、文字列は「明らかに数字と間違えることのない英字」を含むか否かを判断し、ＹＥＳのときはステップＳ１１５に進み、ＮＯのときはステップＳ１１７に進む。「明らかに数字と間違えることのない英字」は、例えば、「Ｏ」、「ｏ」、「Ｃ」、「ｃ」、「Ｕ」、「ｕ」、「Ｚ」、「ｚ」、「ｎ」、「Ｌ」、「ｌ」、「Ｉ」、「Ｊ」、「Ｄ」を含む。文字列が「明らかに数字と間違えることのない英字」を含むとき、文字列を日付ではないものとして認識する。ステップＳ１１５において、制御装置１は、すべての日付パターンを使用したか否かを判断し、ＹＥＳのときは図１１のステップＳ７３（又はステップＳ７６）に進み、ＮＯのときはステップＳ１１２に戻り、他の日付パターンを選択する。ステップＳ１１７において、制御装置１は、文字列中の文字の高さは一定であるか否かを判断し、ＹＥＳのときはステップＳ１１６に進み、ＮＯのときはステップＳ１１３に戻る。ステップＳ１１６において、制御装置１は、文字列は英字を含むか否かを判断し、ＹＥＳのときはステップＳ１１７に進み、ＮＯのときはステップＳ１１８に進む。ステップＳ１１７において、制御装置１は、文字列候補に対して数字用ＯＣＲを行い、文字列候補が英字を含んでいても、それを数字として認識する。
【００９９】
ステップＳ１１７の後で、傾き補正を行ってもよい。傾き補正を行うことにより、「１」を含む文字列を誤りなく認識することができる。
【０１００】
図１４のステップＳ１１８において、制御装置１は、文字列は日付であるか否かを判断し、ＹＥＳのときは図１１のステップＳ７３（又はステップＳ７６）に進み、ＮＯのときはステップＳ１１３に戻る。
【０１０１】
図１１のステップＳ７３において、制御装置１は、日付パターンの判定に成功したか否かを判断し、ＹＥＳのときは図９のステップＳ５２，Ｓ５４，Ｓ５６、又は図６のステップＳ７に進み、ＮＯのときはステップＳ７４に進む。ステップＳ７４において、制御装置１は、文字列候補を１８０度回転する。ステップＳ７５において、制御装置１は、１８０度回転された文字列候補に対して、前述のものと同じ日付パターン判定処理を実行する。ステップＳ７６において、制御装置１は、日付パターンの判定に成功したか否かを判断し、ＹＥＳのときは図９のステップＳ５２，Ｓ５４，Ｓ５６、又は図６のステップＳ７に進み、ＮＯのときはステップＳ７７に進む。ステップＳ７７において、制御装置１は、未処理の文字列候補があるか否かを判断し、ＹＥＳのときはステップＳ７１に戻り、ＮＯのときは図９のステップＳ５２，Ｓ５４，Ｓ５６、又は図６のステップＳ７にステップＳに進む。
【０１０２】
図６のステップＳ７において、制御装置１は、ＯＣＲに成功したか否か、すなわち、使用期限の日付を表す文字列の抽出に成功したか否かを判断し、ＹＥＳのときはステップＳ８に進み、ＮＯのときはステップＳ１０に進む。月が「１」であると認識した場合、実際には「１０」〜「１２」であるところ、容器１３の角度などに起因して誤って「１」であると認識している可能性がある。以下のステップでは、１つの入力画像に係る文字列候補が月を表す数字として「１」のみを含むとき、他の入力画像に係る文字列候補が月を表す数字として「１」のみを含むか否かを判断する。ステップＳ８において、制御装置１は、月は「１」であるか否かを判断し、ＹＥＳのときはステップＳ９に進み、ＮＯのときはステップＳ１２に進む。ステップＳ９において、制御装置１は、同じ日付を２回検出したか否かを判断し、ＹＥＳのときはステップＳ１２に進み、ＮＯのときはステップＳ１０に進む。ステップＳ１０において、制御装置１は、容器１３を１周させたか否かを判断し、ＹＥＳのときはステップＳ１３に進み、ＮＯのときはステップＳ１１に進む。ステップＳ１１において、制御装置１は、容器１３を回転させる。例えば、容器１３を１５度ずつ回転させる場合には、合計で２４個の入力画像を取得することができる。また、容器１３の直径が異なる場合であっても一定の角度毎に画像を取得するために、容器１３を２周にわたって回転させて直径を検出し、一定の時間間隔で容器１３の画像を取得しながら、その直径に応じて異なる速度で容器１３を回転させてもよい。ステップＳ１２において、制御装置１は、日付を出力する。ステップＳ１３において、制御装置１は、エラーを出力する。
【０１０３】
以上説明したように、本実施形態に係る光学文字認識装置によれば、文字列の画像に含まれるさまざまなノイズを、文字列を光学的に認識する前に予め除去することにより、従来よりも高い精度で日付を表す文字列を認識することができる。
【０１０４】
入力画像は、円筒形状の容器の画像に限定されず、他の画像であってもよい（平坦な物体の画像、又は任意の画像データ）。
【０１０５】
制御装置１が外部のＰＣ９に接続されているとき、図６〜図１４の日付検出処理は、少なくとも部分的にＰＣ９によって実行されてもよい。
【０１０６】
以上説明したように日付を表す文字列を認識する光学文字認識方法を実施してもよい。また、そのような光学文字認識方法は、コンピュータによって実行されたときに文字列を光学的に認識するコンピュータプログラムとして実施されてもよい。また、そのようなコンピュータプログラムは、コンピュータにより読み取り可能な記録媒体に格納されてもよい。例えば、図１の記録媒体１０にそのようなコンピュータプログラムを格納し、ＰＣ９は、記録媒体１０からコンピュータプログラムを読み取ったとき、当該コンピュータプログラムに従って光学文字認識方法を実施する。
【０１０７】
第２の実施形態．
第１の実施形態に係る光学文字認識装置は、日付が予め決められた約物を含み、通常の書体を有する文字で印字されていれば、従来よりも高い精度で日付を表す文字列を認識することができる。しかしながら、特殊な約物を含む日付（例えば、「２０１５／５」、「２０１５  ５」）、特殊な書体（例えば、互いに分離した複数のドットからなるもの）を有する文字で印字された日付、など（以下、特殊パターンという）を認識するためには、図６〜図１４の日付検出処理におけるさまざまな判断の条件（しきい値など）を緩和して、多数の文字列候補を抽出する必要がある。日付検出処理における判断の条件を緩和すると、ノイズが増大し、日付検出処理を実行するのに必要な時間が長くなるので、実行時間の増大を抑えながら、特殊パターンの日付を認識できることが望まれる。
【０１０８】
図４４は、本発明の第２の実施形態に係る光学文字認識装置の制御装置１によって実行される日付検出処理を示すフローチャートである。図４４のステップＳ１〜Ｓ１２は、図６のステップＳ１〜Ｓ１２と同様である。図４４の日付検出処理は、図１のステップＳ１３に代えて、ステップＳ１４の特殊パターンの日付検出処理を含む。ステップＳ１４の特殊パターンの日付検出処理では、図４４のステップＳ２、Ｓ４、及びＳ６で用いたものよりも緩和した判断の条件（しきい値など）を設定して、図６の日付検出処理を実行する。特殊パターンの日付が印字された容器の種類及び数量は少なく、大部分の容器に印字された日付は、ある程度限定的な条件を設定した日付検出処理を実行することにより認識することができる。
【０１０９】
図４４の日付検出処理によれば、図４４のステップＳ１〜Ｓ１１を実行して日付の文字列を認識できなかったときのみ、ステップＳ１４の特殊パターンの日付検出処理を実行するので、実行時間の増大を抑えながら、特殊パターンの日付を認識することができる。
【０１１０】
第３の実施形態．
第１の実施形態に係る光学文字認識装置によれば、容器１３の異なる角度をそれぞれ表す複数の画像（入力画像）を取得するので、日付の文字列が円筒形状の容器の回転軸に直交しているとき（図３及び図４）、日付の全体が１つ画像中に入らない可能性がある。日付の文字列が、円筒形状の容器の側面の半周以上にわたっているときは、日付の全体を含む画像を取得することができない。
【０１１１】
図４５は、本発明の第３の実施形態に係る光学文字認識装置の制御装置１によって実行される日付検出処理を示すフローチャートである。図４５のステップＳ１〜Ｓ１２は、図６のステップＳ１〜Ｓ１２と同様である。図４５の日付検出処理は、図１のステップＳ１３に代えて、ステップＳ１５の連結画像の日付検出処理を含む。図４６は、図４５のステップＳ１５における連結画像の日付検出処理のサブルーチンを示すフローチャートである。前述のように、制御装置１は、ローラー８ａ，８ｂを用いて容器１３を一定角度ずつ回転させながらカメラ５により容器１３を撮影して、容器１３の異なる角度をそれぞれ表す複数の画像を取得する。図４６のステップＳ１Ａにおいて、制御装置１は、容器１３の互いに隣接する部分を含む複数の画像を連結して１つの連結画像を生成する。詳しくは、制御装置１は、互いに隣接する２画像において類似のオブジェクトを認識することにより、これらの画像を連結する。連結画像は、容器の側面を展開した平面画像である。制御装置１は、容器１３の曲面で湾曲している部分については、容器１３の幅を円柱の直径として、射影変換を用いて平面に補正する。図４６のステップＳ２〜Ｓ９、Ｓ１２、及びＳ１３は、図６のステップステップＳ２〜Ｓ９、Ｓ１２、及びＳ１３と同様である。
【０１１２】
連結画像の生成にはある程度の時間がかかるので、制御装置１は、図４５のステップＳ１５を実行する前に、連結画像を予め生成しておいてもよい。
【０１１３】
従来、円筒形状の物体の側面の画像を生成するために、ラインカメラが知られている。しかしながら、ラインカメラを用いるためには、ラインカメラ自体のコストがかかることに加えて、物体を高い精度で回転させるための機構を設けることのコストがかかる。薬品の容器はさまざまな形状及びサイズを有するので、ラインカメラによる撮影のために十分な精度で回転させるためのコストは非常に大きくなる。一方、図４５の日付検出処理によれば、通常のカメラにより撮影された複数の画像を連結して連結画像を生成することで、コストの増大を抑えることができる。
【０１１４】
図４５の日付検出処理によれば、図４５のステップＳ１〜Ｓ１１を実行して日付の文字列を認識できなかったときのみ、ステップＳ１５の連結画像の日付検出処理を実行するので、実行時間の増大を抑えながら、１つ画像中に入らない日付を認識することができる。
【０１１５】
第４の実施形態．
日付の文字列の直後（右側）に他の文字（「Ｏ」、「Ｊ」、「Ｚ」など）があるとき、他の文字が日付の一部であると誤って認識される可能性がある。従って、このような日付の一部ではない他の文字を文字列候補から除去する必要がある。
【０１１６】
図４７は、本発明の第４の実施形態に係る光学文字認識装置の制御装置１によって実行される日付検出処理の日付パターン判定処理のサブルーチンを示すフローチャートである。図４７の日付パターン判定処理は、図１１のステップＳ７２及びＳ７５において実行され、図１４のステップＳ１１３及びＳ１１４の間に追加のステップＳ１２１及びＳ１２２を含む。図４７のステップＳ１２１において、制御装置１は、日付パターンに一致した文字列の月を表す数字が「１０」、「１１」、「１２」のいずれかであるとき、以下に説明する基準に基づいて、日付の後に他の文字があるか否かを判断し、ＹＥＳのときはステップＳ１２２に進み、ＮＯのときはステップＳ１１４に進む。
【０１１７】
図４８は、日付の文字列及び他の文字を含む文字列候補の例を示す図である。日付「２０１６．１」の後に他の文字「ＣＪ９３２」が存在する。「Ｃ」を誤って「０」と認識すると、日付パターンに一致した文字列が誤って「２０１６．１０」と認識される。制御装置１は、日付の文字列「２０１６．１０」を検出したとき、その最後の「０」が実際に日付の一部であるのか否かを判断する。
【０１１８】
図４８の文字間の距離Ｄ１〜Ｄ１０は、画素数を単位として、例えば以下の通りである。
【０１１９】
［表２］
――――――――――――――
Ｄ１＝５０．４２３１
Ｄ２＝４９．８１０８
Ｄ３＝４３．７２６２
Ｄ４＝４４．１８７３
Ｄ５＝８２．８７４
Ｄ６＝８２．８９７４
Ｄ７＝５５．６７０９
Ｄ８＝３９．３３５
Ｄ９＝４９．１９３６
Ｄ１０＝４５．８４０４
――――――――――――――
【０１２０】
「２０１６．１０」の最後の「０」が日付の一部であるか否かを判断するために、まず、日付の文字間の距離Ｄ１〜Ｄ６を比較する場合を考える。この場合、最後の「１」と「０」との距離（「１」と「Ｃ」との距離）Ｄ６が、「．」と「１」との距離Ｄ５と同程度であるので、「２０１６．１０」の最後の「０」が日付の一部ではないと判断できない。
【０１２１】
本実施形態では、「２０１６．１０」の最後の「０」が日付の一部であるか否かを判断するために、距離Ｄ６と、「２０１６．１０」の後の文字間の距離Ｄ７〜Ｄ１０の平均値とを比較する。距離Ｄ６が距離Ｄ７〜Ｄ１０の平均値よりも大きいとき、制御装置１は、「２０１６．１０」の最後の「０」が日付の一部ではないと判断し、ステップＳ１２２において文字「ＣＪ９３２」を除去する。一方、距離Ｄ６が距離Ｄ７〜Ｄ１０の平均値以下であるとき、制御装置１は、「２０１６．１０」の最後の「０」が日付の一部であると判断する。これにより、日付の文字列の直後に他の文字があっても、高い精度で日付を表す文字列を認識することができる。
【０１２２】
以上説明したように、制御装置１は、文字列候補が、月を表す２つの数字と、月を表す２つの数字に後続する少なくとも１つの他の文字とを含むとき、かつ、月を表す２つの数字間の距離が、月を表す２つの数字と他の文字との距離及び他の文字間の距離の平均値より大きいとき（ステップＳ１２１）、月を表す２つの数字の１の位の数字及び他の文字を除去する（ステップＳ１２２）。
【産業上の利用可能性】
【０１２３】
本発明の光学文字認識装置、光学文字認識方法、コンピュータプログラム、及び記録媒体は、従来よりも高い精度で日付を表す文字列を認識することができる。
【符号の説明】
【０１２４】
１…制御装置、
２…レール、
３…移動装置、
４〜６…カメラ、
７ａ，７ｂ…照明装置、
８ａ，８ｂ…ローラー、
９…パーソナルコンピュータ（ＰＣ）、
１０…記録媒体、
１１，１２…トレー、
１３，１３ａ〜１３ｄ…容器、
２１…目標領域、
２２…トリミングされた目標領域、
３１…文字列候補マスク、
４１…文字列候補のバウンディングボックス、
４１ａ，４１ｂ…新たな文字列候補のバウンディングボックス、
４２，４２ａ…文字候補のバウンディングボックス、
４３…変形された文字候補のバウンディングボックス、
５１…文字候補。
【図１】
2015008732.tif 000015
【図２】
2015008732.tif 000016
【図３】
2015008732.tif 000017
【図４】
2015008732.tif 000018
【図５】
2015008732.tif 000019
【図６】
2015008732.tif 000020
【図７】
2015008732.tif 000021
【図８】
2015008732.tif 000022
【図９】
2015008732.tif 000023
【図１０】
2015008732.tif 000024
【図１１】
2015008732.tif 000025
【図１２】
2015008732.tif 000026
【図１３】
2015008732.tif 000027
【図１４】
2015008732.tif 000028
【図１５】
2015008732.tif 000029
【図１６】
2015008732.tif 000030
【図１７】
2015008732.tif 000031
【図１８】
2015008732.tif 000032
【図１９】
2015008732.tif 000033
【図２０】
2015008732.tif 000034
【図２１】
2015008732.tif 000035
【図２２Ａ】
2015008732.tif 000036
【図２２Ｂ】
2015008732.tif 000037
【図２２Ｃ】
2015008732.tif 000038
【図２３】
2015008732.tif 000039
【図２４】
2015008732.tif 000040
【図２５】
2015008732.tif 000041
【図２６】
2015008732.tif 000042
【図２７】
2015008732.tif 000043
【図２８】
2015008732.tif 000044
【図２９Ａ】
2015008732.tif 000045
【図２９Ｂ】
2015008732.tif 000046
【図２９Ｃ】
2015008732.tif 000047
【図２９Ｄ】
2015008732.tif 000048
【図２９Ｅ】
2015008732.tif 000049
【図２９Ｆ】
2015008732.tif 000050
【図３０】
2015008732.tif 000051
【図３１】
2015008732.tif 000052
【図３２】
2015008732.tif 000053
【図３３Ａ】
2015008732.tif 000054
【図３３Ｂ】
2015008732.tif 000055
【図３３Ｃ】
2015008732.tif 000056
【図３３Ｄ】
2015008732.tif 000057
【図３４Ａ】
2015008732.tif 000058
【図３４Ｂ】
2015008732.tif 000059
【図３５】
2015008732.tif 000060
【図３６Ａ】
2015008732.tif 000061
【図３６Ｂ】
2015008732.tif 000062
【図３７Ａ】
2015008732.tif 000063
【図３７Ｂ】
2015008732.tif 000064
【図３８Ａ】
2015008732.tif 000065
【図３８Ｂ】
2015008732.tif 000066
【図３８Ｃ】
2015008732.tif 000067
【図３８Ｄ】
2015008732.tif 000068
【図３９Ａ】
2015008732.tif 000069
【図３９Ｂ】
2015008732.tif 000070
【図３９Ｃ】
2015008732.tif 000071
【図３９Ｄ】
2015008732.tif 000072
【図４０】
2015008732.tif 000073
【図４１】
2015008732.tif 000074
【図４２】
2015008732.tif 000075
【図４３Ａ】
2015008732.tif 000076
【図４３Ｂ】
2015008732.tif 000077
【図４４】
2015008732.tif 000078
【図４５】
2015008732.tif 000079
【図４６】
2015008732.tif 000080
【図４７】
2015008732.tif 000081
【図４８】
2015008732.tif 000082
【国際調査報告】
2015008732.tif 000083
2015008732.tif 000084
2015008732.tif 000085
2015008732.tif 000086