(57)【特許請求の範囲】
【請求項１】
縦方向または横方向に沿って並んだ複数のノズルを有する印刷ヘッドを印刷対象物に対して前記ノズルの並び方向に直交する方向に沿って相対的に移動させながら各ノズルのドットの印刷動作を制御することにより前記印刷対象物に形成された印刷体を撮像し、得られた画像を用いて、前記印刷対象物に対する各ノズルの移動の方向に沿うノズル毎の印刷ラインに印刷不良が発生していないかどうかを検査する方法であって、
各ノズルの印刷ラインがそれぞれノズルの並び方向に直交していると仮定して、前記印刷体の画像の仮定の印刷ラインの方向においては、ドットの分布範囲の全体または一部を含む範囲を処理範囲に設定する一方、前記画像の仮定の印刷ラインに直交する方向においては前記複数のノズルに対応する仮定の印刷ラインを全て含む範囲を処理範囲に設定する第１のステップと、
前記第１のステップで設定された処理範囲により特定される処理対象領域内の画像を仮定の印刷ラインの方向に沿って投影して、その投影結果に基づき仮定の印刷ラインに直交する方向におけるドットの分布範囲を特定し、前記処理対象領域内に、仮定の印刷ラインの方向に沿って並び、かつ仮定の印刷ラインに直交する方向における範囲が前記特定された範囲に対応する複数の領域を設定する第２のステップと、
前記第２のステップで設定された各領域の画像をそれぞれ仮定の印刷ラインに沿って投影して、その投影結果に基づき仮定の印刷ラインに直交する方向におけるドットの分布範囲を領域毎に特定すると共に、これら分布範囲の長さの中の最大の長さを特定し、各領域の仮定の印刷ラインに直交する方向における範囲にそれぞれ当該領域につき特定されたドットの分布範囲が含まれ、かつ仮定の印刷ラインに直交する方向における各領域の長さが前記最大の長さに統一されるように、仮定の印刷ラインに直交する方向における各領域の位置および長さを補正する第３のステップと、
前記第３のステップを実行した後の各領域間において、各領域内の仮定の印刷ラインの方向に沿う各ラインを、仮定の印刷ラインに直交する方向における相対位置が対応するもの毎に組み合わせ、各組み合わせ毎に、組み合わせられた各ラインにおけるドットを表す画素の数を累計する第４のステップと、
前記各ラインの組み合わせ毎に求めた累計値の中から極大値を抽出し、抽出された極大値を所定のしきい値と比較し、前記極大値がしきい値より大きいという比較結果を得たとき、実際の印刷ラインの方向に沿ってドットの埋まりが生じていると判別する第５のステップとを、
実行することを特徴とする印刷状態検査方法。
【請求項２】
縦方向または横方向に沿って並んだ複数のノズルを有する印刷ヘッドを印刷対象物に対して前記ノズルの並び方向に直交する方向に沿って相対的に移動させながら各ノズルのドットの印刷動作を制御することにより前記印刷対象物に形成された印刷体を撮像し、得られた画像を用いて、前記印刷対象物に対する各ノズルの移動の方向に沿うノズル毎の印刷ラインに印刷不良が発生していないかどうかを検査する方法であって、
各ノズルの印刷ラインがそれぞれノズルの並び方向に直交していると仮定して、前記印刷体の画像の仮定の印刷ラインの方向においては、ドットの分布範囲の全体または一部を含む範囲を処理範囲に設定する一方、前記画像の仮定の印刷ラインに直交する方向においては前記複数のノズルに対応する仮定の印刷ラインを全て含む範囲を処理範囲に設定する第１のステップと、
前記第１のステップで設定された処理範囲により特定される処理対象領域内の画像を仮定の印刷ラインの方向に沿って投影して、その投影結果に基づき仮定の印刷ラインに直交する方向におけるドットの分布範囲を特定し、前記処理対象領域内に、仮定の印刷ラインの方向に沿って並び、かつ仮定の印刷ラインに直交する方向における範囲が前記特定された範囲に対応する複数の領域を設定する第２のステップと、
前記第２のステップで設定された各領域の画像をそれぞれ仮定の印刷ラインに沿って投影して、その投影結果に基づき仮定の印刷ラインに直交する方向におけるドットの分布範囲を領域毎に特定すると共に、これら分布範囲の長さの中の最大の長さを特定し、各領域の仮定の印刷ラインに直交する方向における範囲にそれぞれ当該領域につき特定されたドットの分布範囲が含まれ、かつ仮定の印刷ラインに直交する方向における各領域の長さが前記最大の長さに統一されるように、仮定の印刷ラインに直交する方向における各領域の位置および長さを補正する第３のステップと、
前記第３のステップを実行した後の各領域間において、各領域内の仮定の印刷ラインの方向に沿う各ラインを、仮定の印刷ラインに直交する方向における相対位置が対応するもの毎に組み合わせ、各組み合わせ毎に、組み合わせられた各ラインにおけるドットを表す画素の数を累計する第４のステップと、
隣り合うノズルによる印刷ライン間の距離に対応する幅の処理対象範囲を、その幅方向を仮定の印刷ラインに直交する方向に合わせて、当該方向に沿って順に動かしながら、第３のステップで各ラインの組み合わせ毎に求めた累計値のうち処理対象範囲に対応する複数の累計値を加算する処理を繰り返し実行し、毎回の加算処理により得た加算値の中の最小値を所定のしきい値と比較し、加算値の最小値がしきい値より小さいという比較結果を得たとき、実際の印刷ラインの方向に沿ってドットの抜けが生じていると判別する第５のステップとを、実行することを特徴とする印刷状態検査方法。
【請求項３】
複数のノズルにより縦並びのドットを印刷する印刷ヘッドを用いて印刷された横書きの文字列を撮像し、得られた画像を用いて前記文字列に沿って印刷不良が発生していないかどうかを検査する方法であって、
検査対象の文字列の画像を文字列に直交する方向に沿って投影して、その投影結果に基づき前記画像中の文字列を構成する文字毎に、当該文字を表すドットが当該文字の幅方向において分布する範囲を抽出すると共に、前記検査対象の文字列の画像を文字列の方向に沿って投影して、その投影結果に基づき当該文字列全体を表すドットが文字列の高さ方向において分布する範囲を抽出し、各文字に対し、それぞれその文字につき抽出された幅方向におけるドットの分布範囲と、文字列全体につき抽出された文字列の高さ方向におけるドットの分布範囲とにより定まる処理領域を設定する第１のステップと、
前記第１のステップで設定された文字毎の処理領域内の画像をそれぞれ文字列の方向に沿って投影して、その投影結果に基づき文字列の高さ方向におけるドットの分布範囲を文字毎に特定すると共に、これら分布範囲の長さの中の最大の長さを特定し、各文字の処理領域の文字列の高さ方向における範囲にそれぞれ当該文字につき特定されたドットの分布範囲が含まれ、かつ文字列の高さ方向における各処理領域の長さが前記最大の長さに統一されるように、文字列の高さ方向における各処理領域の位置および長さを補正する第２のステップと、
前記第２のステップを実行した後の各処理領域間において、各処理領域内の幅方向に沿う各ラインを、文字列の高さ方向における相対位置が対応するもの毎に組み合わせ、各組み合わせ毎に、組み合わせられた各ラインにおけるドットを表す画素の数を累計する第３のステップと、
前記第３のステップで各ラインの組み合わせ毎に求めた累計値の中から極大値を抽出し、抽出された極大値を所定のしきい値と比較し、前記極大値がしきい値より大きいという比較結果を得たとき、前記文字列の方向に沿ってドットの埋まりが生じていると判別する第４のステップとを、
実行することを特徴とする文字検査方法。
【請求項４】
複数のノズルにより縦並びのドットを印刷する印刷ヘッドを用いて印刷された横書きの文字列を撮像し、得られた画像を用いて前記文字列に沿って印刷不良が発生していないかどうかを検査する方法であって、
検査対象の文字列の画像を文字列に直交する方向に沿って投影して、その投影結果に基づき前記画像中の文字列を構成する文字毎に、当該文字を表すドットが当該文字の幅方向において分布する範囲を抽出すると共に、前記検査対象の文字列の画像を文字列の方向に沿って投影して、その投影結果に基づき当該文字列全体を表すドットが文字列の高さ方向において分布する範囲を抽出し、各文字に対し、それぞれその文字につき抽出された幅方向におけるドットの分布範囲と、文字列全体につき抽出された文字列の高さ方向におけるドットの分布範囲とにより定まる処理領域を設定する第１のステップと、
前記第１のステップで設定された文字毎の処理領域内の画像をそれぞれ文字列の方向に沿って投影して、その投影結果に基づき文字列の高さ方向におけるドットの分布範囲を文字毎に特定すると共に、これら分布範囲の長さの中の最大の長さを特定し、各文字の処理領域の文字列の高さ方向における範囲にそれぞれ当該文字につき特定されたドットの分布範囲が含まれ、かつ文字列の高さ方向における各処理領域の長さが前記最大の長さに統一されるように、文字列の高さ方向における各処理領域の位置および長さを補正する第２のステップと、
前記第２のステップを実行した後の各処理領域間において、各処理領域内の幅方向に沿う各ラインを、文字列の高さ方向における相対位置が対応するもの毎に組み合わせ、各組み合わせ毎に、組み合わせられた各ラインにおけるドットを表す画素の数を累計する第３のステップと、
隣り合うノズルによる印刷ライン間の距離に対応する幅の処理対象範囲を、その幅方向を文字列の高さ方向に合わせて、当該方向に沿って順に動かしながら、第３のステップで各ラインの組み合わせ毎に求めた累計値のうち処理対象範囲に対応する複数の累計値を加算する処理を繰り返し実行し、毎回の加算処理により得た加算値の中の最小値を所定のしきい値と比較し、加算値の最小値がしきい値より小さいという比較結果を得たとき、前記文字列の方向に沿ってドットの抜けが生じていると判別する第４のステップとを、
実行することを特徴とする文字検査方法。
【請求項５】
請求項３または４に記載された文字検査方法において、
前記文字列の高さ方向における各処理領域の長さにつき前記第２のステップで特定された最大の長さを所定のしきい値と比較し、前記最大の長さがしきい値より小さいという比較結果を得たときに、前記文字列の端縁でドットの抜けが生じていると判別する第５のステップを実行することを特徴とする文字検査方法。
【請求項６】
縦方向または横方向に沿って並んだ複数のノズルを有する印刷ヘッドを印刷対象物に対して前記ノズルの並び方向に直交する方向に沿って相対的に移動させながら各ノズルのドットの印刷動作を制御することにより前記印刷対象物に形成された印刷体を撮像して得られた画像を用いて、前記印刷対象物に対する各ノズルの移動の方向に沿うノズル毎の印刷ラインに印刷不良が発生していないかどうかを検査する装置であって、
前記印刷体の画像を検査対象画像として入力する画像入力手段と、
各ノズルの印刷ラインがそれぞれノズルの並び方向に直交していると仮定して、前記画像入力手段により入力された検査対象画像の仮定の印刷ラインの方向においては、前記ドットの分布範囲の全体または一部を含む範囲を処理範囲に設定する一方、前記検査対象画像の仮定の印刷ラインに直交する方向においては前記複数のノズルに対応する仮定の印刷ラインを全て含む範囲を処理範囲に設定する処理範囲設定手段と、
各方向の処理範囲により特定される領域を処理対象領域として設定した後、この処理対象領域内の画像を仮定の印刷ラインの方向に沿って投影して、その投影結果に基づき仮定の印刷ラインに直交する方向におけるドットの分布範囲を特定し、前記処理対象領域内に、仮定の印刷ラインの方向に沿って並び、かつ仮定の印刷ラインに直交する方向における範囲が前記特定された範囲に対応する複数の領域を設定する領域設定手段と、
前記領域設定手段により設定された各領域の画像をそれぞれ仮定の印刷ラインに沿って投影して、その投影結果に基づき仮定の印刷ラインに直交する方向におけるドットの分布範囲を領域毎に特定すると共に、これら分布範囲の長さの中の最大の長さを特定し、各領域の仮定の印刷ラインに直交する方向における範囲にそれぞれ当該領域につき特定されたドットの分布範囲が含まれ、かつ仮定の印刷ラインに直交する方向における各領域の長さが前記最大の長さに統一されるように、仮定の印刷ラインに直交する方向における各領域の位置および長さを補正する領域調整手段と、
前記領域調整手段による補正後の各領域間において、各領域内の仮定の印刷ラインの方向に沿う各ラインを、仮定の印刷ラインに直交する方向における相対位置が対応するもの毎に組み合わせ、各組み合わせ毎に、組み合わせられた各ラインにおけるドットを表す画素の数を累計する累計処理手段と、
前記累計処理手段が各ラインの組み合わせ毎に求めた累計値の中から極大値を抽出する極大値抽出手段と、
前記極大値抽出手段が抽出した極大値を所定のしきい値と比較し、前記極大値がしきい値より大きいという比較結果を得たとき、実際の印刷ラインの方向に沿ってドットの埋まりが生じていると判別する判別手段と、
前記判別手段による判別結果を出力する出力手段とを具備して成る印刷状態検査装置。
【請求項７】
縦方向または横方向に沿って並んだ複数のノズルを有する印刷ヘッドを印刷対象物に対して前記ノズルの並び方向に直交する方向に沿って相対的に移動させながら各ノズルのドットの印刷動作を制御することにより前記印刷対象物に形成された印刷体を撮像して得られた画像を用いて、前記印刷対象物に対する各ノズルの移動の方向に沿うノズル毎の印刷ラインに印刷不良が発生していないかどうかを検査する装置であって、
前記印刷体の画像を検査対象画像として入力する画像入力手段と、
各ノズルの印刷ラインがそれぞれノズルの並び方向に直交していると仮定して、前記画像入力手段により入力された検査対象画像の仮定の印刷ラインの方向においては、前記ドットの分布範囲の全体または一部を含む範囲を処理範囲に設定する一方、前記検査対象画像の仮定の印刷ラインに直交する方向においては前記複数のノズルに対応する仮定の印刷ラインを全て含む範囲を処理範囲に設定する処理範囲設定手段と、
各方向の処理範囲により特定される領域を処理対象領域として設定した後、この処理対象領域内の画像を仮定の印刷ラインの方向に沿って投影して、その投影結果に基づき仮定の印刷ラインに直交する方向におけるドットの分布範囲を特定し、前記処理対象領域内に、仮定の印刷ラインの方向に沿って並び、かつ仮定の印刷ラインに直交する方向における範囲が前記特定された範囲に対応する複数の領域を設定する領域設定手段と、
前記領域設定手段により設定された各領域の画像をそれぞれ仮定の印刷ラインに沿って投影して、その投影結果に基づき仮定の印刷ラインに直交する方向におけるドットの分布範囲を領域毎に特定すると共に、これらの分布範囲の長さの中の最大の長さを特定し、各領域の仮定の印刷ラインに直交する方向における範囲にそれぞれ当該領域につき特定されたドットの分布範囲が含まれ、かつ印刷ラインに直交する方向における各領域の長さが前記最大の長さに統一されるように、仮定の印刷ラインに直交する方向における各領域の位置および長さを補正する領域調整手段と、
前記領域調整手段による補正後の各領域間において、各領域内の仮定の印刷ラインの方向に沿う各ラインを、仮定の印刷ラインに直交する方向における相対位置が対応するもの毎に組み合わせ、各組み合わせ毎に、組み合わせられた各ラインにおけるドットを表す画素の数を累計する累計処理手段と、
隣り合うノズルによる印刷ライン間の距離に対応する幅の処理対象範囲を、その幅方向を仮定の印刷ラインに直交する方向に合わせて、当該方向に沿って順に動かしながら、累計処理手段が各ラインの組み合わせ毎に求めた累計値のうち処理対象範囲に対応する複数の累計値を加算する処理を繰り返し実行し、毎回の加算処理により得た加算値の中の最小値を特定する最小値特定手段と、
前記最小値特定手段が特定した最小値を所定のしきい値と比較し、前記最小値がしきい値より小さいという比較結果を得たとき、実際の印刷ラインの方向に沿ってドットの抜けが生じていると判別する判別手段と、
前記判別手段による判別結果を出力する出力手段とを具備して成る印刷状態検査装置。
【請求項８】
請求項６または７に記載された印刷状態検査装置において、
仮定の印刷ラインの方向における処理範囲の設定情報を入力するための入力手段を備え、
前記処理範囲設定手段は、前記入力手段から入力された設定情報を用いて、仮定の印刷ラインの方向における処理範囲を設定する印刷状態検査装置。
【請求項９】
複数のノズルにより縦並びのドットを印刷する印刷ヘッドを用いて印刷された横書きの文字列を撮像して得られた画像を用いて、前記文字列に沿って印刷不良が発生していないかどうかを検査する装置であって、
前記文字列の画像を検査対象画像として入力する画像入力手段と、
前記画像入力手段により入力された検査対象画像を文字列に直交する方向に沿って投影して、その投影結果に基づき検査対象画像中の文字列を構成する文字毎に、当該文字を表すドットが当該文字の幅方向において分布する範囲を抽出すると共に、前記検査対象画像を文字列の方向に沿って投影して、その投影結果に基づき当該文字列全体を表すドットが文字列の高さ方向において分布する範囲を抽出し、各文字に対し、それぞれその文字につき抽出された幅方向におけるドットの分布範囲と、文字列全体につき抽出された文字列の高さ方向におけるドットの分布範囲とにより定まる処理領域を設定する領域設定手段と、
前記領域設定手段により設定された文字毎の処理領域内の画像をそれぞれ文字列の方向に沿って投影して、その投影結果に基づき文字列の高さ方向におけるドットの分布範囲を文字毎に特定すると共に、これら分布範囲の長さの中の最大の長さを特定し、各文字の処理領域の文字列の高さ方向における範囲にそれぞれ当該文字につき特定されたドットの分布範囲が含まれ、かつ文字列の高さ方向における各処理領域の長さが前記最大の長さに統一されるように、文字列の高さ方向における各処理領域の位置および長さを補正する領域調整手段と、
前記領域調整手段による補正後の処理領域間において、各処理領域内の幅方向に沿う各ラインを、前記文字列の高さ方向における相対位置が対応するもの毎に組み合わせ、各組み合わせ毎に、組み合わせられた各ラインにおけるドットを表す画素の数を累計する累計処理手段と、
前記累計処理手段が各ラインの組み合わせ毎に求めた累計値の中から極大値を抽出する極大値抽出手段と、
前記極大値抽出手段が抽出した極大値を所定のしきい値と比較し、前記極大値がしきい値より大きいという比較結果を得たとき、前記文字列の方向に沿ってドットの埋まりが生じていると判別する判別手段と、
前記判別手段による判別結果を出力する出力手段とを具備して成る文字検査装置。
【請求項１０】
複数のノズルにより縦並びのドットを印刷する印刷ヘッドを用いて印刷された横書きの文字列を撮像して得られた画像を用いて、前記文字列に沿って印刷不良が発生していないかどうかを検査する装置であって、
前記文字列の画像を検査対象画像として入力する画像入力手段と、
前記画像入力手段により入力された検査対象画像を文字列に直交する方向に沿って投影して、その投影結果に基づき検査対象画像中の文字列を構成する文字毎に、当該文字を表すドットが当該文字の幅方向において分布する範囲を抽出すると共に、前記検査対象画像を文字列の方向に沿って投影して、その投影結果に基づき当該文字列全体を表すドットが文字列の高さ方向において分布する範囲を抽出し、各文字に対し、それぞれその文字につき抽出された幅方向におけるドットの分布範囲と、文字列全体につき抽出された文字列の高さ方向におけるドットの分布範囲とにより定まる処理領域を設定する領域設定手段と、
前記領域設定手段により設定された文字毎の処理領域内の画像をそれぞれ文字列の方向に沿って投影して、その投影結果に基づき文字列の高さ方向におけるドットの分布範囲を文字毎に特定すると共に、これら分布範囲の長さの中の最大の長さを特定し、各文字の処理領域の文字列の高さ方向における範囲にそれぞれ当該文字につき特定されたドットの分布範囲が含まれ、かつ文字列の高さ方向における各処理領域の長さが前記最大の長さに統一されるように、文字列の高さ方向における各処理領域の位置および長さを補正する領域調整手段と、
前記領域調整手段による補正後の処理領域間において、各処理領域内の幅方向に沿う各ラインを、前記文字列の高さ方向における相対位置が対応するもの毎に組み合わせ、各組み合わせ毎に、組み合わせられた各ラインにおけるドットを表す画素の数を累計する累計処理手段と、
隣り合うノズルによる印刷ライン間の距離に対応する幅の処理対象範囲を、その幅方向を文字列の高さ方向に合わせて、当該方向に沿って順に動かしながら、累計処理手段が各ラインの組み合わせ毎に求めた累計値のうち処理対象範囲に対応する複数の累計値を加算する処理を繰り返し実行し、毎回の加算処理により得た加算値の中の最小値を特定する最小値特定手段と、
前記最小値特定手段が特定した最小値をそれぞれ所定のしきい値と比較し、前記最小値がしきい値より小さいという比較結果を得たとき、前記文字列の方向に沿ってドットの抜けが生じていると判別する判別手段と、
前記判別手段による判別結果を出力する出力手段とを具備して成る文字検査装置。
【請求項１１】
請求項９または１０に記載された文字検査装置において、
前記判別手段は、前記文字列の高さ方向における各処理領域の長さにつき前記領域設定手段により特定された最大の長さを所定のしきい値と比較し、前記最大の長さがしきい値より小さいという比較結果を得たときに、前記文字列の端縁でドットの抜けが生じていると判別する文字検査装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、少なくとも１つの文字を含む文字列やマークなどの印刷体を撮像し、得られた画像をコンピュータで処理することにより、前記印刷体に印刷不良がないかどうかを判断する検査を実行する技術分野に属する。特にこの発明は、複数のノズルが一方向に沿って並ぶように配置された印刷ヘッドを用いて印刷された印刷体を検査対象として、各ノズルの印刷ラインに印刷不良が発生していないかどうかを検査する方法および装置に関する。
【背景技術】
【０００２】
加工食品などのパッケージに記される製造年月日、賞味期限、製品コードなどの文字列は、一般にインクジェットプリンタにより印刷される。この種の目的に使用される工業用のインクジェットプリンタは、所定数のノズルが縦一列に配置された印刷ヘッドを具備するもので、印刷対象の文字に応じてインクを噴き出させるノズルを選択しながら印刷動作を行うように設定されている（以下、１つのノズルによりドットが印刷される対象となる帯状領域のことを「印刷ライン」という。）。
【０００３】
上記のようにドット印刷された文字列を対象とする従来の検査では、一般に、パターンマッチングの手法を用いた検査を実行するようにしている（特許文献１参照。）。
【０００４】
【特許文献１】特開２００３−１８７１８７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
インクジェットプリンタにより印刷を行う場合、いずれか１つのノズルに不良が発生すると、そのノズルに対応する印刷ラインに常にドットが打たれる不良（以下、これを「ドットの埋まり」という。）、または前記ノズルに対応する印刷ラインに全くドットが打たれない不良（以下、これを「ドットの抜け」という。）が生じることがある。
【０００６】
図１７は、上記した印刷不良の例を示す。
図中の左側はドットの埋まりが発生した例を、右側はドットの抜けが発生した例を示すもので、それぞれ文字列の上端、中央、下端に不良が発生した例を示す。いずれの例も、細線枠で囲まれた部分が不良発生部位である。なお、ドットの埋まり、抜けとも、インクが噴出される際に生じるものであるので、文字間の空白部分に印刷不良が生じることはない。
【０００７】
ところで、前記特許文献１にも記載されているように、食品のパッケージなどでは、印刷面が完全に平坦ではないことから、印刷される文字列に歪みが生じることが多いが、その多くは読取可能なものである。このような事情に鑑み、現場では、パターンマッチングにおける判定基準値を甘く設定する傾向がある。しかしながら、判定基準値を甘くすると、前記図１７に示したような１印刷ラインにわたって不良が生じた文字列に対しても、良判定がなされてしまう、という不具合が生じる。
【０００８】
この発明は、上記問題点に着目してなされたもので、１印刷ライン単位で発生する印刷不良に特化した検査を実施できるようにすることを目的とする。
【課題を解決するための手段】
【０００９】
この発明にかかる印刷状態検査方法は、縦方向または横方向に沿って並んだ複数のノズルを有する印刷ヘッドを印刷対象物に対して前記ノズルの並び方向に直交する方向に沿って相対的に移動させながら各ノズルのドットの印刷動作を制御することにより前記印刷対象物に形成された印刷体を撮像し、得られた画像を用いて、前記印刷対象物に対する各ノズルの移動の方向に沿うノズル毎の印刷ラインに印刷不良が発生していないかどうかを検査するものである。
この発明にかかる第１の印刷状態検査方法では、各ノズルの印刷ラインがそれぞれノズルの並び方向に直交していると仮定して、前記印刷体の画像の仮定の印刷ラインの方向においては、ドットの分布範囲の全体または一部を含む範囲を処理範囲に設定する一方、前記画像の仮定の印刷ラインに直交する方向においては複数のノズルに対応する仮定の印刷ラインを全て含む範囲を処理範囲に設定する第１のステップ；前記第１のステップで設定された処理範囲により特定される処理対象領域内の画像を仮定の印刷ラインの方向に沿って投影して、その投影結果に基づき仮定の印刷ラインに直交する方向におけるドットの分布範囲を特定し、処理対象領域内に、仮定の印刷ラインの方向に沿って並び、かつ仮定の印刷ラインに直交する方向における範囲が前記特定された範囲に対応する複数の領域を設定する第２のステップ；前記第２のステップで設定された各領域の画像をそれぞれ仮定の印刷ラインに沿って投影して、その投影結果に基づき仮定の印刷ラインに直交する方向におけるドットの分布範囲を領域毎に特定すると共に、これら分布範囲の長さの中の最大の長さを特定し、各領域の仮定の印刷ラインに直交する方向における範囲にそれぞれ当該領域につき特定されたドットの分布範囲が含まれ、かつ仮定の印刷ラインに直交する方向における各領域の長さが前記最大の長さに統一されるように、仮定の印刷ラインに直交する方向における各領域の位置および長さを補正する第３のステップ；前記第３のステップを実行した後の各領域間において、各領域内の仮定の印刷ラインの方向に沿う各ラインを、仮定の印刷ラインに直交する方向における相対位置が対応するもの毎に組み合わせ、各組み合わせ毎に、組み合わせられた各ラインにおけるドットを表す画素の数を累計する第４のステップ；前記各ラインの組み合わせ毎に求めた累計値の中から極大値を抽出し、抽出された極大値を所定のしきい値と比較し、前記極大値がしきい値より大きいという比較結果を得たとき、実際の印刷ラインの方向に沿ってドットの埋まりが生じていると判別する第５のステップ；の各ステップを実行するようにしている。
【００１０】
上記において、前記印刷ヘッドの各ノズルは、一列に並べて配置されるのが望ましいが、印刷ラインが重なり合うことがなければ、ノズルの並びに若干のばらつきがあってもよい。これは以下の方法、装置でも同様である。
「印刷ラインの方向」とは、前記した印刷ラインの長さ方向のことであり、各ノズルの並び方向に直交する方向と考えることができる。また、「印刷ラインに直交する方向」は、各ノズルの並び方向に沿う方向に相当すると考えることができる。印刷対象が文字列である場合には、一般に、文字列を構成する各文字が印刷ラインに沿って並ぶように印刷される。ただし、文字列と印刷ラインとの関係は、これに限定されるものではなく、印刷ラインに直交する方向に沿って各文字が並ぶように印刷することもできる。
【００１１】
実際の印刷ラインには、ワークの形状による歪みが生じる可能性があるが、画像処理の上での印刷ラインは直線状であると仮定する。
以下では、各ノズルが縦並びに配置されるものとして、画像上の印刷ラインの方向を水平方向（ｘ軸方向）、印刷ラインに直交する方向を垂直方向（ｙ軸方向）として説明する。各ノズルが横並びに配置される場合には、印刷ラインの方向をｙ軸方向に、印刷ラインに直交する方向をｘ軸方向に、置き換えて考えればよい。
【００１２】
前記第１のステップでは、ｘ，ｙの各軸ともに、あらかじめ定めた所定幅の処理範囲を設定することができる。ｘ軸方向における処理範囲は、ドットの印刷範囲全体を含む長さに設定することができるが、これに限らず、印刷範囲の一部を含む長さに設定することもできる。
また、印刷体が文字列である場合には、この文字列に沿う方向に対応する処理範囲の長さを、１文字以上の任意数の文字を含む長さに設定することができる。また、このｘ軸方向における処理範囲の始端位置は、文字列の先頭に限らず、２番目以後の任意の文字の位置に設定することもできる。一方、文字列の並びに直交する方向（文字の高さ方向または幅方向に対応する。）における処理範囲は、複数のノズルに対応する全ての印刷ラインを含む範囲全体が確実に含まれるような大きさに設定する。
なお、印刷範囲とは、印刷体を構成するドットが分布する範囲と考えることができる。
【００１３】
第２のステップでは、たとえば、処理対象領域内の画像データをｘ軸に沿って投影することにより、前記ドットの最も高い印刷位置および最も低い印刷位置を抽出し、これらの位置を上端および下端とする領域を設定する。
【００１４】
この発明にかかる検査対象の印刷体では、その印刷がなされるワークの形状によっては、同じノズルに対応するドットが一列に印刷されない可能性がある。このため、前記処理対象領域では、ｙ軸方向に沿うライン毎の印刷範囲にずれが生じる可能性がある。
第３のステップは、このような印刷範囲のずれに応じて各領域の位置や長さを調整するもので、各領域を、それぞれその領域内の印刷範囲のゆらぎに応じた高さ位置に位置合わせするとともに、各領域のｙ軸方向における長さを処理対象領域における最大の印刷幅に合わせて統一することができる。これにより、領域における各印刷ラインの相対位置関係を領域間で統一のとれたものにすることができる。
なお、各領域を位置合わせする場合には、たとえば領域の上端を印刷範囲の上端に合わせる処理、または領域の下端を印刷範囲の下端に合わせる処理を実行することができる。
【００１５】
印刷ラインの方向がｘ方向である場合、第４のステップでは、第３のステップでの調整を経た各領域における水平ラインを、１ライン目を１組目、２ライン目を２組目・・・というように、領域における相対的な高さ位置が同じライン毎に組み合わせることができる。そして、各組み合わせ毎に、組み合わせられた各ライン上のドットを表す画素の数を求め、これらを累計することができる。
【００１６】
所定の印刷ラインにおいてドット埋まりが生じている場合には、その不良発生位置に対応するラインにおけるドットの数が、通常よりも多くなると考えられる。よって、第５のステップにおいて、各ラインの組み合わせ毎の累計値の中の極大値をしきい値と比較することにより、ドット埋まりが生じているか否かを精度良く判別することができる。
【００１７】
この発明の第２の印刷状態検査方法では、第１の方法と同様の第１〜第４のステップを実行した後に、隣り合うノズルによる印刷ライン間の距離に対応する幅の処理対象範囲をその幅方向を仮定の印刷ラインに直交する方向に合わせて、当該方向に沿って順に動かしながら、第３のステップで各ラインの組み合わせ毎に求めた累計値のうち処理対象範囲に対応する複数の累計値を加算する処理を繰り返し実行し、毎回の加算処理により得た加算値の中の最小値を所定のしきい値と比較し、加算値の最小値がしきい値より小さいという比較結果を得たとき、実際の印刷ラインの方向に沿ってドットの抜けが生じていると判別する。
【００１８】
所定の印刷ラインにおいてドットの抜けが生じている場合には、その印刷ラインに対応する範囲内のドットの数はきわめて小さくなると考えられる。上記第２の方法によれば、印刷ライン間の距離に対応する幅の処理対象範囲毎に、その範囲に含まれる複数のラインにおけるドットを表す画素の度合いを加算して、各加算値の中の最小値を所定のしきい値と比較するので、ドットの抜けが生じているか否かを精度良く判別することができる。
るのが望ましい。
【００１９】
なお、第１および第２の印刷状態検査方法においては、検査対象が文字列である場合には、文字列に直交する方向（ｙ軸方向）における処理範囲の設定情報を、あらかじめ定めておいても良い。またｘ軸方向における処理範囲を設定した後、この範囲におけるｙ軸方向の画像をサーチして、ドットの印刷範囲を抽出し、その範囲の上端および下端に基づき、処理範囲を設定してもよい。
【００２０】
つぎに、この発明にかかる文字検査方法は、複数のノズルにより縦並びのドットを印刷する印刷ヘッドを用いて印刷された横書きの文字列を撮像し、得られた画像を用いて前記文字列に沿って印刷不良が発生していないかどうかを検査するものである。第１の方法では、検査対象の文字列の画像を文字列に直交する方向に沿って投影して、その投影結果に基づき、前記画像中の文字列を構成する各文字毎に、当該文字を表すドットが当該文字の幅方向において分布する範囲を抽出すると共に、前記検査対象の文字列の画像を文字列の方向に沿って投影して、その投影結果に基づき当該文字列全体を表すドットが文字列の高さ方向において分布する範囲を抽出し、各文字に対し、それぞれその文字につき抽出された幅方向におけるドットの分布範囲と、文字列全体につき抽出された文字列の高さ方向におけるドットの分布範囲により定まる処理領域を設定する第１のステップ；前記第１のステップで設定された文字毎の処理領域内の画像をそれぞれ文字列の方向に沿って投影して、その投影結果に基づき文字列の高さ方向におけるドットの分布範囲を文字毎に特定すると共に、これら分布範囲の長さの中の最大の長さを特定し、各文字の処理領域の文字列の高さ方向における範囲にそれぞれ当該文字につき特定されたドットの分布範囲が含まれ、かつ文字列の高さ方向における各処理領域の長さが前記最大の長さに統一されるように、文字列の高さ方向における各処理領域の位置および長さを補正する第２のステップ；第２のステップを実行した後の各処理領域間において、各処理領域内の幅方向に沿うラインを、文字列に直交する方向における相対位置が対応するもの毎に組み合わせ、各組み合わせ毎に、組み合わせられた各ラインにおけるドットを表す画素の数を累計する第３のステップ；前記第３のステップで各ラインの組み合わせ毎に求めた累計値の中から極大値を抽出し、抽出された極大値を所定のしきい値と比較し、前記極大値がしきい値より大きいという比較結果を得たとき、前記文字列の方向に沿ってドットの埋まりが生じていると判別する第４のステップ；の各ステップを実行するようにしている。
【００２１】
上記において、「文字列の方向」とは、文字列を構成する各文字の並び方向であり、前記各ノズルの印刷方向に対応すると考えることができる。以下では文字列の方向を水平方向（ｘ軸方向）、文字列に直交する方向を垂直方向（ｙ軸方向）として説明する。この場合、ｘ軸方向における文字の長さは「文字の幅」に、ｙ軸方向における文字の長さは「文字の高さ」に、それぞれ相当する。
【００２２】
前記第１のステップでは、処理対象の画像をｘ軸、ｙ軸の各方向に沿って投影することにより、文字列に含まれる各文字を切り出すことができる。なお、この明細書では、投影処理では、画像上の一水平ラインまたは一垂直ラインに沿う各画素の濃度値を加算する処理が行われるとして、投影結果を示す濃度の加算値を「投影値」と呼ぶ。処理対象の画像が２値画像の場合の投影処理は、一ライン上における黒画素または白画素の数を計数する処理により行うことができる。よって、その画素数の計数値を前記投影値であると考えることができる。一方、濃淡画像を処理する場合には、文字の画像が背景部分よりも高い階調を持つように設定された画像を処理するのが望ましい。
【００２５】
上記第２のステップにおける処理領域の補正処理によれば、文字列中の文字のｙ軸方向における位置にばらつきがある場合には、処理領域の位置にも同様のばらつきが生じることになる。一方、文字列の歪みなどにより各文字の高さにばらつきが生じていても、その最大の高さに基づき各処理領域の高さが統一されるから、各処理領域における水平ラインの数を同一にすることができる。よって、処理領域内における水平ラインの相対位置に基づき、各水平ラインを処理領域間で対応づけることができる。
【００２６】
第３のステップでは、各文字に対応する領域間において、相対的に同じ高さ位置にある水平ラインを組み合わせて、各ラインにおけるドットを表す画素の数を累計することができる。
前記第２のステップで、各領域の長さを統一しているので、第３のステップでは、各領域のすべての水平ラインを対応づけて、上記の累計処理を行うことがができる。
【００２７】
第２および第３のステップの処理によれば、高さにばらつきのある文字に同じ高さの領域が設定されることになるから、補正後の領域間でのラインの対応づけは、実際の印刷のずれを正確に反映していない可能性がある。しかしながら、基本的には縦一列に並んだ所定数のノズルによって印刷が行われることから、文字間の高さのばらつきは僅かなものと考えられる。したがって、１つのドットが複数の画素で表されるならば、水平ラインの対応関係が若干ずれたとしても、領域間で対応づけられた水平ラインの組には、同じ印刷ラインにかかる水平ラインが多数含まれていると考えることができる。したがって、対応する水平ラインの組毎に投影値を累計することにより、各印刷ラインの状態を高い確度で反映したデータを得ることができる。
【００２８】
所定の高さ位置でドット埋まりが生じている場合、その不良発生位置に対応する各文字の水平ラインでは、ドットを表す画素数が通常より多くなっていると考えられる。上記の文字検査方法によれば、ドットを表す画素の数が多い水平ラインにかかる累計値が極大値として抽出されるから、この累計値に基づきドット埋まりが生じているか否かを精度良く判別することができる。
【００２９】
この発明の第２の文字検査方法では、第１の文字検査方法と同様の第１〜第３のステップを実行した後に、隣り合うノズルによる印刷ライン間の距離に対応する幅の処理対象範囲を、その幅方向を文字列の高さ方向に合わせて、当該方向に沿って順に動かしながら、第３のステップで各ラインの組み合わせ毎に求めた累計値のうち処理対象範囲に対応する複数の累計値を加算する処理を繰り返し実行し、毎回の加算処理により得た加算値の中の最小値を所定のしきい値と比較し、加算値の最小値がしきい値より小さいという比較結果を得たとき、文字列の方向に沿ってドットの抜けが生じていると判別する第４のステップを実行する。
【００３０】
上記第２の文字検査方法で用いる所定のしきい値は、ドットの抜けが生じた印刷ラインの画像データから抽出することができる。または、１水平ライン上に１〜２個程度のドットが存在する場合のドットを表す画素の数の累計値を計算で求め、得られた値をしきい値としてもよい。
【００３１】
なお、第２の印刷状態検査方法や第２の文字検査方法でドットの抜けを判別する場合にドットを表す画素の数の累計値を加算しているのは、印刷ライン間の空白部にかかる水平ラインでの投影値がゼロに近似する値になる可能性を考慮してのことである。たとえば、加算処理の対象範囲の大きさを隣り合う印刷ライン間の距離に応じた値に設定しておけば、前記空白部分のみにかかる累計値がしきい値と比較されることがなくなり、空白部分がドットの抜けとして誤判別されるのを防止することができる。また、前記の加算処理において、加算処理の範囲を１画素ずつずらすようにすれば、判別の精度をより高めることができる。
【００３２】
所定の印刷ラインにおいて、ドットの抜けが生じている場合には、その印刷ラインに対応する範囲の水平ラインにおけるドットを表す画素の数は通常よりも小さい値になると考えられる。この場合、これらの水平ライン毎の画素数の加算値が最小値となり、さらにこの最小値がしきい値より小さいという比較結果が得られるので、ドットの抜けがあることを精度良く判別することができる。
【００３３】
なお、この発明で文字列またはその他の印刷体を検査する場合には、ドットの埋まりの有無を判別する処理と、ドットの抜けの有無を判別する処理とを、ともに実行するのが望ましい。
また、これらの判別処理では、１水平ラインに最大数のドットが打たれた場合のそのラインの投影値に基づき、比較対象の数値（極大値または加算値の最小値）を正規化し、同様に正規化されたしきい値を比較するようにしてもよい。この場合、正規化後の極大値や加算値の最小値を表示するようにすれば、ユーザーは、ドットの埋まりや抜けの度合を感覚的に判断することができる。
【００３４】
さらに第１および第２の文字検査方法に共通する好ましい態様では、第１〜第４のステップに加え、文字列の高さ方向における各処理領域の長さにつき前記第２のステップで特定された最大の長さを所定のしきい値と比較し、最大の長さがしきい値より小さいという比較結果を得たときに、文字列の端縁でドットの抜けが生じていると判別する第５のステップを実行する。
【００３５】
文字列の上端のドットまたは下端のドットが抜けた場合には、第１のステップの文字の切り出し処理では、文字の正確な高さを抽出できなくなる。上記第５のステップにかかる所定のしきい値は、ドットの印刷ラインが１つ欠けた場合の文字の高さに基づき設定することができる。第２のステップで補正された後の領域の高さは、各文字の高さの最大値に基づくものであるから、この高さと上記のしきい値とを比較することにより、上端または下端にドットの抜けが生じていないかどうかを精度良く判別することができる。特定の文字の長さで判断するのではなく、文字の長さの最大値に基づいて判断するのは、たとえば、“．”（ピリオド）のように文字長さが短い記号等によって誤判断が生じるのを防止するためである。
【００３６】
つぎに、この発明にかかる印刷状態検査装置は、縦方向または横方向に沿って並んだ複数のノズルを有する印刷ヘッドを印刷対象物に対して前記ノズルの並び方向に直交する方向に沿って相対的に移動させながら各ノズルのドットの印刷動作を制御することにより前記印刷対象物に形成された印刷体を撮像して得られた画像を用いて、前記印刷対象物に対する各ノズルの移動の方向に沿うノズル毎の印刷ラインに印刷不良が発生していないかどうかを検査する装置である。この発明にかかる第１の印刷状態検査装置は、前記印刷体の画像を検査対象画像として入力する画像入力手段と、各ノズルの印刷ラインがそれぞれノズルの並び方向に直交していると仮定して、前記画像入力手段により入力された検査対象画像の仮定の印刷ラインの方向においては、前記ドットの分布範囲の全体または一部を含む範囲を処理範囲に設定する一方、前記検査対象画像の仮定の印刷ラインに直交する方向においては前記複数のノズルに対応する仮定の印刷ラインを全て含む範囲を処理範囲に設定する処理範囲設定手段と、各方向の処理範囲により特定される領域を処理対象領域として設定した後、この処理対象領域内の画像を仮定の印刷ラインの方向に沿って投影して、その投影結果に基づき仮定の印刷ラインに直交する方向におけるドットの分布範囲を特定し、前記処理対象領域内に、仮定の印刷ラインの方向に沿って並び、かつ仮定の印刷ラインに直交する方向における範囲が前記特定された範囲に対応する複数の領域を設定する領域設定手段と、前記領域設定手段により設定された各領域の画像をそれぞれ仮定の印刷ラインに沿って投影して、その投影結果に基づき仮定の印刷ラインに直交する方向におけるドットの分布範囲を領域毎に特定すると共に、これら分布範囲の長さの中の最大の長さを特定し、各領域の仮定の印刷ラインに直交する方向における範囲にそれぞれ当該領域につき特定されたドットの分布範囲が含まれ、かつ仮定の印刷ラインに直交する方向における各領域の長さが前記最大の長さに統一されるように、仮定の印刷ラインに直交する方向における各領域の位置および長さを補正する領域調整手段と、前記領域調整手段による補正後の各領域間において、各領域内の仮定の印刷ラインの方向に沿う各ラインを、仮定の印刷ラインに直交する方向における相対位置が対応するもの毎に組み合わせ、各組み合わせ毎に、組み合わせられた各ラインにおけるドットを表す画素の数を累計する累計処理手段と、累計処理手段が各ラインの組み合わせ毎に求めた累計値の中から極大値を抽出する極大値抽出手段と、極大値抽出手段が抽出した  極大値を所定のしきい値と比較し、極大値がしきい値より大きいという比較結果を得たとき、実際の印刷ラインの方向に沿ってドットの埋まりが生じていると判別する判別手段と、前記判別手段による判別結果を出力する出力手段とを具備する。
この発明にかかる第２の印刷状態検査装置は、上記の極大値抽出手段に代えて、隣り合うノズルによる印刷ライン間の距離に対応する幅の処理対象範囲を、幅方向を仮定の印刷ラインに直交する方向に合わせて、当該方向に沿って順に動かしながら、累計処理手段が各ラインの組み合わせ毎に求めた累計値のうち処理対象範囲に対応する複数の累計値を加算する処理を繰り返し実行し、毎回の加算処理により得た加算値の中の最小値を特定する最小値特定手段を具備する。また判別手段は、最小値特定手段が特定した最小値を所定のしきい値と比較し、前記最小値がしきい値より小さいという比較結果を得たときには、実際の印刷ラインの方向に沿ってドットの抜けが生じていると判別する。
【００３７】
上記において、画像入力手段は、前記印刷体の画像データを取り込む入力インターフェースやＡ／Ｄ変換回路などを含むものとすることができる。第１の検査装置によれば、第１の印刷状態検査方法に基づき、印刷ラインの方向に沿うドットの埋まりを精度良く検査することができ、第２の検査装置によれば、第２の印刷状態検査方法に基づき、印刷ラインの方向に沿うドットの抜けを精度良く検査することができる。
【００３８】
なお、上記の印刷状態検査装置には、処理対象の画像を２値化する２値化処理手段を設けることができる。この２値化処理手段は、専用の回路とすることもできるが、２値化しきい値や２値化処理の手順が設定されたコンピュータにより構成することもできる。
【００３９】
好ましい態様にかかる印刷状態検査装置は、仮定の印刷ラインの方向における処理範囲の設定情報を入力するための入力手段を具備し、前記処理範囲設定手段が、前記入力手段から入力された設定情報を用いて、仮定の印刷ラインの方向における処理範囲を設定するように構成される。
【００４０】
つぎに、この発明にかかる文字検査装置は、複数のノズルにより縦並びのドットを印刷する印刷ヘッドを用いて印刷された横書きの文字列を撮像して得られた画像を用いて、前記文字列に沿って印刷不良が発生していないかどうかを検査するもので、第１の文字検査装置は、前記文字列の画像を検査対象画像として入力する画像入力手段；前記画像入力手段により入力された検査対象画像を文字列に直交する方向に沿って投影して、その投影結果に基づき検査対象画像中の文字列を構成する文字毎に、当該文字を表すドットが当該文字の幅方向において分布する範囲を抽出すると共に、前記検査対象画像を文字列の方向に沿って投影して、その投影結果に基づき当該文字列全体を表すドットが文字列の高さ方向において分布する範囲を抽出し、各文字に対し、それぞれその文字につき抽出された幅方向におけるドットの分布範囲と、文字列全体につき抽出された文字列の高さ方向におけるドットの分布範囲とにより定まる処理領域を設定する領域設定手段；前記領域設定手段により設定された文字毎の処理領域内の画像をそれぞれ文字列の方向に沿って投影して、その投影結果に基づき文字列の高さ方向におけるドットの分布範囲を文字毎に特定すると共に、これら分布範囲の長さの中の最大の長さを特定し、各文字の処理領域の前記文字列の高さ方向における範囲にそれぞれ当該文字につき特定されたドットの分布範囲が含まれ、かつ文字列の高さ方向における各処理領域の長さが前記最大の長さに統一されるように、前記文字列の高さ方向における各処理領域の位置および長さを補正する領域調整手段；領域調整手段による補正後の処理領域間において、各処理領域内の幅方向に沿う各ラインを、文字列に直交する方向における相対位置が対応するもの毎に組み合わせ、各組み合わせ毎に、組み合わせられた各ラインにおけるドットを表す画素の数を累計する累計処理手段；累計処理手段が各ラインの組み合わせ毎に求めた累計値の中から極大値を抽出する極大値抽出手段；極大値抽出手段が抽出した極大値を所定のしきい値と比較し、前記極大値がしきい値より大きいという比較結果を得たときには、文字列の方向に沿ってドットの埋まりが生じていると判別しする判別手段；および前記判別手段による判別結果を出力する出力手段を具備する。
この発明にかかる第２の文字検査装置は、上記の極大値検出手段に代えて、隣り合うノズルによる印刷ライン間の距離に対応する幅の処理対象範囲を、その幅方向を文字列の高さ方向に合わせて、当該方向に沿って順に動かしながら、累計処理手段が各ラインの組み合わせ毎に求めた累計値のうち処理対象範囲に対応する複数の累計値を加算する処理を繰り返し実行し、毎回の加算処理により得た加算値の中の最小値を特定する。また判別手段は、前記最小値がしきい値より小さいという比較結果を得たとき、前記文字列の方向に沿ってドットの抜けが生じていると判別する。
【００４１】
第１の文字検査装置によれば、縦並びのドットにより形成される横書き文字列の検査において、文字列の方向に沿うドットの抜けを精度良く判別することが可能になる。また、第２の文字検査装置によれば、上記と同様の構成の横書き文字列の検査において、文字列の方向に沿うドットの埋まりを精度良く判別することが可能になる。
【００４２】
なお、この文字検査装置において、出力手段が判別結果を表示する場合には、前記した投影値の極大値、最小値、領域の高さなどのパラメータを比較対象のしきい値に対応づけたデータを出力してもよい。
【００４３】
また、上記の文字検査装置には、処理対象の画像を２値化する２値化処理手段を設けることができる。この場合、画像に対する投影処理は、１ライン上における黒画素数または白画素数を数える処理として行うことができる。
なお、この２値化処理手段も、前記印刷状態検査装置におけるのと同様に、専用の回路とすることもできるが、２値化しきい値や２値化処理の手順が設定されたコンピュータにより構成することもできる。
【００４４】
上記の文字検査装置の好ましい態様では、判別手段は、前記文字列の高さ方向における各処理領域の長さにつき領域設定手段により特定された最大の長さを所定のしきい値と比較する処理を実行し、最大の長さがしきい値よりも小さいという比較結果を得たとき、文字列の端縁でドットの欠落が生じていると判別する。
【００４５】
上記の印刷状態検査装置および文字検査装置は、検査対象を撮像するための撮像手段（カメラ）や、検査結果を表示するための表示手段（モニタ）に接続することができる。そして、ワーク検出用のセンサなどからトリガ信号を受ける都度、撮像手段を作動させ、生成された画像データを取り込んで前記した各検査方法を実行することにより、各ワークについて、ドット埋まりやドット欠けのような１印刷ラインにわたる不良が発生していないかどうかを判別することができる。また、不良品を取り除く処理を行う装置またはその制御装置に出力手段からの出力を与えるようにすれば、印刷不良ありと判別されたワークを速やかに取り除くことができる。また、ドットの埋まりや抜けのようなインクジェットプリンタの不備による不良は、連続発生する可能性が高いが、インクジェットプリンタ側に出力手段からの出力を与えるようにすれば、不良検出に応じて印刷動作を停止させることができる。
【００４６】
なお、上記の撮像手段や表示手段などの周辺機器は、検査装置に一体化することもできる。また、上記文字検査装置には、別途、従来のパターンマッチングによる文字検査を実行するための手段を設定することができる。この場合、前記ドット埋まりやドットの抜けに関する検査の結果とパターンマッチングによる検査の結果とを統合して良否判定を行い、その判定結果を出力するように構成することができる。
【発明の効果】
【００４７】
この発明によれば、ドットの埋まりやドットの抜けのような１印刷ラインに沿って発生する印刷不良に特化した検査を精度良く行うことができるので、ドット印刷による文字列を従来にない視点から検査することができる。よって、従来のパターンマッチング法による検査では見落とされる可能性のあった印刷不良を精度良く検出することができる。
【発明を実施するための最良の形態】
【００４８】
図１は、この発明が適用された文字検査装置１（以下、単に「検査装置１」という。）の設置例を示す。
この検査装置１は、工場において、所定のワーク１０にドット印刷された文字列Ａを検査対象として、この文字列Ａの所定の印刷ラインにドットの埋まりやドットの抜けが生じていないかどうかを検査するためのものである。ワーク１０の搬送ライン７の近傍には、前記文字列を撮像するためのＣＣＤカメラ３（以下、単に「カメラ３」という。）や、ワーク検出用のセンサ４（たとえば光電スイッチ）が設けられる。検査装置１は、これらカメラ３やセンサ４のほか、モニタ５、コンソール６などの周辺機器に接続された状態で、所定位置に設置される。なお、カメラ３よりも上流には、前記文字列を印刷するためのインクジェットプリンタ２が、ワーク検出用センサ９に接続された状態で設置される。また、図中の２ａは、このインクジェットプリンタ２の印刷ヘッドである。
【００４９】
カメラ３よりも下流には、検査装置１により不良と判断されたワーク１０を排出するための不良品排出装置１１（排出用のコンベアや不良ワークの回収ボックスなどを具備する。）が配備される。検査装置１は、この不良品排出装置１１の動作を制御するプログラマブル・ロジック・コントローラ（ＰＬＣ）１２に接続されており、検査対象の文字列Ａについて、良または不良を示す判定信号を出力する。ＰＬＣ１２は、「不良」を示す判定信号を入力すると、不良品排出装置１１を作動させて、対象となるワーク１０を搬送ライン７外に排出させる。
【００５０】
図２は、前記検査装置１の電気構成を示す。この検査装置１は、ＣＰＵ１３を制御主体とするもので、ＲＯＭ１４、ＲＡＭ１５のほか、処理対象の濃淡画像データおよび２値画像データを格納するための画像メモリ１６を具備する。なお、ＲＯＭ１４には、後記する検査手順を実行するためのプログラムや２値化処理用のプログラムなどが格納される。
【００５１】
検査装置１には、上記のほかに、Ａ／Ｄ変換部１７、Ｄ／Ａ変換部１８、入力部１９、出力部２０などが設けられる。Ａ／Ｄ変換部１７は、前記カメラ３からの画像信号を取り込んでこれをディジタル変換する。Ｄ／Ａ変換部１８は、ディジタル変換された濃淡画像をアナログの表示用信号に変換してモニタ５に出力する。また入力部１９には、前記コンソール６やワーク検知用センサ４に対するインターフェース回路が、出力部２０には、前記ＰＬＣ１２に対するインターフェース回路が、それぞれ含められる。
【００５２】
図３は、前記検査対象の文字列の画像１００の例を示す。この文字列は、ワーク１０の表面状態の影響により各文字が横一列に整列せずに、位置がばらついた状態で印刷されている。なお、以下の処理の具体例は、すべてこの画像１００を処理対象とする。
【００５３】
図４は、１つの文字列にかかる検査の手順を示す。以下では、この図４に示した各ステップ（以下、「ＳＴＥＰ」の略の「ＳＴ」を使用する場合もある。）について、必要に応じて他の図面を参照しながら、詳細な処理内容を順に説明する。
【００５４】
（１）画像入力・２値化（ステップ１）
図４の手順は、前記センサ４からのワーク検知信号の入力に応じて開始される。ステップ１では、前記カメラ３を作動させてワーク１０を撮像し、入力された画像データを２値化処理する。以後の処理は、この２値画像に対して行われる。
【００５５】
（２）文字の切り出し（ステップ２）
このステップでは、図５（１）に示すように、前記２値画像上に所定の処理対象領域を設定する。この設定はあらかじめ定められた設定データに基づくもので、画像上の文字列全体を十分に含む大きさの処理対象領域１０１が設定される。つぎに、ｘ軸，ｙ軸のそれぞれについて、前記処理対象領域１０１内の画像データをその軸方向に沿って投影することにより、文字列に含まれる各文字を切り出す。なお、この投影処理は、１ライン上の黒画素数を計数する処理として行われる。また、ｘ軸、ｙ軸については、図５の左上のように、印刷ラインに沿う方向をｘ軸、これに直交する方向をｙ軸として設定されているものとする。これは、以下の例でも同様である。
【００５６】
さらに、ステップ２では、前記切り出し処理に基づき、文字毎に個別の処理領域Ｒｎ（ｎ＝０，１，２，・・・ＣＮ−１；以下、これらの領域を「文字領域」という。）を仮設定する。なお、ＣＮは切り出した文字の個数に相当する。図５（２）は、この領域設定結果を示す。ｘ軸方向においては、前記処理対象領域１０１内の画像データをｙ軸方向に沿って投影した結果、文字毎にその文字幅に応じた範囲を切り出すことができる。これに対し、ｙ軸方向においては、最も高い位置に印刷された文字の上端位置ＹＳから最も低い位置に印刷された文字の下端位置ＹＥまでの範囲が抽出されるので、いずれの文字領域Ｒｎも、上端の座標はＹＳに、下端の座標はＹＥに、それぞれ揃えられる。なお、各文字領域Ｒｎの設定範囲は、左上の頂点の座標（ＸＳ（ｎ），ＹＳ）と右下の頂点の座標（ＸＥ（ｎ），ＹＥ）とにより表される。
【００５７】
（３）黒画素を含む垂直ラインの総数Ｐｍａｘの抽出（ステップ３）
図６は、このステップ６における処理の概要を示す。このステップ３では、前記文字領域Ｒｎ毎にその領域内に含まれる垂直ラインＬｎ（ｙ軸に沿うラインであり、長さは文字領域Ｒｎの高さに等しい。）に順に着目しつつ、黒画素を含むラインを抽出する。黒画素が１つでも含まれるラインは抽出対象となる。さらに、このステップ３では、文字領域Ｒｎ毎に抽出された垂直ラインの総和を求め、これをＰｍａｘとして設定する。なお、このＰｍａｘは、後記するステップ９の正規化処理で使用されることになる。
【００５８】
図７は、ステップ３の詳細な手順を示す。
まず、最初のＳＴ３０１では、前記Ｐｍａｘおよび着目対象の文字領域を示すカウンタｎを、それぞれ０にセットする。つぎに、ＳＴ３０２では、前記文字領域Ｒｎの１ライン目のｘ座標にあたるＸＳ（ｎ）を着目対象に設定し、ＳＴ３０３において、この座標ＸＳ（ｎ）に対応する垂直ライン上の黒画素数を計数する。ここで、この計数値が０より大きい場合は、ＳＴ３０４からＳＴ３０５に進み、前記Ｐｍａｘを、現在値に１を加算した値に更新する。
【００５９】
以下、ｘの値が領域の右端のＸＥ（ｎ）になるまでｘの値を更新しつつ、各垂直ラインにおける黒画素数を計数し、その計数値が０より大きい場合には、前記Ｐｍａｘをインクリメントする。領域内のすべての垂直ラインにかかる処理が終了すると、ＳＴ３０７からＳＴ３０８に進み、ｎの値を更新する。以下、ＳＴ３０９において、更新後のｎが最終の文字領域を示すＣＮ−１以上であると判断されるまでＳＴ３０２に戻って、上記ＳＴ３０２〜３０７の手順を実行することにより、各文字領域Ｒｎに含まれる垂直ラインの中から黒画素を含むラインのみを抽出し、そのラインの総数Ｐｍａｘを算出する。
【００６０】
（４）文字領域の補正（ステップ４）
図８は、このステップ４における処理の概要を示す。このステップ４では、前記ステップ２で仮設定された文字領域Ｒｎの上端位置を、それぞれ対応する文字に合わせるとともに、各文字領域Ｒｎの高さ（ｙ軸方向の領域の長さをいう。）が各文字の高さの中の最大値Ｙsizeになるように、各文字領域Ｒｎの設定位置や高さを補正している。なお、補正後の文字領域の設定位置や大きさは、左上の頂点の座標（ＸＳ（ｎ），ＹＴ（ｎ））、Ｙsize、および右下の頂点のｘ座標ＸＥ（ｎ）により表される。
【００６１】
図９，１０は、ステップ４の詳細な手順を示す。図９は、主として、前記Ｙsizeや領域毎の余白を抽出する処理であり、図１０は、これらの設定値に基づき、各文字領域Ｒｎの上端位置を示す座標ＹＴ（ｎ）を設定する処理を示す。
【００６２】
まず、ＳＴ４０１において、着目対象の文字領域を示すカウンタｎを初期値の０に設定し、以下、ＳＴ４０２〜４０７において、ｎの値を更新しつつ、文字領域Ｒｎ毎に、座標ｙ（ＹＳ≦ｙ≦ＹＥ）の位置にある水平ライン上の黒画素を計数する処理を実行する（すなわち、ｘ軸方向に沿って領域内の画像データを投影することになる。）。この計数値は、前記カウンタｎ、および処理対象の水平ラインの位置を示す座標ｙに基づく２次元配列データＳ（ｎ，ｙ）として、ＲＡＭ１５内に保存される。
【００６３】
つぎに、ＳＴ４０８では、ｎの値をゼロリセットするとともに、前記Ｙsizeに初期値０をセットする。この後は、ｎの値を更新しつつ、文字領域Ｒｎ毎にＳＴ４０９〜４２２の処理を実行することになる。
【００６４】
以下、文字領域Ｒｎ毎の処理の詳細について説明する。
まず、ＳＴ４０９〜４１１では、着目対象の文字領域Ｒｎを上端から下方に向けてサーチして、前記黒画素数Ｓ（ｎ，ｙ）が０より大きくなる最初の水平ラインのｙ座標を抽出する。このｙ座標が抽出されると、つぎのＳＴ４１２では、抽出された座標の値ｙと現在の文字領域Ｒｎの上端を示す座標ＹＳとの差を求め、これを文字領域Ｒｎにおける上余白ＹＺＴ（ｎ）としてセットする。
【００６５】
つぎに、ＳＴ４１３〜４１５では、前記文字領域Ｒｎを下端から上方に向けてサーチして、黒画素数Ｓ（ｎ，ｙ）が０より大きくなる最初の水平ラインのｙ座標を抽出する。このｙ座標が抽出されると、つぎのＳＴ４１６では、前記文字領域Ｒｎの下端を示す座標ＹＥと前記抽出された座標ｙとの差を求め、これを、文字領域Ｒｎにおける下余白ＹＺＢ（ｎ）としてセットする。
【００６６】
つぎのＳＴ４１７では、上記の処理により設定された上余白ＹＺＴ（ｎ）と下余白ＹＺＢ（ｎ）とを加算し、これを余白加算値ｔｍｐとする。なお、この余白加算値ｔｍｐは各文字領域Ｒｎ間で共有される変数であり、ＳＴ４１７が実行される都度、値が書き換えられる。
【００６７】
続くＳＴ４１８では、現在の文字領域Ｒｎの長さ（ＹＥ−ＹＳ＋１）から前記余白加算値ｔｍｐを差し引くことによって、文字の高さＨ（ｎ）を求める。ＳＴ４１９では、前記文字の高さＨ（ｎ）を前記Ｙsizeと比較する。ここでＨ（ｎ）がＹsizeより大きい場合には、ＳＴ４２０において、このＨ（ｎ）の値によりＹsizeを書き換える。
【００６８】
最後の文字領域ＲＣＮ−１に対する処理が完了してＳＴ４０９〜４２２のループが終了したとき、各文字の高さのうちの最大の値がＹsizeとして設定されていることになる。なお、このＹsize、および文字領域Ｒｎ毎の上余白ＹＺＴ（ｎ）、下余白ＹＺＢ（ｎ）、文字の高さＨ（ｎ）は、つぎの処理のためにＲＡＭ１５内に保存される。
【００６９】
つぎに、図１０のＳＴ４２３では、再びｎの値をリセットし、文字領域Ｒｎ毎に、以下の手順により補正後の文字領域Ｒｎの上端位置を示すｙ座標の値：ＹＴ（ｎ）を決定する。
まず、ＳＴ４２４では、着目中の文字領域Ｒｎの上余白ＹＺＴ（ｎ）をチェックする。ここでＹＺＴ（ｎ）＝０、すなわち上余白がない状態であれば、ＳＴ４２６に進む。このＳＴ４２６では、前記ＹＴ（ｎ）に現在の上端位置の座標ＹＳをセットする。
【００７０】
ＹＺＴ（ｎ）＞０の場合には、ＳＴ４２４からＳＴ４２５に進み、下余白ＹＺＢ（ｎ）をチェックする。ここでＹＺＢ（ｎ）＝０、すなわち下余白がない状態であれば、ＳＴ４２７に進む。このＳＴ４２７では、前記Ｙsizeと処理対象の文字の高さＨ（ｎ）との差を現在の文字領域Ｒｎの上端位置Ｙｓに加え、その値をＹＴ（ｎ）としてセットする。
【００７１】
一方、ＹＺＢ（ｎ）＞０、すなわち、文字領域Ｒｎの上下ともに余白がある場合には、ＳＴ４２５からＳＴ４２８に進む。ＳＴ４２８では、Ｙｓ，Ｙsize，Ｈ（ｎ），ＹＺＴ（ｎ），ＹＺＢ（ｎ）の各値を下記の（Ａ）式にあてはめることにより、ＹＴ（ｎ）を算出する。
【００７２】
【数１】
0004631384.tif 000002
【００７３】
上記の手順により、文字領域Ｒｎの上端位置の座標は、文字の高さや余白の状態に応じて調整された値ＹＴ（ｎ）に更新されることになる。なお、いずれの文字領域Ｒｎについても、その高さはＹsizeに統一されるから、前記ＳＴ４２６が実行された文字領域Ｒｎでは、文字の下方に（Ｙsize−Ｈ（ｎ））の大きさの余白が設定されることになる。また、ＳＴ４２７を実行された文字領域Ｒｎでは、文字の上方に（Ｙsize−Ｈ（ｎ））の大きさの余白が設定されることになる。さらに、ＳＴ４２８が実行された文字領域Ｒｎでは、文字の上下ともに余白が設定されるが、これら余白の合計値が（Ｙsize−Ｈ（ｎ））に等しくなる。また、Ｈ（ｎ）＝Ｙsizeとなる文字領域Ｒｎでは、上下の余白はいずれも０となる。
【００７４】
（５）対応する水平ライン上の黒画素数Ｐ（ｙ）の累計処理（ステップ５）
このステップ５の処理は、前記補正後の文字領域Ｒｎに対して実行されるもので、図１１に、その処理の概要を示している。このステップ５では、文字領域Ｒｎ間で対応関係にある水平ラインＨｎｙ（領域の上端からの距離が同一の位置にある水平ライン；ｙの範囲は０≦ｙ≦Ｙsize−１となる。）に順に着目し、これらライン毎の投影処理によりライン上の黒画素数Ｓ０ｙ，Ｓ１ｙ，・・・Ｓ（ＣＮ−１）ｙを求める。さらに、これらライン毎の黒画素数を累計し、その累計値をＰ（ｙ）としてＲＡＭ１５内に格納する。
【００７５】
（６）極大値ＰＴｍａｘ，ＰＭｍａｘ，ＰＢｍａｘの抽出（ステップ６）
前記ステップ５で求められた累計値Ｐ（ｙ）は、図１２に示すように、ｙ軸に沿うヒストグラムとして表すことができる。ステップ６では、このようなＰ（ｙ）の配列を走査することにより、３個の極大値ＰＴｍａｘ，ＰＭｍａｘ，ＰＢｍａｘを抽出する。極大値ＰＴｍａｘは、前記ヒストグラムを上方から走査した場合に１番目に抽出される極大値である。反対に、極大値ＰＢｍａｘは、前記ヒストグラムを下方から走査した場合に１番目に抽出される極大値である。また、極大値ＰＭｍａｘは、極大値ＰＴｍａｘとＰＢｍａｘとの間に存在する極大値となる。なお、図１２のヒストグラムにおいて、累計値Ｐ（ｙ）の値がゼロに近いものは、印刷ライン間の空白部分を反映していると考えることができる。
【００７６】
図１３，１４は、前記極大値ＰＴｍａｘ，ＰＭｍａｘ，ＰＢｍａｘの抽出処理にかかる詳細な手順を示す。この手順では、まず最初に、極大値ＰＴｍａｘを見つけるために、ｙの値を０とする（ＳＴ６０１）。そして、ＳＴ６０２〜６０４において、ｙの値を１ずつ増やしながら、Ｐ（ｙ）とＰ（ｙ＋１）とを比較する。ここでＰ（ｙ）＞Ｐ（ｙ＋１）となったとき、その時点の着目位置ｙにおける値Ｐ（ｙ）は、１つ下の位置における値Ｐ（ｙ＋１）より大きくなると同時に、１つ上の位置における値Ｐ（ｙ−１）に対しても大きくなる。ｙ−１は、このループを前回実行したときのｙに相当し、また、このとき現在のｙはｙ＋１であり、両者の比較によりＳＴ６０２が「ＮＯ」となっているからである（後記するＳＴ６１２〜６１４でも、これと同様の考えにより極大値ＰＢｍａｘを抽出する。）。よって、ＳＴ６０２が「ＹＥＳ」となった時点でループを抜けてＳＴ６０５に進み、現在のＰ（ｙ）の値を極大値ＰＴｍａｘとして設定する。
【００７７】
極大値ＰＴｍａｘが設定されると、つぎのＳＴ６０６〜６０８では、この極大値ＰＴｍａｘが得られた位置より下方を走査しつつ、Ｐ（ｙ）とＰ（ｙ＋１）との比較を続ける。ここでＰ（ｙ＋１）＞Ｐ（ｙ）となると、ＳＴ６０９に進み、その時点のＰ（ｙ＋１）を極大値ＰＭｍａｘとして設定する。ただし、この時点の極大値ＰＭｍａｘは仮のものである。つぎのＳＴ６１０では、後で極大値ＰＭｍａｘを確定する処理のために、極大値ＰＭｍａｘより１つ下方の位置（ｙ＋２）を変数ｙｓに保存する。
【００７８】
つぎに、ＳＴ６１１では、ｙの値を最大の（Ｙsize−１）に設定する。続くＳＴ６１２〜６１４では、ｙの値を１つずつ小さくしながら、Ｐ（ｙ）とＰ（ｙ−１）とを比較する。このループにおいて、Ｐ（ｙ）＞Ｐ（ｙ−１）と判断されると、ＳＴ６１２からＳＴ６１５に進み、その時点でのＰ（ｙ）の値を極大値ＰＢｍａｘとして設定する。
【００７９】
極大値ＰＢｍａｘが設定されると、つぎのＳＴ６１６〜６１８では、この極大値ＰＢｍａｘより上方において、引き続きＰ（ｙ）とＰ（ｙ−１）とを比較する。ここでＰ（ｙ−１）＞Ｐ（ｙ）となると、ループを抜けてＳＴ６１９に進み、その時点での（ｙ−１）の値を変数ｙｅにセットする。以下、ＳＴ６２０〜６２４では、ｙの値を前記ｙｓからｙｅまでの範囲で動かしながら、この範囲におけるＰ（ｙ）の最大値を抽出し、その値を極大値ＰＭｍａｘとする。
【００８０】
なお、ＳＴ６０２〜６０４、ＳＴ６０６〜６０８、ＳＴ６１２〜６１４、ＳＴ６１６〜６１８の各ループにおいて、着目可能な範囲内に極大値が見つからなかった場合には、図示しないエラー処理に進む。
【００８１】
（７）Ｐ（ｙ）の加算処理（ステップ７）
ステップ７でも、前記累計値Ｐ（ｙ）を処理対象とする。このステップ７の処理は、前記ヒストグラムのｙ軸において所定幅ｗの範囲に含まれる各累計値Ｐ（ｙ）を加算する処理に相当する。この加算処理は、ｙの値を０から順に１つずつ動かしながら実行されるもので、各ｙの値について求められた加算値は、配列ＡＰ（ｙ）に格納される。
【００８２】
（８）最小値ＡＰｍｉｎの抽出（ステップ８）
図１５は、前記ステップ７で求められた加算値ＡＰ（ｙ）を、前記図１２と同様のｙ軸に沿うヒストグラムとして示したものである（ただし、ｘ軸方向におけるスケールは縮小している。）。ステップ８では、この加算値ＡＰ（ｙ）を順に比較し、最小値ＡＰｍｉｎを求める。
【００８３】
（９）正規化処理（ステップ９）
ステップ９では、ここまでの処理により求められた極大値ＰＴｍａｘ，ＰＭｍａｘ，ＰＢｍａｘ，加算値の最小値ＡＰｍｉｎの各値を、前記ＳＴ３で求めたＰｍａｘを用いて正規化する。なお、極大値ＰＴｍａｘ，ＰＭｍａｘ，ＰＢｍａｘの正規化では、現在の値を前記Ｐｍａｘで除算する。また加算値の最小値ＡＰｍｉｎの正規化では、現在の値を（Ｐｍａｘ×ｗ）により除算する。ｗは、前記加算値ＡＰ（ｙ）の算出の範囲を示すのに使用されたものである。
【００８４】
前記Ｐｍａｘは、各文字領域Ｒｎにおいてドットに対応する黒画素が少なくとも１つ出現した垂直ラインの総数である。したがって、上記正規化後の各値は、１水平ライン上に出現し得る黒画素の最大値に対して、実際の黒画素がどの程度の割合で現れているかを示すと考えることができるから、ドットの印刷の程度をわかりやすく示すことができる。
【００８５】
（１０）判定処理（ステップ１０）
このステップ１０では、前記極大値ＰＴｍａｘ，ＰＭｍａｘ，ＰＢｍａｘ、および加算値の最小値ＡＰｍｉｎについての正規化後の値をそれぞれ所定のしきい値と比較する。各極大値に対応するしきい値は、ドット埋まりが生じた印刷ラインにかかる黒画素数を反映させたもので、いずれかの極大値がしきい値よりも大きくなると、その極大値に対応する位置でドット埋まりが生じているものと判断される。
【００８６】
加算値の最小値ＡＰｍｉｎに対応するしきい値は、１〜２個程度のドットが打たれた１印刷ラインにかかる水平ラインの黒画素数を反映させたものとなる。正規化後のＡＰｍｉｎの値がこのしきい値を下回った場合、ＡＰｍｉｎに対応する位置でドット抜けが生じている、と判断されることになる。
【００８７】
なお、上記ＡＰｍｉｎは、複数のドット印刷ラインのうち、上下端のライン以外の印刷ラインにおけるドット抜けを抽出するためのものである。ＳＴ１０では、上下端のラインのドット抜けを判別するために、別途、補正後の文字領域Ｒｎの高さＹsizeを用いた判別処理を実行している。
【００８８】
前記したように、Ｙsizeは文字列中の各文字の高さの最大値であるから、上端または下端のいずれかの印刷ラインにドット抜けが発生した場合には、このＹsizeは本来の文字の高さよりも低くなると考えられる。
よって、この実施例では、印刷ラインが１つ欠落した場合の文字の高さに基づくしきい値を設定し、このしきい値とＹsizeと比較する。ここでＹsizeがしきい値より小さい場合には、上端または下端の印刷ラインにおいてドット抜けが発生していると判断されることになる。
【００８９】
（１１）判定結果出力（ステップ１１）
前記ステップ１０において、いずれかの位置において、ドット埋まり、またはドット抜けが生じていると判断された場合、ステップ１１では、前記ＰＬＣ１２に対し、「不良あり」を示す判定信号を出力する。このほか、このステップ１１では、図１６のような判定結果表示画面をモニタ５に表示させるようにしている。
【００９０】
図１６において、上埋まり判定上限値、中埋まり判定上限値、下埋まり判定上限値は、それぞれ前記極大値ＰＴｍａｘ，ＰＭｍａｘ，ＰＢｍａｘに対応するものである。また中抜け判定下限値は前記加算値ＡＰ（ｙ）の最小値ＡＰｍｉｎに対応し、最下段の上下抜け判定下限値は、前記Ｙsizeに対応する。
【００９１】
図示例では、これら５種類のパラメータについて、それぞれ上記した手順により求めた計測値と判別処理に使用したしきい値とを対応づけて表示している。なお、ＰＴｍａｘ，ＰＭｍａｘ，ＰＢｍａｘ，ＡＰｍｉｎにかかる各数値は、前記正規化後の数値を百分率の単位で表したもので、Ｙsizeにかかる数値は画素数である。
【００９２】
以上、説明した処理によれば、文字列中の各文字に対する文字領域Ｒｎを、ｙ軸上のその文字の位置に合わせて調整するとともに、各文字領域Ｒｎの高さを最大の文字の高さＹsizeに合わせるので、各領域Ｒｎ間の水平ラインＨｎｙの対応づけを支障なく行うことができ、Ｙsize個の累計値Ｐ（ｙ）を得ることができる。
【００９３】
勿論、文字間の高さにばらつきがあり、高さが小さい文字には余白が設定されるため、文字領域Ｒｎ間で組み合わせられる水平ラインは、実際の対応関係を忠実に示しているとは言えない。しかしながら、画像上の１つのドットは数画素分の大きさを持つので、印刷ラインについては、同じ印刷ラインにかかる水平ラインを多数含む組み合わせが設定され、また印刷ライン間の空白部分についても、同じ空白部分にかかる水平ラインを多数含む組み合わせが設定されると考えることができる。したがって、前記累計値Ｐ（ｙ）によれば、各印刷ラインの印刷状態について、十分に信頼度の高いデータを得ることができ、そのうちの極大値や最小値に基づき、ドットの埋まりやドットの抜けの有無を精度良く判別することができる。
【００９４】
また、ドットの抜けについては、所定幅ｗの範囲に対応する累計値Ｐ（ｙ）を加算した値の最小値ＡＰｍｉｎを用いた判別処理を行うので、印刷ライン間の空白部がドットの抜けとして誤抽出するのを防止することができる。加えて、この実施例では、各文字領域の補正のために抽出されたＹsizeを用いた判別処理を行うので、上下端のドットの抜けを精度良く判別することができる。
【００９５】
なお、前記幅ｗについては、あらかじめ、印刷不良のないモデルの文字列を撮像して得た画像を用いて求めることができる。この場合、各文字について、前記図４のステップ１〜４と同様の処理を実行してＹsizeの値を求め、このＹsizeを印刷ラインの数で割った値に基づきｗを設定することができる。また、この場合には、一度、設定された値に基づいて図４の検査手順を実行し、前記最小値ＡＰｍｉｎの値によって、ｗの値を調整するのが望ましい。たとえば、印刷ライン間の空白部が小さい場合には、最小値ＡＰｍｉｎの値が大きくなると考えられるが、この場合には、ｗの値を小さくなる方向に調整することで対応することができる。また、印刷ライン間の空白部が大きい場合には、最小値ＡＰｍｉｎの値が小さくなると考えられるが、この場合には、ｗの値を大きくなる方向に調整することで対応することができる。
【００９６】
また、図１６のように、１水平ラインにおける最大の黒画素数に対する割合により、ドット埋まりやドット抜けの状態を示す場合には、印刷状態と数値との関係を容易に把握することができる。したがって、ＳＴ１０の判定処理のためのしきい値をユーザー側に数値入力させることも可能である。
【００９７】
なお、この実施例の検査装置１では２値画像を処理するようにしたが、これに限らず、ディジタル変換後の濃淡画像を処理してもよい。この場合、前記ＳＴ２、ＳＴ３０３、ＳＴ４０３などでの黒画素数を計数する処理は、ライン上の各画素の濃度値を加算する処理に置き換えられることになる。また、ＳＴ３では、文字の画像に対応する濃度を有する画素を含む垂直ラインを抽出することになる。
また、濃淡画像についても、前記濃度値の加算に代えて、文字の画像に対応する濃度値を有する画素の数を計数する方法をとれば、２値画像における投影値と同様のデータを得ることができる。
【００９８】
また、この実施例の検査装置１では、別途、従来のパターンマッチングによる文字検査も行うことができる。このように複数とおりの方法による検査を行えば、各種の要因による印刷不良を検出することができ、検査の精度を大幅に向上することができる。
【００９９】
ところで、上記の実施例では、文字列中の個々の文字が歪む場合までは説明していないが、印刷面の傾きによっては、一文字分の幅範囲においても、印刷ラインに歪みが生じる場合がある。このような場合には、前記文字列の並びに沿う領域を、一文字の幅よりも小さい単位に細分化して、同様の処理を行えばよい。またこの場合には、各領域の幅を処理対象の文字の歪み度合に合わせて設定するようにするのが望ましい。
また、上記の実施例では、文字列を検査対象としたが、マークなどの文字以外の印刷体を検査対象とする場合にも、同様の手法による検査を実施することができる。
【図面の簡単な説明】
【０１００】
【図１】この発明にかかる文字検査装置の適用例を示す図である。
【図２】文字検査装置の電気構成を示す図である。
【図３】検査対象の文字列の画像の例を示す図である。
【図４】一連の検査手順を示すフローチャートである。
【図５】文字の切り出し処理と文字領域を仮設定する処理との概要を示す図である。
【図６】黒画素を含む垂直ラインの総数を抽出する処理の概要を示す図である。
【図７】図６の処理の詳細な手順を示すフローチャートである。
【図８】文字領域の補正処理の概要を示す図である。
【図９】図８の処理の詳細な手順を示すフローチャートである。
【図１０】図９の続きのフローチャートである。
【図１１】対応する水平ライン上の黒画素数を累計する処理の概要を示す図である。
【図１２】黒画素数の累計結果を極大値とともに示すヒストグラムである。
【図１３】極大値の抽出にかかる手順を示すフローチャートである。
【図１４】図１３の続きのフローチャートである。
【図１５】累計値の加算値をその最小値とともに示すヒストグラムである。
【図１６】判定結果の表示画面を示す図である。
【図１７】ドットの埋まり、ドットの抜けの不良の例を示す図である。
【符号の説明】
【０１０１】
Ａ    文字列
Ｒｎ  文字領域
１    文字検査装置
２    インクジェットプリンタ
３    カメラ
１３  ＣＰＵ
１４  ＲＯＭ
１５  ＲＡＭ
１６  画像メモリ
２０  出力部
【図１】
0004631384.tif 000003
【図２】
0004631384.tif 000004
【図３】
0004631384.tif 000005
【図４】
0004631384.tif 000006
【図５】
0004631384.tif 000007
【図６】
0004631384.tif 000008
【図７】
0004631384.tif 000009
【図８】
0004631384.tif 000010
【図９】
0004631384.tif 000011
【図１０】
0004631384.tif 000012
【図１１】
0004631384.tif 000013
【図１２】
0004631384.tif 000014
【図１３】
0004631384.tif 000015
【図１４】
0004631384.tif 000016
【図１５】
0004631384.tif 000017
【図１６】
0004631384.tif 000018
【図１７】
0004631384.tif 000019