(57)【特許請求の範囲】
【請求項１】
複数のドットパターンが配列されて成る認識対象を撮像して得られた画像を入力する画像入力手段と、前記入力画像から各ドットパターンを切り出して認識する認識処理手段と、前記認識処理手段による認識処理結果を出力する出力手段とを具備し、
前記認識処理手段は、
前記認識対象の配列を構成するドットパターンの数が登録される記憶手段；
前記入力画像に対し、画像を膨張するステップとこの膨張処理後の画像を前記ドットパターンの配列方向に向けて投影するステップとを繰り返す第１の処理／または、前記入力画像を前記ドットパターンの配列方法に向けて投影した後に、この投影処理により得られた投影像を膨張するステップを繰り返す第２の処理を、実行する投影像取得手段；
前記第１または第２の処理の実行中に投影像の数が前記記憶手段に登録されたドットパターンの数より少なくなったとき、投影軸方向の大きさが所定値を上回る投影像を分割する投影像分割手段；
の各手段を含み、前記投影像取得手段または投影像分割手段の処理により記憶手段に登録された数に対応する数の投影像が得られたとき、これらの投影像に基づき画像上のドットパターンを切り出すことを特徴とする画像処理装置。
【請求項２】
複数のドットパターンが配列されて成る認識対象を撮像して得られた画像を入力する画像入力手段と、前記入力画像から各ドットパターンを切り出して認識する認識処理手段と、前記認識処理手段による認識処理結果を出力する出力手段とを具備し、
前記認識処理手段は、
前記認識対象の配列を構成するドットパターンの数が登録される記憶手段；
前記入力画像に対し、画像を膨張するステップとこの膨張処理後の画像を前記ドットパターンの配列方向に向けて投影するステップとを繰り返す第１の処理／または、前記入力画像を前記ドットパターンの配列方法に向けて投影した後に、この投影処理により得られた投影像を膨張するステップを繰り返す第２の処理を、実行する投影像取得手段；
前記第１または第２の処理を所定回数以上実行した時点における投影像の数が前記記憶手段に登録されたドットパターンの数より多いとき、各投影像間の距離に基づき投影像の統合処理を実行する投影像統合手段；
の各手段を含み、前記投影像取得手段または投影像統合手段の処理により前記記憶手段に登録されたドットパターンの数に対応する数の投影像が得られたとき、これらの投影像に基づき画像上のドットパターンを切り出すことを特徴とする画像処理装置。
【請求項３】
複数のドットパターンが配列されて成る認識対象を撮像して得られた画像を入力する画像入力手段と、前記入力画像から各ドットパターンを切り出して認識する認識処理手段と、前記認識処理手段による認識処理結果を出力する出力手段とを具備し、
前記認識処理手段は、
前記認識対象の配列を構成するドットパターンの数が登録される記憶手段を具備し、前記入力画像を前記ドットパターンの配列方向に向けて投影した後に、この投影処理により得られた投影像を膨張するステップを、前記記憶手段に登録されたドットパターンの数に対応する数の投影像が得られるまで繰り返し、最終的に得られた投影像に基づき画像上のドットパターンを切り出すことを特徴とする画像処理装置。
【請求項４】
画像を入力する機能を有するコンピュータを、複数のドットパターンが配列されて成る認識対象を撮像して得られた画像が入力されたときに、その画像から各ドットパターンを切り出して認識する認識処理手段、およびこの認識処理手段による認識処理結果を出力する出力手段として機能させるためのプログラムであって、
認識対象の配列を構成するドットパターンの数の入力を受け付けて、その入力されたドットパターンの数を前記コンピュータのメモリに登録する登録処理手段として前記コンピュータを機能させるためのプログラムが含まれており、
前記認識処理手段は、
前記入力画像に対し、画像を膨張するステップとこの膨張処理後の画像を前記ドットパターンの配列方向に向けて投影するステップとを繰り返す第１の処理／または、前記入力画像を前記ドットパターンの配列方法に向けて投影した後に、この投影処理により得られた投影像を膨張するステップを繰り返す第２の処理を、実行する投影像取得手段；
前記第１または第２の処理の実行中に投影像の数が前記メモリに登録されたドットパターンの数より少なくなったとき、投影軸方向の大きさが所定値を上回る投影像を分割する投影像分割手段；の各手段を含み、前記投影像取得手段または投影像分割手段の処理により前記メモリに登録されたドットパターンの数に対応する数の投影像が得られたとき、これらの投影像に基づき画像上のドットパターンを切り出すように構成されていることを、特徴とする画像処理用のプログラム。
【請求項５】
画像を入力する機能を有するコンピュータを、複数のドットパターンが配列されて成る認識対象を撮像して得られた画像が入力されたとき、その画像から各ドットパターンを切り出して認識する認識処理手段、およびこの認識処理手段による認識処理結果を出力する出力手段として機能させるためのプログラムであって、
認識対象の配列を構成するドットパターンの数の入力を受け付けて、その入力されたドットパターンの数を前記コンピュータのメモリに登録する登録処理手段として前記コンピュータを機能させるためのプログラムが含まれており、
前記認識処理手段は、
前記入力画像に対し、画像を膨張するステップとこの膨張処理後の画像を繰り返す第１の処理／または、前記入力画像を前記ドットパターンの配列方法に向けて投影した後に、この投影処理により得られた投影像を膨張するステップを繰り返す第２の処理を、実行する投影像取得手段；
前記第１または第２の処理を所定回数以上実行した時点における投影像の数が前記メモリに登録されたドットパターンの数より多いとき、各投影像間の距離に基づき投影像の統合処理を実行する投影像統合手段；の各手段を含み、前記投影像取得手段または投影像統合手段の処理により前記メモリに登録されたドットパターンの数に対応する数の投影像が得られたとき、これらの投影像に基づき画像上のドットパターンを切り出すように構成されていることを、特徴とする画像処理用のプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、画像処理により文字や記号などのパターンを認識する技術分野に属するもので、特に、ドット印字された複数のパターンが配列されたものを認識する場合に、処理対象の画像から各パターンを切り出すための技術に関連する。
【０００２】
【従来の技術】
ペットボトル入り飲料や缶入り飲料などの製造工場では、出荷前の製品のボトルや缶の表面に、専用のインクジェットプリンタにより消費期限や製造番号などを印字している。さらに印字処理後の製品は、ＣＣＤカメラや画像処理装置を含む検査ラインに順に搬送され、ここで印刷状態が不良と判断されると、出荷の対象から除外される。
【０００３】
一般的な文字列の認識処理においては、認識対象の文字列の画像を水平方向および垂直方向の各方向に向けて投影し、各投影軸毎に現われた投影像により個々の文字を含む画像領域を切り出した後、これら画像領域を認識対象領域として、その領域内の画像をあらかじめ登録された基準の画像と照合するなどして、各文字を認識する。ただし、上記の検査のようにドット文字列を認識対象とする場合には、１つの文字のパターンが離散した状態で投影されてしまうので、先に画像を膨張処理してドットを連結させてから、その膨張画像に対して前記投影処理や切り出し処理を行うようにしている（特開平８−１３８０４９号公報）。
【０００４】
【発明が解決しようとする課題】
上記した検査ラインでは多数の製品が次々と搬送されるため、検査は完全に自動化されるのが望ましい。しかしながら自動化のために画像の膨張処理回数を固定すると、印字の際のずれや印刷条件の変更などによって、ドット間隔やドットの大きさが通常と異なる製品が混入した場合には、同じ膨張処理回数で対応できなくなる。このような原因で文字の切り出し処理に失敗すると、不良と判断する必要のない文字列に対してまで不良判定がなされてしまい、検査の精度が大幅に低下する、という問題が生じる。
【０００５】
また適正な膨張回数を設定するためには、モデルの画像を用いて試験的な膨張処理を何度も繰り返すなど、手間のかかる設定作業が必要である。したがって製品の種類やプリンタの機種が変わるなどして、文字の大きさやドット間隔が変化すると、その都度、膨張回数の設定を変更しなければならなくなり、設定作業に手間がかかる、という問題が生じる。
【０００６】
この発明は上記問題点に着目してなされたもので、認識対象のドットパターンに応じた最適な膨張処理を自動的に行うようにして、高精度の認識処理を効率良く行うことを目的とする。
【０００７】
【課題を解決するための手段】
この発明は、複数のドットパターンが配列されて成る認識対象を撮像して得られた画像から各ドットパターンを切り出して認識する機能を有する画像処理装置、およびこの画像処理装置としてコンピュータを機能させるためのプログラムについてなされたものである。なお、ここでいう「ドットパターン」とは、複数のドットにより表された文字、記号などのパターンであって、主として、インクジェットプリンタなどにより所定の対象物上に印刷されたパターンを指す。ただしこの発明の認識対象はこれに限らず、たとえばスクリーン上に表示されたドットパターンを認識対象とすることもできる。
【０００８】
この発明にかかる画像処理装置は、上記認識対象を撮像して得られた画像を入力する画像入力手段と、前記入力画像から各ドットパターンを切り出して認識する認識処理手段と、前記認識処理手段による認識処理結果を出力する出力手段とを具備する。
この発明にかかる第１の画像処理装置における認識処理手段は、認識対象の配列を構成するドットパターンの数が登録される記憶手段；前記入力画像に対し、画像を膨張するステップとこの膨張処理後の画像を前記ドットパターンの配列方向に向けて投影するステップとを繰り返す第１の処理／または、前記入力画像を前記ドットパターンの配列方法に向けて投影した後に、この投影処理により得られた投影像を膨張するステップを繰り返す第２の処理を、実行する投影像取得手段；前記第１または第２の処理の実行中に投影像の数が前記記憶手段に登録されたドットパターンの数より少なくなったとき、投影軸方向の大きさが所定値を上回る投影像を分割する投影像分割手段；の各手段を含み、前記投影像取得手段または投影像分割手段の処理により記憶手段に登録されたドットパターンの数に対応する数の投影像が得られたとき、これらの投影像に基づき画像上のドットパターンを切り出すように構成される。
【０００９】
前記投影像取得手段が第１の処理を実行する場合、たとえば入力画像を２値化した後に、投影処理によって、ドットパターンの配列方向に沿うドットの分布状態を２次元のヒストグラムとして表す。この場合、ヒストグラム上で個々に独立する山の部分をそれぞれ投影像として抽出することができる。また多値画像を処理対象とする場合であれば、投影処理により、文字の高さ方向に沿って濃度を加算したヒストグラムを作成する。この場合には、ヒストグラムにおいて所定のしきい値以上となる部分を投影像として抽出することができる。
【００１０】
なお、「記憶手段に登録されたドットパターンの数に対応する数」は、ドットパターンの登録数と同じ数とするのが好ましい。
第１の処理を実行する場合、最初の段階では、各ドットが離散しているため、投影処理により得られる投影像の数はドットパターンの登録数より多くなるが、画像の膨張処理を繰り返すことにより、１つのドットパターン中の各ドットが連結し、投影像の数も登録数に近づいていく。
【００１３】
また投影像取得手段が第２の処理を実行する場合には、認識対象の画像を投影して投影像を得た後に、その投影像を膨張する処理を繰り返すことによって、最初は離散していた投影像がドットパターン毎に連結される。
よって、認識対象の配列を構成するドットパターンの数をあらかじめ記憶手段に登録しておけば、ドット間の間隔やドットの大きさに変動が生じた認識対象に対しても、第１または第２の処理によりドットパターンの登録数分の投影像を得ることができるから、これらの投影像に基づき各ドットパターンを精度良く切り出すことができる。
【００１４】
また、第１の画像処理装置では、たとえば印刷のずれによりドットパターン間の間隔が通常よりも小さくなったために、膨張処理によって２つのドットパターンに対応する投影像が連結し、投影像の数が認識対象の配列を構成するドットパターンの数より小さくなった場合でも、投影像分割手段の処理によって連結された投影像を切り離すことができる。よって、第１または第２の処理の実行中に投影像の数がドットパターンの登録数より小さくなった場合でも、投影像分割手段の処理によって登録数分の投影像を得ることができるから、各ドットパターンを個別に精度良く切り出すことが可能となり、認識精度の低下を防ぐことができる。
【００１５】
つぎに、この発明にかかる第２の画像処理装置における認識処理手段は、第１の画像処理装置におけるのと同様の記憶手段および投影像取得手段を具備するとともに、第１または第２の処理を所定回数以上実行した時点における投影像の数が前記記憶手段に登録されたドットパターンの数より多いとき、各投影像間の距離に基づき投影像の統合処理を実行する投影像統合手段を含み、投影像取得手段または投影像統合手段の処理により記憶手段に登録されたドットパターンの数に対応する数の投影像が得られたとき、これらの投影像に基づき画像上のドットパターンを切り出すようにしている。
【００１６】
第２の画像処理装置によれば、１つのドットパターン内の一部のドットに大きなずれが生じるなどして、第１または第２の処理にかかる膨張処理を繰り返しても、投影像の数が本来のドットパターンの数を上回る場合には、統合処理によって投影像の数をドットパターンの登録数と同じ数にまで収束することができる。よって膨張処理回数をあらかじめ定めた基準回数以内に留めることができ、ドットパターンの切り出し処理にかかる効率を落とさずに精度の良い切り出し処理を行うことができる。
【００１７】
つぎに、この発明にかかる第３の画像処理装置における認識処理手段も、前記第１、第２の装置と同様の記憶手段を具備する。また、この認識処理手段は、入力画像をドットパターンの配列方向に向けて投影した後に、この投影処理により得られた投影像を膨張するステップを、前記記憶手段に登録されたドットパターンの数に対応する数の投影像が得られるまで繰り返し、最終的に得られた投影像に基づき画像上のドットパターンを切り出すようにしている。
【００１８】
上記第１〜３の画像処理装置において、画像入力手段は、外部の撮像手段などから認識対象の画像を取り込むためのもので、入力用のインターフェース、Ａ／Ｄ変換回路などのほか、２値化回路を含むことができる。ただし、入力画像は、アナログ画像に限らず、ディジタル画像を取り込むこともできる。また２値化回路は必ずしも必要ではなく、濃淡画像データを処理対象とすることもできる。
また前記撮像手段は画像処理装置の外部に限らず、画像処理装置の装置本体に一体に組み込むこともできる。
【００１９】
この発明にかかる画像処理用のプログラムは、画像を入力する機能を有するコンピュータを、複数のドットパターンが配列されて成る認識対象を撮像して得られた画像が入力されたとき、その画像から各ドットパターンを切り出して認識する認識処理手段、およびこの認識処理手段による認識処理結果を出力する出力手段として機能させるためのもので、認識対象の配列を構成するドットパターンの数の入力を受け付けて、その入力されたドットパターンの数を前記コンピュータのメモリに登録する登録処理手段として前記コンピュータを機能させるためのプログラムが含まれる。なお、登録処理手段によりドットパターンの数が登録されたメモリは、前記した記憶手段に相当するものである。
さらに、このプログラムは、前記認識処理手段を、第１または第２の画像処理装置の認識処理手段と同様の構成を具備する手段として構成する。
【００２０】
なお、切り出し処理の後に実行される認識処理は、この装置の使用目的に応じて適宜設定することができる。たとえば前記したような検査ラインのように、文字列が正しく印字されているかどうかを判別する目的で使用する場合には、切り出された各ドットパターンをそれぞれ登録されたモデルパターンと照合し、各照合結果を統合して文字列の適否を判別する。また異なる文字列を認識対象として各文字列の認識処理を行う場合には、切り出された各ドットパターンをそれぞれ各種文字のモデルパターンと順に照合して、それぞれのドットパターンに相当する文字を特定する処理を行うことになる。
【００２１】
【発明の実施の形態】
図１は、この発明にかかる画像処理装置１の適用例を示す。
この実施例の画像処理装置１は、工場において、製品５に印字されたドット文字列（文字のドットパターンのほか記号のドットパターンを含む場合もあるが、以下では、これらのパターンを「ドット文字」または単に「文字」という。）の印字状態を検査するためのもので、ＣＣＤカメラ２，モニタ３，外部装置４などの周辺機器とともに、搬送用のコンベヤ６の近傍位置に配備される。
【００２２】
前記ＣＣＤカメラ２（以下、単に「カメラ２」という。）は、レンズを前記コンベヤ６に向けて配備され、前記コンベヤ６上を搬送される製品５を順に撮像し、画像処理装置１に出力する。モニタ３は、処理中の画像を表示するほか、適宜、検査結果などを表示するのに使用される。外部装置４は、コントローラ，キーボード，コンソールなど、データ入力に使用可能な機器であり、検査対象のドット文字列の文字列長や前記良否判定のための基準値などの設定データの入力に用いられる。
【００２３】
図２は、前記画像処理装置１の電気構成を示す。
この画像処理装置１は、マイクロプロセッサ（ＭＰＵ）から成る処理部１１にＲＯＭ１２，ＲＡＭ１３，画像メモリ１４などのメモリが接続されるほか、Ａ／Ｄ変換器１５，Ｄ／Ａ変換器１６，入出力部１７などが組み込まれて成る。前記ＲＯＭ１２には、ドット文字列の認識処理や良否判定処理のためのプログラムのほか、各種ドットパターンのモデルデータを登録した辞書ファイルなどが格納される。一方、ＲＡＭ１３は、前記外部装置４から入力された設定データを記憶するなど、処理部１１の作業エリアとして使用される。
【００２４】
Ａ／Ｄ変換器１５は、前記カメラ２からの濃淡画像データを取り込んでこれをディジタル変換する。画像メモリ１４は、Ａ／Ｄ変換器１５により変換されたディジタル量の濃淡画像を保存するほか、この濃淡画像を認識処理のために２値化処理して得られる２値画像を格納するエリアを具備する。Ｄ／Ａ変換器１６は、前記濃淡画像をアナログ量の表示用信号に変換してモニタ３に出力する。また入出力部１７は、処理部１１が前記外部装置４やモニタ３に対してデータの入出力を行う際に使用されるインターフェースである。
【００２５】
図３は、前記画像処理装置１における検査の手順を示す。なお、以下の説明および処理手順を示す図面においては、各処理のステップを「ＳＴ」として示す。図３において、まず最初のＳＴ１で、画像メモリ１４にカメラ２からの濃淡画像が入力されると、処理部１１は、この濃淡画像を所定のしきい値で２値化処理して、認識処理用の２値画像（以下、この画像を「処理対象画像」と呼ぶ。）を生成する（ＳＴ２）。
【００２６】
つぎのＳＴ３では、前記処理対象画像において、検査対象のドット文字列を構成する各文字を切り出す処理を行う。この切り出し処理では、詳細については後記するが、前記画像の膨張処理や投影処理を繰り返して、最終的に各文字毎に、その文字の位置および大きさに対応する矩形状の領域を認識対象領域として設定する。この文字切り出し処理が終了すると、処理部１１は、つぎのＳＴ４で、切り出された各認識対象領域毎に、前記ＲＯＭ１２の辞書ファイルに格納されたモデルパターンとの照合処理を行って各文字の良否を判定する。
【００２７】
この後、処理部１１は、各文字毎の判定結果を統合して、ドット文字列に対する良否判定を行い、ＳＴ５でこの判定結果をモニタに表示するほか、図示しない上位装置などに出力する。
【００２８】
つぎに文字の切り出し処理の原理について説明する。
図４は、文字の切り出し処理において行われる膨張処理の具体例を示す。図中の各矩形は１画素に対応するもので、このうちの黒画素がドットを構成する画素となる。図示例では、各黒画素につき、それぞれ周囲４近傍の画素（上下、左右の４画素）を黒画素とすることによって、文字を構成するドットの数を増やすようにしている。
【００２９】
よってこの膨張処理を重ねることによって、ドット文字の各ドットが連結するので、ドットパターンではない通常の文字パターンと同様に、投影処理によって各文字を切り出すことが可能となる。
【００３０】
図５は、投影処理によってドット文字列の各文字を切り出す例を示す。図示例のドット文字列は、水平方向（ｘ軸方向）に沿って１０個の文字が配列された構成をとるので、処理対象画像を文字の配列方向であるｘ軸に向けて投影すると、文字毎に切り分けられた１０個の投影像Ａ１〜Ａ１０を得ることができる。またここでは図示しないが、各投影像Ａ１〜Ａ１０に対応する画像部分をそれぞれ個別にｙ軸方向に向けて投影することによって、各文字の高さに対応する投影像を得ることができる。さらにこれらの投影処理結果を統合すると、各文字毎に、その文字の幅および高さに応じた矩形状の領域Ｒ１〜Ｒ１０を設定することができる。この矩形領域Ｒ１〜Ｒ１０は前記した認識対象領域として、以後の認識処理のために用いられることになる。
【００３１】
ところで、この実施例の検査対象であるドット文字列は、各製品を搬送しつつ高速の印字処理によって印刷されたものであるため、搬送用のコンベヤの速度やプリンタの状態などによってドットの間隔やドットの大きさにばらつきが起こる可能性が高い。このため検査対象によって、適切な文字の切り出しを行うのに必要な画像の膨張処理回数が変動する場合がある。
【００３２】
図６は、前記最適な投影像を得るための膨張回数が処理対象のドット文字列の状態によって変動する例を示す。
図６（１）（２）において、下段は検査対象のドット文字列の２値画像であり、いずれのドット文字列も、３個の文字「Ａ」「Ｂ」「Ｃ」を順に並べて成る。なお、図６（１）（２）ともに、左端の画像が元の処理対象画像であり、矢印方向に進むほど、膨張処理を重ねた画像に変化する。またこれらの画像の上方には、それぞれその画像を文字の配列方向に向けて投影したときに得られる投影像の分布状態を示す。
【００３３】
上記図６（１）と図６（２）とでは、検査対象のドット文字列のドットの大きさが異なっており、ドットの小さな文字列を対象とする図６（１）では、膨張処理を２回行うことによって、各文字に対応する３個の投影像が得られる。これに対し、ドットの大きな文字列を対象とする図６（２）の例では、膨張処理を１回行うだけで各文字に対応する投影像を得ている。
【００３４】
このようにドットの大きさや間隔が変わると、画像の膨張処理の回数を変更する必要が生じる。
一方、この実施例の検査対象であるドット文字列は、製造年月日，製品コードなど、桁数が一定の文字列であり、適度な膨張処理が行われた画像であれば、前記図５に示したように、検査対象の文字列の桁数と同じ数の投影像を得ることができる。そこでこの実施例の画像処理装置１では、あらかじめ検査対象のドット文字列を構成する文字数を外部装置４などから入力してＲＡＭ１３に保存しておき、この登録文字数分の投影像が得られるまで画像の膨張処理と投影処理とを繰り返すことによって、文字の切り出し処理を適正かつ効率良く行うようにしている。
【００３５】
図７は、前記ＳＴ３の文字切り出し処理の詳細な手順を示す。
まず最初のＳＴ３０１では、処理対象画像をｘ軸方向に向けて投影する。なお、ここでの処理対象画像は２値画像であるので、前記投影処理結果は、ｘ軸方向に沿う黒画素数を示すヒストグラムに相当するものとなる。つぎのＳＴ３０２では、このヒストグラムにおいて、所定のしきい値以上の値が連続する部分（以下、この部分を「山」と呼ぶ。この山は前記した投影像に相当するものである。）を抽出し、この山の数を計数する。
【００３６】
つぎにＳＴ３０３では、抽出された山の数を登録文字数と比較する。初期の画像の膨張処理が行われていない状態下では、山の数は登録文字数より大きくなるので、ＳＴ３０３が「ＮＯ」となってＳＴ３０４に進み、前記処理対象画像に１回目の膨張処理を施し、しかる後にＳＴ３０１に戻る。
【００３７】
以下同様にして、ＳＴ３０１〜３０４のループを所定回数実行することによって、画像の膨張処理および投影処理が繰り返されることになる。この間、各文字におけるドットがしだいに連結するので、前記投影処理により得られる山の数はしだいに減少する。そして所定の時点で山の数が登録文字数に一致すると、ＳＴ３０３が「ＹＥＳ」となり、ＳＴ３０５に進む。
【００３８】
ＳＴ３０５では、最新の投影処理によって得られた各山の位置および幅を、それぞれ文字の位置および文字幅として特定する。つぎに最新の膨張画像からこれらの山の幅に対応する画像部分を抽出して、それぞれｙ軸方向に向けて投影し、各文字の高さを特定する。さらにこれらｘ軸方向，ｙ軸方向の各投影処理結果から各文字毎に対応する認識対象領域を設定する。
【００３９】
なお、この後に行われる検査では、前記したように各認識対象領域内の画像を辞書ファイル内のモデルパターンと照合するが、この照合処理の対象とする画像は、元の処理対象画像または最新の膨張処理画像のいずれであってもよい。
【００４０】
つぎに上記図７の例では、画像の膨張処理によってドットを連結させるようにしているが、この発明はこれに限らず、投影処理によって得られたヒストグラムを膨張させてもよい。
図８は、ヒストグラムの膨張処理によって文字を切り出す場合の手順を示す。なお、この図８では、前記図７の処理と区別するために、各処理をＳＴ３０６以降のステップにより示すが、図７および図８は、前記図３のＳＴ３にかかる処理として、それぞれ独立のプログラムにより実行されるものである。（以下に示す図９，１０の手順についても同様である。）
【００４１】
図８では、まずＳＴ３０６で処理対象画像をｘ軸方向に向けて投影した後、つぎのＳＴ３０７で、前記投影処理により得られたヒストグラムから山を抽出してその数を計数する。ここで山の数が登録文字数よりも大きい場合には、ＳＴ３０８が「ＮＯ」となってＳＴ３０９に進み、前記ヒストグラムの各山を所定幅ずつ膨張する処理を行う。この後は、ＳＴ３０７に戻って、膨張処理後の山を計数する。
【００４２】
上記ＳＴ３０７〜３０９のループを繰り返した結果、所定の時点で山の数が登録文字数と一致すると、ＳＴ３０８からＳＴ３１０に進む。ＳＴ３１０では、最新の膨張処理によって得られた各山によって各文字の位置および文字幅を特定した後、前記処理対象画像からこれらの山に対応する画像部分を個別に抽出してそれぞれｙ軸方向に向けて投影し、各文字の高さを特定する。さらにｘ軸方向，ｙ軸方向の各投影結果を組み合わせて、各文字毎に認識対象領域を設定する。
【００４３】
上記図７や図８の処理によれば、ドットの間隔や大きさに変動が生じても、処理対象の各画像に対し、それぞれ最適な回数の膨張処理を自動的に行うことができるので、ドット文字列を構成する各文字を正確に切り出して高精度の認識処理を行うことができる。また印字条件の変更やプリンタの印字状態の変化（インクの量など）によって印字状態が変化しても、検査対象の文字列が同じであれば、何ら設定の変更を行うことなく、検査を続けることができる。
さらに検査対象のドット文字列が変更された場合には、その文字列の文字数を入力してＲＡＭ１３への登録処理を行うだけで、そのドット文字列の文字を切り出すのに必要な設定を行うことができ、設定にかかる手間を大幅に削減することができる。
【００４４】
つぎに、図９および図１０では、前記図７と同様に処理対象画像の膨張処理を行うが、ドットのずれによって２つの文字に対する投影像が連結した場合や、１つの文字に対する投影像が分離した場合に、対応できるようにしている。
【００４５】
まず図９の手順では、前記図７の手順と同様に、処理対象画像の投影処理を行った後、この投影処理によって得られたヒストグラム上の山を登録文字数と照合する（ＳＴ３１１〜３１５）。ここで山の数が登録文字数よりも大きい場合は、以下、ＳＴ３１１〜３１４のループを繰り返して、前記処理対象画像を所定回数だけ膨張させる。この処理によって山の数が登録文字数と同じ数になると、ＳＴ３１３およびＳＴ３１５がともに「ＮＯ」となってＳＴ３１７に進み、図７の手順と同様にして各文字の認識対象領域を設定する。
【００４６】
一方、前記膨張処理の過程で２つの文字が結合し、山の数が登録文字数より小さくなった場合には、ＳＴ３１３が「ＮＯ」，ＳＴ３１５が「ＹＥＳ」となってＳＴ３１６に進む。このＳＴ３１６では、最新のヒストグラムで得られた各山の幅を所定の基準値と比較し、この基準値を越える幅を持つ山を２分割し、しかる後にＳＴ３１７の文字の切り出し処理を実行する。
【００４７】
上記の手順によれば、印刷のずれによって一部の文字間隔が通常よりも小さくなって、その間隔を挟む文字に対応する山が連結した場合でも、前記ＳＴ３１６の処理によってこれらの山を切り分けることが可能となるから、各文字を精度良く切り出すことができる。
【００４８】
つぎに図１０の手順では、処理対象画像の投影処理を行い、さらにこの投影処理により得られたヒストグラムから山を抽出してその数を計数した後、この山の数が登録文字数に１を加えた値以下になるまで画像の膨張処理と投影処理とを繰り返す（ＳＴ３１８〜３２１）。
【００４９】
上記の処理によって山の数が登録文字数に１を加えた数にまで収束すると、ＳＴ３２０が「ＹＥＳ」、ＳＴ３２２が「ＮＯ」となり、つぎのＳＴ３２３でこれまでに実行した膨張処理回数をチェックする。ここで膨張処理の回数が所定の規定回数以内であれば、ＳＴ３２３は「ＮＯ」となってＳＴ３２１に戻り、引き続きＳＴ３１８，３１９の処理により、膨張処理および投影処理を実行し、山の数を再チェックする。
なお前記規定回数は、あらかじめＲＡＭ１３またはＲＯＭ１２に登録される。
【００５０】
このようにして膨張処理回数が規定回数に達する前に山の数が登録文字数と同数になると、ＳＴ３２０およびＳＴ３２２がともに「ＹＥＳ」となってＳＴ３２５に進み、文字毎の認識対象領域を設定する。
一方、規定回数分の膨張処理を行っても山の数が登録文字数に達しなかった場合には、ＳＴ３２２が「ＮＯ」，ＳＴ３２３が「ＹＥＳ」となってＳＴ３２４に進む。このＳＴ３２４では、最新のヒストグラムにおいて各山の間の間隔を所定の基準値と比較し、この基準値以内で最も小さな間隔を挟む２つの山を１つに統合する。この処理により山の数は登録文字数と同数になるので、ＳＴ３２５に進み、各文字の認識対象領域を設定する。
【００５１】
上記図１０の手順によれば、所定の文字を構成するドットの一部がずれて、規定回数の膨張処理を行っても、なおその文字についての投影像を１つに収束できない場合には、膨張処理を打ち切って山の数を登録文字数に合わせることができるので、膨張処理にかかる時間を抑えることができる。よって検査時間を長引かせずに検査精度を維持することができ、検査効率の良い処理を行うことができる。
【００５２】
なお、上記図１０の例では、山の数が設定文字数より１つだけ大きい値になるまでは、規定回数に関係なく、膨張処理を継続するようにしているが、これに限らず、山の数に関わりなく、規定回数以内で膨張処理を終えるようにしてもよい。また膨張回数が規定回数に達したときの山の数が設定文字数を大幅に越えている場合には、山の統合処理を行わずに、検査対象の文字列を不良と判定してもよい。このようにすれば、ドットの大きなずれにより明らかに不良と見なされる文字列にかける検査時間を大幅に短縮することができる。
【００５３】
さらに上記図９，１０の手順では、処理対象画像を膨張処理しているが、図８のようにヒストグラムを膨張する手順にも、図９や図１０と同様の設定を組み込むことができる。また図９，１０の処理を一連に実行するようにすれば、文字間に結合が生じた場合、１つの文字が分離した場合の両方に対応することができ、より的確で効率の良い認識処理を行うことが可能となる。
【００５４】
【発明の効果】
上記したように、この発明では、複数のドットパターンが配列されて成る認識対象を撮像して得られた画像から各ドットパターンを切り出す処理において、処理対象の画像またはこの画像から得られる投影像を、認識対象の配列におけるドットの大きさやドット間隔に応じた適正な回数だけ自動的に膨張させるようにしたから、文字の切り出し処理を的確かつ効率良く行うことができ、自動検査にかかる精度や効率を大幅に向上することができる。また対象物の種類や印字条件などが変わっても、新たな認識対象の配列を構成するドットパターンの数を登録するだけで認識処理に移行することができるので、設定にかかる手間を大幅に削減することができる。
【図面の簡単な説明】
【図１】この発明にかかる画像処理装置の設置例を示す斜視図である。
【図２】画像処理装置の電気構成を示すブロック図である。
【図３】検査の手順を示すフローチャートである。
【図４】画像の膨張処理の具体例を示す説明図である。
【図５】投影処理によって文字を切り出す原理を示す説明図である。
【図６】文字の切り出しに必要な膨張回数がドットの大きさによって変動する例を示す説明図である。
【図７】文字の切り出し処理の詳細な手順を示すフローチャートである。
【図８】文字の切り出し処理の他の手順を示すフローチャートである。
【図９】文字の切り出し処理の他の手順を示すフローチャートである。
【図１０】文字の切り出し処理の他の手順を示すフローチャートである。
【符号の説明】
１    画像処理装置
２    カメラ
５    製品
１１    処理部
１２    ＲＯＭ
１３    ＲＡＭ
１４    画像メモリ
１５    Ａ／Ｄ変換器
１７    入出力部
Ａ１〜Ａ１０  投影像
【図１】
0003838079.tif 000002
【図２】
0003838079.tif 000003
【図３】
0003838079.tif 000004
【図４】
0003838079.tif 000005
【図５】
0003838079.tif 000006
【図６】
0003838079.tif 000007
【図７】
0003838079.tif 000008
【図８】
0003838079.tif 000009
【図９】
0003838079.tif 000010
【図１０】
0003838079.tif 000011