(57)【要約】【課題】人為的操作なくして情報コード画像を短時間に認識できる画像処理装置を提供する。【解決手段】処理対象となった画像データ上で情報コード画像を含む部分を検出するために、ＣＰＵ２１が、処理対象となった画像データの空間周波数マップを生成し、空間周波数マップに対して、情報コード画像の性状との関係において定められる強調処理を適用して、補正マップを生成し、補正マップ上で、予め定めた基準との関係で画定される領域を情報コード画像を含む候補領域として検出し、当該画定した候補領域に対応する画像データ部分が所定の条件を満足しているか否かにより、情報コード画像部分を画定する画像処理装置である。【選択図】　　　　図１
2004110099.tif 000002
【特許請求の範囲】
【請求項１】
処理対象となった画像データ上で、情報コード画像を含む部分を検出する画像処理装置であって、
処理対象となった画像データの空間周波数マップを生成するマップ生成手段と、
前記空間周波数マップに対して、前記情報コード画像の性状との関係において定められる強調処理を適用して、補正マップを生成するマップ強調手段と、
前記補正マップ上で、予め定めた基準との関係で画定される領域を情報コード画像を含む候補領域として検出する検出手段と、
当該画定した候補領域に対応する画像データ部分が所定の条件を満足しているか否かにより、情報コード画像部分を画定する手段と、
を含むことを特徴とする画像処理装置。
【請求項２】
請求項１に記載の画像処理装置において、
前記マップ生成手段は、処理対象となった画像データをブロックに分割し、各ブロック毎の空間周波数成分の各々を要素とするマトリクスを、当該マトリクスの元となったブロックに対応する位置に配列して空間周波数マップを生成し、
前記マップ強調手段は、前記マトリクスの各要素に対し、前記情報コード画像の性状との関係において定められる所定の重みを乗じて得た数値を利用して補正マップを生成し、
前記検出手段は、補正マップ上に配列されたマトリクスを用いて予め定められた演算を行って得られた値と、予め定めた基準としてのしきい値との比較によって情報コード画像を含む候補領域を検出する、
ことを特徴とする画像処理装置。
【請求項３】
請求項１に記載の画像処理装置において、
前記マップ生成手段は、処理対象となった画像データをブロックに分割し、各ブロック毎の空間周波数成分の各々を要素とするマトリクスを、当該マトリクスの元となったブロックに対応する位置に配列して空間周波数マップを生成し、
前記マップ強調手段は、前記マトリクスに含まれる要素群のうち、前記情報コード画像の性状との関係において定められる部分をサブマトリクスとして抽出し、当該サブマトリクスを配列して補正マップを生成する、
ことを特徴とする画像処理装置。
【請求項４】
請求項１から３のいずれか一項に記載の画像処理装置において、
前記情報コード画像部分を画定する手段が用いる所定の条件は、情報コード画像の画像の生成規定との関係で定められる条件であることを特徴とする画像処理装置。
【請求項５】
請求項１から３のいずれか一項に記載の画像処理装置において、
前記情報コード画像部分を画定する手段が用いる所定の条件には、
情報コード画像のスキャン方向前後に設けられる空白領域の有無の条件と、
候補領域に含まれる線の数の条件と、
候補領域に含まれる線の幅の一様性の条件と、
のいずれかを少なくとも含む
ことを特徴とする画像処理装置。
【請求項６】
処理対象となった画像データ上で、情報コード画像を含む部分を検出する画像処理方法であって、
処理対象となった画像データの空間周波数マップを生成するマップ生成工程と、
前記空間周波数マップに対して、前記情報コード画像の性状との関係において定められる強調処理を適用して、補正マップを生成するマップ強調工程と、
前記補正マップ上で、予め定めた基準との関係で画定される領域を情報コード画像を含む候補領域として検出する検出工程と、
当該画定した候補領域に対応する画像データ部分が所定の条件を満足しているか否かにより、情報コード画像部分を画定する工程と、
を含むことを特徴とする画像処理方法。
【請求項７】
処理対象となった画像データ上で、情報コード画像を含む部分を検出する画像処理プログラムであって、コンピュータに、
処理対象となった画像データの空間周波数マップを生成するマップ生成手順と、
前記空間周波数マップに対して、前記情報コード画像の性状との関係において定められる強調処理を適用して、補正マップを生成するマップ強調手順と、
前記補正マップ上で、予め定めた基準との関係で画定される領域を情報コード画像を含む候補領域として検出する検出手順と、
当該画定した候補領域に対応する画像データ部分が所定の条件を満足しているか否かにより、情報コード画像部分を画定する手順と、
を実行させることを特徴とする画像処理プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、バーコード等の情報コード画像を処理する画像処理装置に関する。
【０００２】
【従来の技術】
様々な情報を画像化して用紙面に印刷する技術として、バーコード等が広く知られている。これら画像化された情報（情報コード画像）は、スキャナで読み取られ、そこに含められた情報が例えば用紙の仕分け等に利用されている。従来、バーコード等の情報コード画像をスキャンするときには、スキャナを操作する利用者がバーコードの印刷された用紙をスキャナに近づけるなど、情報コード画像の印刷位置を何らかの方法で人為的にスキャナ側に伝達する必要があった。
【０００３】
すなわち、Ａ４のサイズの用紙から情報コード画像の部分を人為的操作なしに認識するには、Ａ４サイズの面積全体から情報コード画像を探索することとなり、この場合、Ａ４サイズの用紙の各部分を順次調べて情報コード画像が含まれているか否かを判断する処理をしなければならず、処理時間等の負荷が大きくなり過ぎてしまう。
【０００４】
【特許文献１】
特許第２７７４８９２号公報
【特許文献２】
特開平６−２００８５号公報
【特許文献３】
特開平６−１２４３５６号公報
【特許文献４】
特開平７−２１９８７６号公報
【特許文献５】
特開平１０−１７１７５８号公報
【特許文献６】
特開２０００−１２８０４３号公報
【特許文献７】
特開２０００−１４３９７３号公報
【０００５】
【発明が解決しようとする課題】
このように、上記従来の画像処理装置では、人為的にその位置を特定するまでは情報コード画像の認識が行われない。たとえば、用紙上に多数の情報コード画像が含められている場合、各情報コード画像の位置を人為的に特定する必要がある。このことは情報コード画像の利用目的を大きく制限する結果となっていた。
【０００６】
本発明は上記実情に鑑みて為されたもので、人為的操作なくして情報コード画像を短時間に認識できる画像処理装置を提供することをその目的の一つとする。
【０００７】
【課題を解決するための手段】
上記従来例の問題点を解決するための本発明は、処理対象となった画像データ上で、情報コード画像を含む部分を検出する画像処理装置であって、処理対象となった画像データの空間周波数マップを生成するマップ生成手段と、前記空間周波数マップに対して、前記情報コード画像の性状との関係において定められる強調処理を適用して、補正マップを生成するマップ強調手段と、前記補正マップ上で、予め定めた基準との関係で画定される領域を情報コード画像を含む候補領域として検出する検出手段と、当該画定した候補領域に対応する画像データ部分が所定の条件を満足しているか否かにより、情報コード画像部分を画定する手段と、を含むことを特徴としている。
【０００８】
ここで、前記マップ生成手段は、処理対象となった画像データをブロックに分割し、各ブロック毎の空間周波数成分の各々を要素とするマトリクスを、当該マトリクスの元となったブロックに対応する位置に配列して空間周波数マップを生成し、前記マップ強調手段は、前記マトリクスの各要素に対し、前記情報コード画像の性状との関係において定められる所定の重みを乗じて得た数値を利用して補正マップを生成する、こととするのも好ましい。
【０００９】
また、別の態様では、前記マップ生成手段は、処理対象となった画像データをブロックに分割し、各ブロック毎の空間周波数成分の各々を要素とするマトリクスを、当該マトリクスの元となったブロックに対応する位置に配列して空間周波数マップを生成し、前記マップ強調手段は、前記マトリクスに含まれる要素群のうち、前記情報コード画像の性状との関係において定められる部分をサブマトリクスとして抽出し、当該サブマトリクスを配列して補正マップを生成し、前記検出手段は、補正マップ上に配列されたマトリクスを用いて予め定められた演算を行って得られた値と、予め定めた基準としてのしきい値との比較によって情報コード画像を含む候補領域を検出する、こととした。
【００１０】
さらに、前記情報コード画像部分を画定する手段が用いる所定の条件は、情報コード画像の画像の生成規定との関係で定められる条件とするのも好ましい。同様に、前記情報コード画像部分を画定する手段が用いる所定の条件には、情報コード画像のスキャン方向前後に設けられる空白領域の有無の条件と、候補領域に含まれる線の数の条件と、候補領域に含まれる線の幅の一様性の条件と、のいずれかを少なくとも含むこととするのも好ましい。
【００１１】
本発明のまた別の態様によると、処理対象となった画像データ上で、情報コード画像を含む部分を検出する画像処理方法であって、処理対象となった画像データの空間周波数マップを生成するマップ生成工程と、前記空間周波数マップに対して、前記情報コード画像の性状との関係において定められる強調処理を適用して、補正マップを生成するマップ強調工程と、前記補正マップ上で、予め定めた基準との関係で画定される領域を情報コード画像を含む候補領域として検出する検出工程と、当該画定した候補領域に対応する画像データ部分が所定の条件を満足しているか否かにより、情報コード画像部分を画定する工程と、を含むこととした。
【００１２】
さらに、本発明の別の態様によると、処理対象となった画像データ上で、情報コード画像を含む部分を検出する画像処理プログラムであって、コンピュータに、処理対象となった画像データの空間周波数マップを生成するマップ生成手順と、前記空間周波数マップに対して、前記情報コード画像の性状との関係において定められる強調処理を適用して、補正マップを生成するマップ強調手順と、前記補正マップ上で、予め定めた基準との関係で画定される領域を情報コード画像を含む候補領域として検出する検出手順と、当該画定した候補領域に対応する画像データ部分が所定の条件を満足しているか否かにより、情報コード画像部分を画定する手順と、を実行させることとした。
【００１３】
【発明の実施の形態】
本発明の実施の形態について図面を参照しながら説明する。本発明の実施の形態に係る画像処理装置は、図１に示すように、スキャナ部１１と、制御部１２とを含んでなり、制御部１２は、ＣＰＵ２１と、記憶部２２と、操作部２３と、表示部２４と、インタフェース部２５とを含んで構成されている。
【００１４】
スキャナ部１１は、例えばフラットベッド型のスキャナであり、制御部１２から入力される指示に従って、読取面に配置された用紙面を光学的に読み取って、読み取った結果である画像データを制御部１２に出力する。
【００１５】
制御部１２のＣＰＵ２１は、記憶部２２に格納されているプログラムに従って動作し、利用者からの操作に応答して、スキャナ部１１に用紙の読取を指示し、スキャナ部１１から入力される画像データを処理対象として、当該画像データから情報コード画像を含む領域を検出する処理を基本的に実行する。また、このＣＰＵ２１は、検出した領域に含まれる情報コード画像に基づき、その情報コード画像に含まれている情報を復元し、当該復元した情報を利用して所定の処理を実行する。これらＣＰＵ２１の具体的な処理の内容については、後に詳しく述べる。
【００１６】
記憶部２２は、ＣＰＵ２１のワークメモリとして動作する。また、この記憶部２２は、ＣＰＵ２１によって実行されるプログラムを保持している。操作部２３は、キーパッド等であり、利用者の操作内容をＣＰＵ２１に伝達する。表示部２４は、ＣＰＵ２１から入力される指示に従って情報を表示する。この表示部２４は、例えば液晶ディスプレイ等である。インタフェース部２５は、ＣＰＵ２１から入力される指示に従って例えば情報コードから復元した情報等を外部の機器に出力する。また、このインタフェース部２５は、外部から入力される情報を受信してＣＰＵ２１に出力する。
【００１７】
ここで制御部１２のＣＰＵ２１の処理の具体的な内容について説明する。ここでは一例として情報コード画像は、図２に示すようなバーコードであるとする。このバーコードは図２に示すようにスキャン方向に１１ｍｍ、これに対する方向に３ｍｍの矩形内に描画される微小な画像であり、スキャン方向の前後に、それぞれ１．５ｍｍの空白領域（用紙の地色が現れている部分）が形成されている。また、バーコードの画像は、黒の細いバーと、黒の太いバーと、白の細いバーと、白の太いバーの合計４種類のバーの配列よりなり、この４種類のバーがそれぞれ少なくとも１本ずつは含まれているものとして規定され、走査方向を横方向として、縦縞の画像となる。
【００１８】
ＣＰＵ２１は、利用者から操作部２３を介してスキャナ部１１の読取面に配置した用紙を読み取るべき旨の指示を受けて、スキャナ部１１に対して用紙の読取を指示し、読取の結果である画像データの入力を受けて、当該画像データを記憶部２２に格納する。ここで画像データは、用紙の面の全体を読み取ったものであって構わない。ＣＰＵ２１は、この画像データをグレイスケールの画像に変換して、図３に示す、情報コード画像を含む領域を検出する処理を開始する。
【００１９】
ＣＰＵ２１は、記憶部２２に格納した画像データを処理対象として、この画像データの空間周波数マップを生成する（Ｓ１）。具体的には、当該画像データについて所定サイズの画素ブロックごとにＤＣＴ（Ｄｉｓｃｒｅｔｅ　Ｃｏｓｉｎｅ　Ｔｒａｎｓｆｏｒｍ）変換を行い、その結果を配列することで空間周波数マップを生成することができる。ＣＰＵ２１は次に、処理Ｓ１にて作成した空間周波数マップ（例えば上記の８×８マトリクス）に対して、情報コード画像の性状との関係において定められる強調処理を行う（Ｓ２）。
【００２０】
ここで、強調処理の内容について説明する。一例として８×８画素のブロックごとにＤＣＴを行い、その結果として８×８のマトリクスを得たとすると（図４）、画素ブロック内で縦方向の低周波成分が強くなるほど、８×８マトリクスの、ほぼ上半分に並ぶ要素（Ｐ）の値が大きくなる。また画素ブロック内で横方向の低周波数成分が強くなるほど、８×８マトリクスの、ほぼ左半分に並ぶ要素（Ｑ）の値が大きくなる。つまり、マトリクス上で上方の要素ほど、縦方向の低周波成分の強さに応じて大きくなり、左側の要素ほど、横方向の低周波成分の強さに応じて大きくなるのである。従って、この８×８マトリクスにおいて、上半分に並ぶ各要素の値が大きくなり、かつ左半分に並ぶ各要素の値が小さくなる場合は、画素ブロックに縦方向の縞の画像が含まれていると判定できる。またこの８×８マトリクスにおいて、上半分に並ぶ各要素の値が小さくなり、かつ左半分に並ぶ各要素の値が大きくなる場合は、画素ブロックに横方向の縞の画像が含まれていると判定できる。
【００２１】
つまり、図２に示した例のように規定され、生成されたバーコードの場合、所定の解像度で読み取ってＤＣＴを行えば、画素ブロックに縦方向の縞の画像が含まれることとなるので、ＤＣＴの結果として得られるマトリクスの上半分に並ぶ各要素の値が大きくなり、かつ左半分に並ぶ各要素の値が小さくなる。
【００２２】
そこで本実施の形態では、空間周波数マップのマトリクスの各行の要素を配列したベクトルと、図５に示す各重みベクトルとの内積を演算する。具体的に８×８マトリクスの各要素ａｉｊのうち、第ｉ行目の要素の絶対値｜ａｉ１｜，｜ａｉ２｜，…｜ａｉ８｜と、ｉ番目の重みベクトルとの内積αｉ＝｜ａｉ１｜×ｗｉ１＋｜ａｉ２｜×ｗｉ２＋…＋｜ａｉ８｜×ｗｉ８を演算して、各行に対する演算結果、α１，…，α８を得、これらの総和αを強調処理の結果とする。なお、ここでは８要素を有するそれぞれ８個のベクトルの内積を演算しているが、６４要素を有するそれぞれのベクトルを８要素ずつ内積演算させるようにしてもよい。
【００２３】
ちなみに、第１行目の要素ａ１１，ａ１２，…ａ１８を配列したベクトルに対しては、［０，１，２，３，３，３，２，１］といった重みベクトルとの内積を演算することとなる。図５に示したように、マトリクスの上方の行の要素ほど、強調処理の結果への寄与が大きくなるように、対応する重みベクトルの要素の値が調整されている。
【００２４】
また、ここでは上半分に並ぶ要素の値の大きさを決定する場合を説明したが、図５に示したｉ番目の重みベクトルと、空間周波数マップのマトリクスの第ｉ列の要素の絶対値を配列したベクトル｜ａ１ｉ｜，｜ａ２ｉ｜，…｜ａ８ｉ｜との内積βｉ＝｜ａ１ｉ｜×ｗｉ１＋｜ａ２ｉ｜×ｗｉ２＋…＋｜ａ８ｉ｜×ｗｉ８を演算して、β１，…β８を得て、その総和βを強調処理の結果とすれば、同様に左半分に並ぶ要素の大きさを決定することができる。
【００２５】
ＣＰＵ２１は、こうして演算した各ブロックごとの強調処理の結果、α，βについて、情報コード画像（この場合は図２のバーコード）の画像の生成規定との関係で定められる条件に基づく判断処理を行い、補正した空間周波数マップを生成する。具体的にここでは、ＣＰＵ２１は「マトリクスの上半分に並ぶ各要素の値が大きくなり、かつ左半分に並ぶ各要素の値が小さくなる」との条件に基づく判断処理を行うため、予めしきい値として定めたαｔｈ、βｔｈを用いて、α≧αｔｈかつβ＜βｔｈの場合に黒、そうでない場合に白として、各ブロックに対応する位置の画素を設定した２値化画像を生成する（Ｓ３）。この２値化画像の黒画素の部分が情報コード画像を含む候補となる。
【００２６】
なお、この２値化画像は、処理対象となった画像データがｘ×ｙ画素であり、各ブロックが８×８画素である場合、（ｘ／８）×（ｙ／８）画素の画像となる。なお、ｘ，ｙが８で割り切れない場合もあるが、この場合の２値化画像の画素数はＤＣＴ処理におけるブロック化の方法に応じることとなる。この２値化画像が、本発明の補正マップに相当する。
【００２７】
ＣＰＵ２１は、この補正マップ上で、予め定めた基準との関係で画定される領域（上述の判断処理により「黒」となった領域）を情報コード画像を含む候補領域とする（Ｓ４）。そして、ＣＰＵ２１は、処理対象の画像データのうち、処理Ｓ４で画定した候補領域に対応する部分を参照し、当該部分が所定の条件を満足しているか否かにより、情報コード画像部分を画定して（Ｓ５）、処理を終了する。
【００２８】
この処理Ｓ５での所定の条件の例としては、情報コード画像のスキャン方向前後に設けられる空白領域の有無や、候補領域に対応する部分に含まれる線の数、候補領域に対応する部分に含まれる線の幅の一様性等、情報コード画像の生成規定とのパターンマッチングがある。すなわち、図２を用いて説明したように、ある例では、情報コード画像としてのバーコードのスキャン方向の前後に空白領域が設けられている。そこで、こうした情報コード画像の場合、この空白領域がなければ、当該部分は情報コード画像部分ではないと判断できる。また、情報コード画像がバーコードの場合、含まれる線の数は一般に決められており、細い線や太い線のいずれか一方のみで構成されることは一般的にない。そこで、候補領域に含まれた線の数が決められた数でないときや、幅（太さ）が一様であるときは、当該部分は情報コード画像部分ではないと判断できるのである。この処理Ｓ５の判断によって、多数の縦線で構成されたトーン部分を情報コード画像が含まれた部分と認識することが防止される。
【００２９】
ＣＰＵ２１は、さらに、処理Ｓ４において、生成した２値化画像から孤立点を除去する処理を行ってから、情報コード画像を含む候補領域を確定する処理を行ってもよい。孤立点除去の方法は複写機の技術等で広く知られたものを用いることができる。すなわち２値化画像上で孤立点のようにある黒画素の周囲が白画素で囲まれている場合、当該黒画素を白画素に補正する。またある白画素の周囲が黒画素で囲まれている場合は、当該白画素を黒画素に補正する（図６）。
【００３０】
なお、原稿を置く向きによっては、バーコードが縦縞ではなく、横縞として読み取られる場合がある。すなわち、バーコードの走査方向とスキャナ部１１の主走査方向とが一致するように用紙が配置された場合と、バーコードの走査方向とスキャナ部１１の副走査方向とが直交するように用紙が配置された場合とでは異なる。バーコードが横縞として読み取られると、ＤＣＴの結果であるマトリクスの上半分に並ぶ各要素の値が小さくなり、かつ左半分に並ぶ各要素の値が大きくなる。そこでこのようなケースに備えるため、処理Ｓ３において、β≧βｔｈかつα＜αｔｈの場合に黒、そうでない場合に白に設定した２値化画像を生成する。このようにすると横縞として読み取られる場合に対応できる。すなわちＣＰＵ２１は、縦縞として読み取られる場合と横縞として読み取られる場合とにそれぞれ対応する２値化画像を生成して、それぞれ処理してもよい。また、これ以外の形態の情報コード画像についても、それぞれの性状との関係でＤＣＴのマトリクス上に現れる特徴部分を強調処理し、当該特徴部分の有無に応じて情報コード画像を含む部分を検出できる。
【００３１】
本実施の形態によれば、周波数成分の分析と実際の処理対象画像データに対するパターンマッチングとにより、情報コード画像の部分を人為的操作なしに認識する。そして、ＣＰＵ２１は、上記処理により認識した情報コード画像部分に対して、情報コードを復号し、その情報コードに含まれる情報を復元することとなる。すなわち、上述のように本実施の形態では処理対象画像データの全体から情報コード画像を探索することがないので、処理時間が短縮されるなど、負荷が軽減され、情報コード画像の利用分野を拡大することができる。
【００３２】
［強調処理の別の例］
ここまでの説明の例では、強調処理として、ＤＣＴの結果として得られたマトリクス上の要素に対して重みを乗じていたが、マトリクス上で上方の要素ほど、縦方向の低周波成分の強さに応じて大きくなり、左側の要素ほど、横方向の低周波成分の強さに応じて大きくなることに着目して、例えば情報コード画像が図２に示したバーコードである場合は、図７に示すようにマトリクス上の、上半分に並ぶ要素を含むサブマトリクス（図７におけるＭなど）を少なくとも１つ抽出して、このサブマトリクスに対する所定の演算によって補正マップを生成してもよい。
【００３３】
具体的にここでの所定の演算としては、サブマトリクスの行列式の演算や、予め定められた比較用マトリクスとの要素比較（例えば要素間の差分）などがある。なお、比較用マトリクスは、情報コード画像に対しＤＣＴを行ってマトリクスを得、そのマトリクスから抽出されたサブマトリクスとすることができる。複数のサブマトリクスを抽出した場合は、各サブマトリクスの行列式等を用いることとなる。
【００３４】
ＣＰＵ２１は、サブマトリクスに対する所定の演算の結果を利用して各ブロックが情報コード画像を含んだ領域であるか否かを判断することになる。具体的に図７に示したサブマトリクスの行列式の値が所定のしきい値を越えていれば、当該サブマトリクスの元となったブロックを情報コード画像を含んだ領域の候補とする。
【００３５】
この場合も、マトリクス上で左側半分に並ぶ要素を含むサブマトリクスを用いれば、バーコードが横縞として読み取られた場合にも対応できる。
【図面の簡単な説明】
【図１】本発明の実施の形態に係る画像処理装置の構成ブロック図である。
【図２】情報コード画像の一例を表す説明図である。
【図３】情報コード画像を検出するための処理の例を表すフローチャート図である。
【図４】ＤＣＴの処理の結果、得られるマトリクスの概要を表す説明図である。
【図５】重みベクトルの一例を表す説明図である。
【図６】孤立点の除去の処理の概要を表す説明図である。
【図７】サブマトリクスの一例を表す説明図である。
【符号の説明】
１　画像処理装置、１１　スキャナ部、１２　制御部、２１　ＣＰＵ、２２　記憶部、２３　操作部、２４　表示部、２５　インタフェース部。
【図１】
2004110099.tif 000003
【図２】
2004110099.tif 000004
【図３】
2004110099.tif 000005
【図４】
2004110099.tif 000006
【図５】
2004110099.tif 000007
【図６】
2004110099.tif 000008
【図７】
2004110099.tif 000009