(57)【特許請求の範囲】
【請求項１】
正方形の二次元バーコードの位置及び角度を特定するために当該正方形の３隅に配置される位置要素パターンの明暗パターンを予め記憶手段に記憶しておき、
原稿を読み取って得られた読取画像データに基づいて、前記明暗パターンと一致する全ての画像領域を特定する工程と、
特定した全ての画像領域のうち、画像領域の中心を線で結んで得られる図形が直角二等辺三角形となり、且つ画像領域の中心間の距離がそれぞれ前記読取画像データにより示される読取画像の短辺に対する割合として定めた閾値以下となる３つの画像領域をそれぞれ二次元バーコードの位置要素パターンとして、当該３つの位置要素パターンにより示される領域を二次元バーコードとして検出する第１の検出工程と、
３つの画像領域の組み合わせを変えて前記検出する工程を繰り返して、複数の二次元バーコードを検出する第２の検出工程と、
を備えた二次元バーコードの検出方法。
【請求項２】
前記中心を線で結んで得られる直角二等辺三角形のサイズを予め設定する工程をさらに備えたことを特徴とする請求項１記載の二次元バーコードの検出方法。
【請求項３】
前記中心を線で結んで得られる直角二等辺三角形の読取画像データの天地方向に対する角度を予め設定する工程をさらに備えたことを特徴とする請求項１又は請求項２記載の二次元バーコードの検出方法。
【請求項４】
前記読取画像データにおいて二次元バーコードが存在する領域を予め設定する工程をさらに備えたことを特徴とする請求項１〜請求項３の何れか１項記載の二次元バーコードの検出方法。
【請求項５】
前記読取画像データに含まれる二次元バーコードの個数を予め設定する工程をさらに備えたことを特徴とする請求項１〜請求項４の何れか１項記載の二次元バーコードの検出方法。
【請求項６】
正方形の二次元バーコードの位置及び角度を特定するために当該正方形の３隅に配置される位置要素パターンの明暗パターンを予め記憶した記憶手段と、
原稿を読み取って得られた読取画像データに基づいて、前記明暗パターンと一致する全ての画像領域を特定する位置要素パターン特定手段と、
前記特定手段により特定した前記画像領域のうち、画像領域の中心を線で結んで得られる図形が直角二等辺三角形となり、且つ画像領域の中心間の距離がそれぞれ前記読取画像データにより示される読取画像の短辺に対する割合として定めた閾値以下となる３つの画像領域をそれぞれ二次元バーコードの位置要素パターンとして、当該３つの位置要素パターンにより示される領域を二次元バーコードとして検出する検出手段と、
３つの画像領域の組み合わせを変えて前記検出手段を繰り返して、複数の二次元バーコードを検出する繰返手段と、
を備えた二次元バーコードの検出装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、光学的に読み取り可能な二次元バーコードの検出方法及び検出装置に関するものである。
【背景技術】
【０００２】
近年、光学的に読み取り可能なコードとして、符号化された情報をマトリックス上に配列してパターン化した二次元バーコードが普及している。
【０００３】
従来、例えば特許文献１に記載されているように、二進コードで表されるデータをセル化して、二次元のマトリックス上にパターンとして配置した二次元コードにおいて、マトリックス内の少なくとも２個所の所定位置に、各々中心をあらゆる角度で横切る走査線において同じ周波数成分比が得られるパターンの位置決め用シンボルを配置する、所謂ＱＲコードと称される二次元バーコードが提案されている。
【０００４】
また、バーコードの読取方法としては、従来、特許文献２に記載されているように、二次元バーコードの開始及び停止コードワードを含むコードワードの少なくとも一方を探知することによって画像データ内の二次元バーコード記号の向きを決定して当該向きを考慮して二次元バーコードを走査することが提案されている。
【０００５】
さらに、当該二次元バーコードは、一次元バーコードと比較して表現できる情報量が大きいが、それでもその情報量には限界がある。このため、大量の情報量を二次元コードで表現する場合には、その情報を複数の二次元バーコードに分割して表現することも提案されている（例えば、非特許文献１参照。）。
【０００６】
ここで、１枚の原稿に形成された複数の二次元バーコードを読み取り、復号する場合、専用のバーコードリーダにより二次元バーコードを１つずつ単独で読み取ってそれぞれ復号する方法と、複合機等により１枚の原稿を読み取って、得られた画像データから複数の二次元バーコードを検出して復号する方法と、が考えられる。
【特許文献１】特開平７−２５４０３７号公報
【特許文献２】特開平６−１２５１５号公報
【非特許文献１】ＪＩＳ−Ｘ−０５１０（ｐ２２（5.3.2.7連結モード））
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、上記従来の技術では、複合機により１枚の原稿に形成された複数のＱＲコードを検出する場合には、複数のＱＲコードの位置関係や、ＱＲコード以外の部分においてＱＲコードの位置決めシンボルと類似する周波数分布を有する部位の存在に起因して、ＱＲコードを誤検出する可能性が高い、という問題点があった。
【０００８】
本発明は上記問題点を解決するためになされたものであり、画像データに含まれる複数の二次元バーコードを精度よく検出できる二次元バーコードの検出方法及び検出装置を提供することが目的である。
【課題を解決するための手段】
【０００９】
上記課題を解決するために、請求項１記載の発明は、正方形の二次元バーコードの位置及び角度を特定するために当該正方形の３隅に配置される位置要素パターンの明暗パターンを予め記憶手段に記憶しておき、原稿を読み取って得られた読取画像データに基づいて、前記明暗パターンと一致する全ての画像領域を特定する工程と、特定した全ての画像領域のうち、画像領域の中心を線で結んで得られる図形が直角二等辺三角形となり、且つ画像領域の中心間の距離がそれぞれ前記読取画像データにより示される読取画像の短辺に対する割合として定めた閾値以下となる３つの画像領域をそれぞれ二次元バーコードの位置要素パターンとして、当該３つの位置要素パターンにより示される領域を二次元バーコードとして検出する工程と、３つの画像領域の組み合わせを変えて前記検出する工程を繰り返して、複数の二次元バーコードを検出する第２の検出工程と、を備えている。
【００１０】
請求項１記載の発明によれば、正方形の二次元バーコードの位置及び角度を特定するために当該正方形の３隅に配置される位置要素パターンの明暗パターンを予め記憶手段に記憶しておき、原稿を読み取って得られた読取画像データに基づいて、前記明暗パターンと一致する全ての画像領域を特定し、特定した全ての画像領域のうち、画像領域の中心を線で結んで得られる図形が直角二等辺三角形となり、且つ画像領域の中心間の距離がそれぞれ前記読取画像データにより示される読取画像の短辺に対する割合として定めた閾値以下となる３つの画像領域をそれぞれ二次元バーコードの位置要素パターンとして、当該３つの位置要素パターンにより示される領域を二次元バーコードとして検出しており、３つの画像領域の組み合わせを変えて前記検出を繰り返して、複数の二次元バーコードを検出している。
【００１１】
すなわち、正方形の３つの頂点を結ぶ図形が直角二等辺三角形となることに着目し、位置要素パターンの中心を結んで得られる図形が直角二等辺三角形となり、且つ画像領域の中心間の距離がそれぞれ前記読取画像データにより示される読取画像の短辺に対する割合として定めた閾値以下となる３つの画像領域を、１つの二次元バーコードを構成する位置要素パターンとして二次元バーコードを検出するので、二次元バーコードが読取画像データに複数含まれている場合であっても、複数の二次元バーコードを精度よく検出することができる。
【００１２】
本発明は、請求項２記載の発明のように、前記中心を線で結んで得られる直角二等辺三角形のサイズを予め設定する工程をさらに備えたものとすることができる。
【００１３】
また、請求項３記載の発明のように、前記中心を線で結んで得られる直角二等辺三角形の読取画像データの天地方向に対する角度を予め設定する工程をさらに備えたものとすることができる。
【００１４】
さらに、本発明は、請求項４記載の発明のように、前記読取画像データにおいて二次元バーコードが存在する領域を予め設定する工程をさらに備えたものとしてもよい。
【００１５】
本発明は、請求項５記載の発明のように、前記読取画像データに含まれる二次元バーコードの個数を予め設定する工程をさらに備えたものとしてもよい。
【００１６】
一方、上記課題を解決するために、請求項６記載の発明は、正方形の二次元バーコードの位置及び角度を特定するために当該正方形の３隅に配置される位置要素パターンの明暗パターンを予め記憶した記憶手段と、原稿を読み取って得られた読取画像データに基づいて、前記明暗パターンと一致する全ての画像領域を特定する位置要素パターン特定手段と、記特定手段により特定した前記画像領域のうち、３つの画像領域の中心を線で結んで得られる図形が直角二等辺三角形となり、且つ画像領域の中心間の距離がそれぞれ前記読取画像データにより示される読取画像の短辺に対する割合として定めた閾値以下となる３つの画像領域をそれぞれ二次元バーコードの位置要素パターンとして、当該３つの位置要素パターンにより示される領域を二次元バーコードとして検出する検出手段と、３つの画像領域の組み合わせを変えて前記検出手段を繰り返して、複数の二次元バーコードを検出する繰返手段と、を備えている。
【００１７】
請求項６記載の発明によれば、請求項１記載の発明と同様に作用するので、請求項１記載の発明と同様、画像データに含まれる複数の二次元バーコードを精度よく検出できる。
【発明の効果】
【００１８】
以上説明した如く本発明は、正方形の二次元バーコードの位置及び角度を特定するために当該正方形の３隅に配置される位置要素パターンの明暗パターンを予め記憶手段に記憶しておき、原稿を読み取って得られた読取画像データに基づいて、前記明暗パターンと一致する全ての画像領域を特定し、特定した全ての画像領域のうち、中心を線で結んで得られる図形が直角二等辺三角形となる３つの画像領域をそれぞれ二次元バーコードの位置要素パターンとして、当該３つの位置要素パターンにより示される領域を二次元バーコードとして検出するので、画像データに含まれる複数の二次元バーコードを精度よく検出できる、という優れた効果を有する。
【発明を実施するための最良の形態】
【００１９】
（第１の実施の形態）
以下、図面を参照して、本発明の実施の形態について詳細に説明する。まず、図１は、本実施の形態に係る複合機１０の外観図である。
【００２０】
同図に示されるように、複合機１０は、原稿読取部１２、画像形成部１４、用紙収容部１６、トレイ１８及び操作部２０を備えている。
【００２１】
原稿読取部１２は、原稿トレイ２２と、自動原稿送り装置２４と、原稿排出トレイ２６と、を含んで構成されている。自動原稿送り装置２４は、原稿トレイ２２にセットされた原稿を一枚ずつ分離して繰り出して読取位置に搬送し、その後当該原稿を原稿排出トレイ２６に排出させる。
【００２２】
上記読取位置には、光源やＣＣＤ等を含んで構成された読取機構が備えられており、当該読取機構では、読取位置に搬送されてきた原稿からの反射光を適宜レンズ等により結像させてＣＣＤにより読み取る。
【００２３】
複合機１０は、原稿読取部１２による原稿画像を示す画像データの取得、不図示の通信部による外部装置との通信によるデータの送受信、画像形成部１４による画像データに基づく画像の形成等を実行することができ、スキャン、コピー、プリント、ファクシミリ送受信等の種々の処理を複合的に実行可能とされており、操作部２０を介して入力された指示や、通信により外部装置から入力された指示に基づいて動作する。
【００２４】
なお、画像形成部１４による画像形成時には、用紙収容部１６に収容された用紙を１枚ずつ画像形成部１４に搬送し、原稿読取部１２により読み取った原稿画像の画像データや外部との通信等により入力された画像データ等に基づいて用紙に画像を形成し、当該画像が形成された用紙をトレイ１８に排出する。
【００２５】
図２は、複合機１０の電気的な構成の概略を示すブロック図である。同図に示されるように、複合機１０は、装置全体の動作を制御するＣＰＵ３０を含んで構成されており、当該ＣＰＵ３０には、上記操作部２０、上記読取機構を制御してデジタル画像データを取得する読取制御部３２、外部との通信を制御する通信制御部３４、画像形成部１４を制御する画像形成制御部３６及びメモリ３８が接続されている。
【００２６】
ＣＰＵ３０では、操作部２０を介して入力される指示に基づいて、読取制御部３２、通信制御部３４及び画像形成制御部３６を制御する。
【００２７】
ところで、本実施の形態では、読取制御部３２により読取機構を介して得られたデジタル画像データに二次元バーコードを示す画像が含まれる場合、当該二次元バーコードを検出して復号するようにしている。
【００２８】
図３は、二次元バーコードの一例として、ＱＲコードの構成を示す説明図である。同図（Ａ）に示されるように、ＱＲコード５０は、正方形の領域に形成され、当該領域の４隅の内の３隅に位置要素パターン５２が配置されるようになっている。なお、同図において、ＱＲコード５０の位置要素パターン５２以外の白塗りつぶしで示す領域は、複数のセルに分割され、各セルは、符号化された情報に基づくパターンが配置される領域であり、実際には、例えば黒又は白に塗りつぶされた位置要素パターン５２よりも小さな複数のセルが適宜配列される。
【００２９】
同図に示されるように、１つのＱＲコード５０を構成する３つの位置要素パターン５２Ａ，５２Ｂ，５２Ｃは、ＱＲコードの天地を識別するために用いられており、位置要素パターン５２が配置されていない角が右下にくるようにして復号される。
【００３０】
同図（Ｂ）に示されるように、位置要素パターン５２は、二重の正方形で、中心を通る直線（例えば、同図に一点鎖線で示す線）の明暗のパターンが、１：１：３：１：１の比率で暗−明−暗−明−暗となる。なお、当該比率は、予めメモリ３８の所定の領域に記憶されており、実際に検出する際には、±０．５のマージンを許容している。
【００３１】
ＣＰＵ３８では、画像データに基づいて、画像内に位置要素パターン５２の明暗パターンを通るピクセル線を検出した場合、当該位置要素パターン５２の外縁に接する最初の点Ｑ及び最後の点Ｒの位置を記憶する。また、内側の暗の正方形を横切る全ての線が認識されるまで当該ピクセル線に隣接するピクセル線について点Ｑ及び点Ｒを順次記憶していき、当該位置要素パターン５２の中心位置を導出する。また、導出した位置要素パターン５２の中心位置の画像内における座標を中心座標としてメモリ３８に記憶する。
【００３２】
このような手順で、画像内の全てのピクセル線について位置要素パターン５２の検出及び中心座標の記憶を行い、記憶した中心座標を用いてＱＲコード５０の個数や位置を特定する。なお、中心座標は、１個のＱＲコード５０につき３個あるので、画像内に含まれるＱＲコード５０の数をＮ個とした場合、３Ｎ個の中心座標が検出されることになる。
【００３３】
また、ＱＲコード５０の位置が特定されると、ＱＲコード５０を示す画像に基づいてＱＲコード５０が復号される。
【００３４】
以下、本実施の形態の作用を説明する。
【００３５】
図５には、ＣＰＵ３０により実行されるＱＲコード検出処理プログラムの処理の流れを示すフローチャートであり、以下、同図を参照して本実施の形態に係るＱＲコード検出処理について説明する。
【００３６】
まず、ステップ２００では、位置要素パターン中心座標リストを作成し、次のステップ２０２では、Ｘに位置要素パターン中心座標リストのナンバー１の中心座標をセットし、次のステップ２０４では、Ｙに位置要素パターン中心座標リストのナンバー１の中心座標をセットし、その後にステップ２０６に移行してＺに位置要素パターン中心座標リストのナンバー１の中心座標をセットする。
【００３７】
図４に示されるように、読取画像領域Ｅ中に４つのＱＲコード５０が含まれている場合、少なくとも１２個の位置要素パターンの中心座標がリストアップされる。ＱＲコード５０を復号するためには、これらの中心座標に基づいて各ＱＲコード５０の位置及び領域を特定する必要がある。
【００３８】
その後、ステップ２０８に移行して、Ｘ，Ｙ，Ｚが同一のＱＲコードの位置要素パターン５２であるか否かを判定し、当該判定が肯定判定となった場合はステップ２１０に移行して、このＸ，Ｙ，Ｚの座標の組合せをメモリ３８の所定領域に格納し、その後にステップ２１２に移行する。
【００３９】
一方、ステップ２０８で否定判定となった場合は、この時点ではステップ２１０の処理を実行することなくステップ２１２に移行する。
【００４０】
ここで、１つのＱＲコード５０を構成する３つの位置要素パターン５２Ａ，５２Ｂ，５２Ｃを線で結ぶと、角ＢＡＣが直角な直角二等辺三角形となる（図３（Ａ）の点線及び図４のＴ１参照）。一方、異なるＱＲコード５０の位置要素パターン５２を含む３つの位置要素パターン５２を線で結ぶと、図４にＴ２やＴ３で示すように、直角二等辺三角形とはならない場合が多い。
【００４１】
そこで、本実施の形態では、３つの位置要素パターンを線で結んでできる三角形が直角二等辺三角形となる組合せを同一のＱＲコードを構成する位置要素パターン５２とみなすようにしている。
【００４２】
図６には、上記ステップ２０８で実行される直角二等辺三角形判定処理の流れが示されている。以下、同図を参照して本実施の形態に係る直角二等辺三角形判定処理について説明する。
【００４３】
まず、ステップ２２０では、位置要素パターン５２Ａ，５２Ｂ，５２Ｃを線で結んで得られる三角形ＡＢＣの頂点座標として、上記Ｘ，Ｙ，Ｚにセットされた中心座標をそれぞれ代入し、次のステップ２２２では、直線ＡＢ，直線ＡＣのなす角θを導出し、その後にステップ２２４に移行する。
【００４４】
ステップ２２４では、なす角θが略９０度となっているか否かを判定し、当該判定が肯定判定となった場合は、角ＢＡＣが直角な直角二等辺三角形である可能性があるものと判断してステップ２２６に移行する。
【００４５】
なお、なす角θが略９０度としたのは、読取精度に起因する中心座標の位置ずれが想定されるためであり、許容範囲は適宜設定し得る。
【００４６】
一方、ステップ２２４で否定判定となった場合は角ＢＡＣが直角な三角形ではないため、Ｆａｌｓｅ判定となり、ＱＲコード検出処理のステップ２０８（図５参照）が否定判定となる。
【００４７】
ステップ２２６では、距離ＡＢを導出し、次のステップ２２８では、距離ＢＣを導出し、その後にステップ２３０に移行して距離ＡＢ＝ＢＣか否かを判定する。当該判定が肯定判定となった場合はこの三角形ＡＢＣは、角ＢＡＣが直角な直角二等辺三角形であるので、Ｔｒｕｅ判定となり、ＱＲコード検出処理のステップ２０８（図５参照）が肯定判定となる。
【００４８】
図５のステップ２１２では、この時点でＺとしてセットされている中心座標の次にリストアップされている中心座標をＺとしてセットしなおして、再びステップ２０６に戻る。このステップ２０６乃至ステップ２１２の処理は、１２個の中心座標がリストアップされている場合は１２回繰り返される。
【００４９】
その後、リストアップされている全ての中心座標がＺとしてセットされてステップ２０６乃至ステップ２１２の処理が終了すると、ステップ２１４に移行して、Ｙの中心座標が次にリストアップされている値に変更され、再びステップ２０４に戻り、全ての中心座標が順次Ｚとしてセットされてステップ２０６乃至ステップ２１２の処理が繰り返される。
【００５０】
このようにしてリストアップされている全ての中心座標がＹとしてセットされてステップ２０４乃至ステップ２１４の処理が終了すると、ステップ２１６に移行して、Ｘの中心座標が次にリストアップされている値に変更され、再びステップ２０２に戻り、全ての中心座標が順次Ｙとしてセットされてステップ２０４乃至ステップ２１４の処理が繰り返される。
【００５１】
これにより、リストアップされている全ての中心座標の組合せについて総当りでＱＲコードの位置要素パターンと仮定され、同一のＱＲコードを構成するか否かが判定されると、本ＱＲコード検出処理が終了する。
【００５２】
これにより、メモリ３８に格納されたＸ，Ｙ，Ｚの組合せに基づいて、適宜ＱＲコードを示す画像領域が特定され、当該画像領域の画像に基づいて復号処理が行われることになる。
【００５３】
以上詳細に説明したように、本実施の形態によれば、正方形の二次元バーコードの位置及び角度を特定するために当該正方形の３隅に配置される位置要素パターンの明暗パターンを予め記憶手段に記憶しておき、原稿を読み取って得られた読取画像データに基づいて、前記明暗パターンと一致する全ての画像領域を特定し、特定した全ての画像領域のうち、中心を線で結んで得られる図形が直角二等辺三角形となる３つの画像領域をそれぞれ二次元バーコードの位置要素パターンとして、当該３つの位置要素パターンにより示される領域を二次元バーコードとして検出するので、画像データに含まれる複数の二次元バーコードを精度よく検出できる。
【００５４】
（第２の実施の形態）
上記第１の実施の形態では、位置要素パターンの中心座標を線で結んでできる図形が直角二等辺三角形となる全ての組合せをＱＲコードの位置要素パターンの組合せとして検出する形態について説明したが、本第２の実施の形態では、予め入力された大きさの条件を満たすＱＲコードの位置要素パターンの組合せを検出する形態について説明する。
【００５５】
本第２の実施の形態では、検出するＱＲコードの大きさの条件として、読取画像領域の短辺の長さｅに対するＱＲコード領域の一辺の長さの割合がＮ％以下のＱＲコードであることを予め入力可能であり、当該条件に基づいてＱＲコードの検出処理を実行するようになっている。
【００５６】
そこで、本第２の実施の形態では、上記第１の実施の形態における直角二等辺三角形判定処理（図６参照）に代えて、ＱＲコードの大きさの条件を考慮した直角二等辺三角形判定処理が実行される。
【００５７】
図７には、ＱＲコードの大きさの条件を考慮した直角二等辺三角形判定処理の流れが示されている。以下、同図を参照して本第２の実施の形態に係る直角二等辺三角形判定処理について説明する。
【００５８】
まず、ステップ２４０では、位置要素パターン５２Ａ，５２Ｂ，５２Ｃを線で結んで得られる三角形ＡＢＣの頂点座標に上記Ｘ，Ｙ，Ｚにセットされた中心座標をそれぞれ代入し、次のステップ２４２では、直線ＡＢ，直線ＡＣのなす角θを導出し、その後にステップ２４４に移行する。
【００５９】
ステップ２４４では、なす角θが略９０度となっているか否かを判定し、当該判定が肯定判定となった場合は、角ＢＡＣが直角な直角二等辺三角形である可能性があるものと判断してステップ２４６に移行する。
【００６０】
なお、なす角θが略９０度としたのは、読取精度に起因する中心座標の位置ずれが想定されるためであり、許容範囲は適宜設定し得る。
【００６１】
一方、ステップ２４４で否定判定となった場合は角ＢＡＣが直角な三角形ではないため、Ｆａｌｓｅ判定となり、ＱＲコード検出処理のステップ２０８（図５参照）が否定判定となる。
【００６２】
ステップ２４６では、距離ＡＢを導出し、次のステップ２４８では、導出した距離ＡＢが閾値ｍ（ｅのＮ％）よりも小さいか否かを判定し、当該判定が肯定判定となった場合は、ステップ２５０に移行して、距離ＢＣを導出し、その後にステップ２５２に移行する。
【００６３】
ステップ２５２では、導出した距離ＢＣが閾値ｍ（ｅのＮ％）よりも小さいか否かを判定し、当該判定が肯定判定となった場合は、ステップ２５４に移行して、距離ＡＢ＝ＢＣか否かを判定する。当該判定が肯定判定となった場合はこの三角形ＡＢＣは、角ＢＡＣが直角で、かつ、二等辺が閾値ｍ以下の直角二等辺三角形であるので、Ｔｒｕｅ判定となり、ＱＲコード検出処理のステップ２０８（図５参照）が肯定判定となる。
【００６４】
一方、ステップ２４８、ステップ２５２、ステップ２５４の何れかで否定判定となった場合は、この三角形ＡＢＣは、角ＢＡＣが直角で、かつ、二等辺が閾値ｍ以下の直角二等辺三角形ではないので、Ｆａｌｓｅ判定となり、ＱＲコード検出処理のステップ２０８（図５参照）が否定判定となる。
【００６５】
以上詳細に説明したように、本第２の実施の形態によれば、正方形の二次元バーコードの位置及び角度を特定するために当該正方形の３隅に配置される位置要素パターンの明暗パターンを予め記憶手段に記憶しておき、原稿を読み取って得られた読取画像データに基づいて、前記明暗パターンと一致する全ての画像領域を特定し、特定した全ての画像領域のうち、中心を線で結んで得られる図形が直角二等辺三角形となる３つの画像領域をそれぞれ二次元バーコードの位置要素パターンとして、当該３つの位置要素パターンにより示される領域を二次元バーコードとして検出するので、画像データに含まれる複数の二次元バーコードを精度よく検出できる。
【００６６】
また、本第２の実施の形態によれば、前記中心を線で結んで得られる直角二等辺三角形のサイズを予め設定するようにし、当該サイズの条件を満たす直角二等辺三角形となる３つの画像領域をそれぞれ二次元バーコードの位置要素パターンとするので、画像データに含まれる複数の二次元バーコードをより高精度に検出できる。
（第３の実施の形態）
上記第２の実施の形態では、予め入力された大きさの条件を満たすＱＲコードの位置要素パターンの組合せを検出する形態について説明したが、本第３の実施の形態では、ＱＲコードの大きさに代えて、読取画像領域に対する回転角度が所定の条件を満たすＱＲコードの位置要素パターンの組合せを検出する形態について説明する。
【００６７】
ここで、図８（Ａ）〜（Ｄ）に示されるように、原稿が読み取り方向Ｒに対してどのような向きにセットされるかによって、得られる読取画像も異なる。同図（Ａ）は、原稿画像の天地と読取画像の天地が一致する場合であり、この場合、読取画像に含まれるＱＲコード５０は回転していない状態で読み取られていることになる。
【００６８】
また、図８（Ｂ）では、原稿が読取方向Ｒに対して９０度回転して読み取られており、読取画像に含まれるＱＲコード５０も９０度回転して読み取られていることになる。
【００６９】
同様に、図８（Ｃ）では、原稿が読取方向Ｒに対して１８０度回転して読み取られており、読取画像に含まれるＱＲコード５０も１８０度回転して読み取られていることになる。また、図８（Ｄ）では、原稿が読取方向Ｒに対して−９０度回転して読み取られており、読取画像に含まれるＱＲコード５０も−９０度回転して読み取られていることになる。
【００７０】
このように、通常、複合機１０では、ＱＲコード５０は、９０度単位で回転して読み取られる可能性はあるものの、それ以外の例えば３０度や１００度などといった回転角度で読み取られることは考えにくい。
【００７１】
そこで、本第３の実施の形態では、読取画像領域Ｅに対する回転角度が上記（Ａ）〜（Ｄの何れかである位置要素パターン５２Ａ，５２Ｂ，５２Ｃの組合せを検出するようにしている。
【００７２】
図９には、ＱＲコードの回転角度の条件を考慮した直角二等辺三角形判定処理の流れが示されている。以下、同図を参照して本第３の実施の形態に係る直角二等辺三角形判定処理について説明する。
【００７３】
まず、ステップ２６０では、位置要素パターン５２Ａ，５２Ｂ，５２Ｃを線で結んで得られる三角形ＡＢＣの頂点座標に上記Ｘ，Ｙ，Ｚにセットされた中心座標をそれぞれ代入し、次のステップ２６２では、三角形ＡＢＣの回転角度λを導出する。
【００７４】
ここで、回転角度λは、図８（Ａ）に示す場合の頂点Ａと頂点Ｂとを結ぶベクトルＡＢを基準ベクトルとすると、当該基準ベクトルと実際にセットされた頂点座標を用いて導出したベクトルＡＢとのなす角に相当する。
【００７５】
次のステップ２６４では、ＱＲコード５０の取りうる回転角度と実際の回転角度λとの角度差Ｐを導出し、その後にステップ２６６に移行する。本実施の形態では、ＱＲコード５０の取りうる回転角度は９０度単位であると設定しているので、回転角度λを９０度で除算したときの余りを角度差Ｐとしている。例えば、回転角度λが１２０度である場合、角度差Ｐは３０度となる。
【００７６】
ステップ２６６では、角度差Ｐが所定値α（本実施の形態では３度）よりも小さいか否かを判定し、当該判定が肯定判定となった場合は、ステップ２６８に移行する。なお、所定値αは、原稿の読取方向に対するズレを考慮して、自動原稿送り装置２４等の精度や、一般にユーザが読取位置に原稿をセットする場合に発生するズレ等に応じて設定可能な値であり、実機を用いた実験や実機の仕様に基づくコンピュータシミュレーション等により得られた値を適用することができる。
【００７７】
一方、ステップ２６６で否定判定となった場合は、三角形ＡＢＣの頂点の座標としてセットされた座標が、同一のＱＲコード５０の位置要素パターン５２Ａ，５２Ｂ，５２Ｃではないものと判断してＦａｌｓｅ判定となり、ＱＲコード検出処理のステップ２０８（図５参照）が否定判定となる。
【００７８】
すなわち、まず、回転角度が条件を満たすか否かを判定して、詳細に三角形か否かを判定する処理を実行する頂点Ａ，Ｂ，Ｃの組合せを少なくしているので、処理時間を短縮して効率よくＱＲコードの検出が実行できる。
【００７９】
ステップ２６８では、直線ＡＢ，直線ＡＣのなす角θを導出し、その後にステップ２７０に移行する。
【００８０】
ステップ２７０では、なす角θが略９０度となっているか否かを判定し、当該判定が肯定判定となった場合は、角ＢＡＣが直角な直角二等辺三角形である可能性があるものと判断してステップ２７２に移行する。
【００８１】
なお、なす角θが略９０度としたのは、読取精度に起因する中心座標の位置ずれが想定されるためであり、許容範囲は適宜設定し得る。
【００８２】
一方、ステップ２７０で否定判定となった場合は角ＢＡＣが直角な三角形ではないため、Ｆａｌｓｅ判定となり、ＱＲコード検出処理のステップ２０８（図５参照）が否定判定となる。
【００８３】
ステップ２７２では、距離ＡＢを導出し、次のステップ２７４では、距離ＢＣを導出し、その後にステップ２７６に移行する。
【００８４】
ステップ２７６では、距離ＡＢ＝ＢＣか否かを判定する。当該判定が肯定判定となった場合はこの三角形ＡＢＣは、角ＢＡＣが直角な直角二等辺三角形であるので、Ｔｒｕｅ判定となり、ＱＲコード検出処理のステップ２０８（図５参照）が肯定判定となる。
【００８５】
一方、ステップ２７６で否定判定となった場合は、この三角形ＡＢＣは、角ＢＡＣが直角であるものの、直角二等辺三角形ではないので、Ｆａｌｓｅ判定となり、ＱＲコード検出処理のステップ２０８（図５参照）が否定判定となる。
【００８６】
以上詳細に説明したように、本第３の実施の形態によれば、正方形の二次元バーコードの位置及び角度を特定するために当該正方形の３隅に配置される位置要素パターンの明暗パターンを予め記憶手段に記憶しておき、原稿を読み取って得られた読取画像データに基づいて、前記明暗パターンと一致する全ての画像領域を特定し、特定した全ての画像領域のうち、中心を線で結んで得られる図形が直角二等辺三角形となる３つの画像領域をそれぞれ二次元バーコードの位置要素パターンとして、当該３つの位置要素パターンにより示される領域を二次元バーコードとして検出するので、画像データに含まれる複数の二次元バーコードを精度よく検出できる。
【００８７】
また、本第３の実施の形態によれば、前記中心を線で結んで得られる直角二等辺三角形の読取画像データの天地方向に対する角度を予め設定し、当該角度の条件を満たす直角二等辺三角形となる３つの画像領域をそれぞれ二次元バーコードの位置要素パターンとするので、画像データに含まれる複数の二次元バーコードをより高精度に検出できる。
【００８８】
なお、上記各実施の形態に係る複合機１０の構成（図１及び図２参照）は一例であり、本発明の趣旨を逸脱しない範囲で適宜変更可能なことはいうまでもない。
【００８９】
また、本実施の形態に係る処理の流れ（図５〜７及び図９参照）も一例であり、本発明の趣旨を逸脱しない範囲で適宜変更可能である。
【００９０】
例えば、本発明は、前記読取画像データにおいて二次元バーコードが存在する領域を予め設定するようにしてもよい。この場合、設定された領域の読取画像データのみを処理対象とすればよいので、処理時間の短縮を図ることができる。
【００９１】
また、前記読取画像データに含まれる二次元バーコードの個数を予め設定するようにしてもよい。この場合、予め設定された二次元バーコードの個数だけ直角二等辺三角形を検出した時点で処理を終了することも可能となり、処理時間の短縮を図ることができる。
【００９２】
さらに、ＱＲコードのサイズ、回転角度、存在領域、個数の条件を適宜組み合わせて設定可能に構成することで、より高精度かつ迅速に二次元バーコードの検出を実行することが可能となる。
【００９３】
なお、ＱＲコードのサイズ、回転角度、存在領域、個数等の条件については、原稿読取時に読み取る原稿に応じた条件をユーザーが操作部２０を介して入力するように構成することができる。また、予め複合機１０のメモリ３８等に記憶して設定しておくこともできる。
【００９４】
なお、本第１〜第３の実施の形態では、本発明を複合機１０に適用した形態について説明したが、本発明は複合機１０に限定されるものではなく、複写機、スキャナ等の一般的な画像読取装置に適用することができることは言うまでもない。
【図面の簡単な説明】
【００９５】
【図１】実施の形態に係る複合機の外観図である。
【図２】実施の形態に係る複合機の電気的な構成の概略を示すブロック図である。
【図３】二次元バーコードの一例として、ＱＲコードの構成を示す説明図である。
【図４】読取画像領域中に４つのＱＲコードが含まれている状態を示す模式図である。
【図５】ＱＲコード検出処理プログラムの処理の流れを示すフローチャートである。
【図６】第１の実施の形態に係る検出処理プログラムで実行される直角二等辺三角形判定処理の流れを示すフローチャートである。
【図７】第２の実施の形態に係る検出処理プログラムで実行されるＱＲコードの大きさの条件を考慮した直角二等辺三角形判定処理の流れを示すフローチャートである。
【図８】原稿の読み取り方向Ｒに応じた読取画像及びＱＲコードの状態を示す説明図である。
【図９】第３の実施の形態に係る検出処理プログラムで実行されるＱＲコードの回転角度の条件を考慮した直角二等辺三角形判定処理の流れを示すフローチャートである。
【符号の説明】
【００９６】
１０   複合機
１２   原稿読取部
１４   画像形成部
１６   用紙収容部
１８   トレイ
２０   操作部
２２   原稿トレイ
２４   自動原稿送り装置
２６   原稿排出トレイ
３０   ＣＰＵ
３２   読取制御部
３４   通信制御部
３６   画像形成制御部
３８   メモリ
５０   ＱＲコード
５２   位置要素パターン
【図１】
0004645384.tif 000002
【図２】
0004645384.tif 000003
【図３】
0004645384.tif 000004
【図４】
0004645384.tif 000005
【図５】
0004645384.tif 000006
【図６】
0004645384.tif 000007
【図７】
0004645384.tif 000008
【図８】
0004645384.tif 000009
【図９】
0004645384.tif 000010