(57)【要約】【課題】  歪みや傾きのある様々な形状の画像からデータを読み取ることが可能な、２次元矩形コードシンボル読み取り装置を提供すること。【解決手段】本発明にかかる２次元矩形コードシンボル読み取り装置は、２次元画像データを入力する入力手段と、２次元画像データからコーナー位置を検出し、シンボル領域を特定し、シンボル画像データを抽出するシンボル領域検出手段と、シンボル画像データに投影変換を行うことにより、前記シンボル画像データの歪みを補正する投影変換計算手段と、補正されたシンボル画像データを読み取り、コードデータへの変換を行うデコード手段と、コードデータを出力する出力手段を備えた２次元矩形コードシンボル読み取り装置である。このような構成により、様々な形状の画像からデータを読み取ることが可能となる。【選択図】図２
2005316755.tif 000002
【特許請求の範囲】
【請求項１】
２次元画像データを入力する入力手段と、
前記入力手段により入力された２次元画像データから、２次元矩形のシンボル領域のコーナー位置を検出し、前記コーナー位置に基づいてシンボル領域を特定し、シンボル画像データを抽出するシンボル領域検出手段と、
前記シンボル領域検出手段により抽出された当該領域内のシンボル画像データに投影変換を行うことにより、前記シンボル画像データの歪みを補正する投影変換計算手段と、
前記投影変換計算手段により補正された前記シンボル画像データを読み取り、コードデータへの変換を行うデコード手段と、
前記デコード手段により変換されたコードデータを出力する出力手段を備えた２次元矩形コードシンボル読み取り装置。
【請求項２】
前記シンボル領域検出手段は、前記２次元画像データの縮小を行い、前記縮小の行われた画像データを参照単位毎に分割し、前記分割された画像データに１点でも所定の輝度値以上のピクセルが存在する範囲を抽出することにより暫定的なシンボル領域を検出し、検出した暫定シンボル領域に基づいてコーナーを検出することを特徴とする請求項１に記載の２次元矩形コードシンボル読み取り装置。
【請求項３】
前記入力手段により入力された２次元画像データは矩形の画像データであり、
前記シンボルは正方形のシンボルであり、
前記シンボル領域検出手段は、前記暫定シンボル領域の外側から当該領域の内側に向かって直線を平行移動させて前記暫定シンボル領域の境界との交点を探索するラインスキャンを複数の方向から行う手段と、前記ラインスキャンにより探索された複数の交点をコーナー候補点とする手段と、前記コーナー候補点のうち、前記２次元画像データのコーナーに最も近い第１の点と、前記複数のコーナー候補点の重心に対して前記第１の点と点対称の位置にある第２の点と、前記第１及び第２の点の垂直２等分線に最も近い点である第３、第４の点をコーナーの４点としてコーナーの４点を決定する手段を備え、これらの手段によりコーナーを検出することを特徴とする請求項２に記載の２次元矩形コードシンボル読み取り装置。
【請求項４】
前記シンボル領域検出手段は、既に検出された、あるいは推定された対角にある２箇所のコーナーと前記２箇所のコーナーとは異なるコーナーに対するコーナー候補点の１つとを結ぶ２本の線分を生成し、前記２本の線分が前記暫定シンボル領域の各辺を触れるまでコーナー候補点を移動させることによってコーナーを検出することを特徴とする請求項２に記載の２次元矩形コードシンボル読み取り装置。
【請求項５】
前記シンボル領域検出手段は、検出されたコーナーを結ぶことにより生成される矩形上の辺と前記暫定シンボル領域の境界との差分値が予め定められた値以上になった場合に、前記差分値が最大となる前記暫定シンボル領域の境界上の点から最も近い矩形上の辺の垂直二等分線により前記暫定シンボル領域を分割し、分割されたそれぞれの領域に対してシンボル画像データを抽出し、
前記投影変換計算手段は、前記シンボル領域検出手段により抽出されたそれぞれのシンボル画像データに対して投影変換を行うことにより、前記シンボル画像データの歪みを補正し、
前記デコード手段は、前記投影変換計算手段により補正されたシンボル画像データを組み合わせて読み取ることを特徴とする請求項２、３または４に記載の２次元矩形コードシンボル読み取り装置。
【請求項６】
前記シンボル領域検出手段は、前記コーナー検出後、コーナーを結ぶ線分の中点から、前記暫定シンボル領域の外側に推定点を仮定し、前記コーナーを結ぶ線分の両端のコーナーと、前記推定点を結ぶ２本の線分を生成し、前記２本の線分が前記暫定シンボル領域の各辺を触れるまで前記推定点を移動させることにより新たなコーナーの検索を行い、新たなコーナーを結ぶ線分により前記暫定シンボル領域を分割し、分割されたそれぞれの領域に対してシンボル画像データを抽出し、
前記投影変換計算手段は、前記シンボル領域検出手段により分割されたそれぞれのシンボル画像データに対して投影変換を行うことにより、前記シンボル画像データの歪みを補正し、
前記デコード手段は、前記投影変換計算手段により補正されたシンボル画像データを組み合わせて読み取ることを特徴とする請求項２、３または４に記載の２次元矩形コードシンボル読み取り装置。
【請求項７】
矩形の２次元画像データを入力する入力手段と、
前記入力手段により入力された２次元画像データから、正方形のシンボル領域のコーナー位置を検出し、前記コーナー位置に基づいてシンボル領域を特定し、シンボル画像データを抽出するシンボル領域検出手段と、
前記シンボル領域検出手段により抽出された前記シンボル画像データを読み取り、コードデータへの変換を行うデコード手段と、
前記デコード手段により変換されたコードデータを出力する出力手段を備えた２次元矩形コードシンボル読み取り装置であって、
前記シンボル領域検出手段は、前記２次元画像データの縮小を行い、前記縮小の行われた画像データを参照単位毎に分割し、前記分割された画像データに１点でも所定の輝度値以上のピクセルが存在する範囲を抽出することにより暫定的なシンボル領域を検出し、検出した暫定シンボル領域の外側から当該領域の内側に向かって直線を平行移動させて前記暫定シンボル領域の境界との交点を探索するラインスキャンを複数の方向から行う手段と、前記ラインスキャンにより探索された複数の交点をコーナー候補点とする手段と、前記コーナー候補点のうち、前記２次元画像データのコーナーに最も近い第１の点と、前記第１の点と前記コーナー候補点の重心に対して点対称の位置にある第２の点と、前記第１及び第２の点の垂直２等分線に最も近い点である第３、第４の点をコーナーの４点としてコーナーの４点を決定する手段を備え、これらの手段によりコーナーを検出することを特徴とする２次元矩形コードシンボル読み取り装置。
【請求項８】
２次元画像データを入力する入力手段と、
前記入力手段により入力された２次元画像データから、２次元矩形のシンボル領域のコーナー位置を検出し、前記コーナー位置に基づいてシンボル領域を特定し、シンボル画像データを抽出するシンボル領域検出手段と、
前記シンボル領域検出手段により抽出された前記シンボル画像データを読み取り、コードデータへの変換を行うデコード手段と、
前記デコード手段により変換されたコードデータを出力する出力手段を備えた２次元矩形コードシンボル読み取り装置であって、
前記シンボル領域検出手段は、前記２次元画像データの縮小を行い、前記縮小の行われた画像データを参照単位毎に分割し、前記分割された画像データに１点でも所定の輝度値以上のピクセルが存在する範囲を抽出することにより暫定的なシンボル領域を検出し、既に検出された、あるいは推定された対角にある２箇所のコーナーと前記２箇所のコーナーとは異なるコーナーに対するコーナー候補点の１つとを結ぶ２本の線分を生成し、前記２本の線分が検出した暫定シンボル領域の各辺を触れるまでコーナー候補点を移動させることによってコーナーを検出することを特徴とする２次元矩形コードシンボル読み取り装置。
【請求項９】
前記２次元矩形コードシンボルは、２値の白黒画像を備えたコードシンボルであり、
前記シンボル領域検出手段は、対象画像内の各ピクセルの輝度値のソートを行い、その中央の値を輝度閾値として前記２次元画像データの２値化を行い、２値化された２次元画像データに基づいて前記２次元矩形シンボル領域のコーナー位置を検出することを特徴とする請求項１乃至８に記載の２次元矩形コードシンボル読み取り装置。
【請求項１０】
前記２次元矩形コードシンボル読み取り装置は携帯電話機であり、前記入力手段は前記携帯電話機に備えられたカメラであることを特徴とする請求項１乃至９に記載の２次元矩形コードシンボル読み取り装置。
【請求項１１】
２次元画像データを入力するステップと、
前記入力するステップにより入力された２次元画像データから、２次元矩形シンボル領域のコーナー位置を検出し、前記コーナー位置に基づいてシンボル領域を特定し、シンボル画像データを抽出するステップと、
前記シンボル画像データを抽出するステップにより抽出された当該領域内のシンボル画像データに投影変換を行うことにより、前記シンボル画像データの歪みを補正するステップと、
前記歪みを補正するステップにより補正された前記２次元矩形シンボル画像データを読み取り、コードデータへの変換を行うステップを備えた２次元矩形コードシンボル読み取り方法。
【請求項１２】
２次元画像データを入力するステップと、
前記入力するステップにより入力された２次元画像データから、２次元矩形シンボル領域のコーナー位置を検出し、前記コーナー位置に基づいてシンボル領域を特定し、シンボル画像データを抽出するステップと、
前記シンボル画像データを抽出するステップにより抽出されたシンボル画像データを読み取り、コードデータへの変換を行うステップを備えた２次元矩形コードシンボル読み取り方法であって、
前記シンボル画像データを抽出するステップは、前記２次元画像データの縮小を行い、前記縮小の行われた画像データを参照単位毎に分割し、前記分割された画像データに１点でも所定の輝度値以上のピクセルが存在する範囲を抽出することにより暫定的なシンボル領域を検出し、検出した暫定シンボル領域の外側から当該領域の内側に向かって直線を平行移動させて前記暫定シンボル領域の境界との交点を探索するラインスキャンを複数の方向から行う手段と、前記ラインスキャンにより探索された複数の交点をコーナー候補点とする手段と、前記コーナー候補点のうち、前記２次元画像データのコーナーに最も近い第１の点と、前記第１の点と前記コーナー候補点の重心に対して点対称の位置にある第２の点と、前記第１及び第２の点の垂直２等分線に最も近い点である第３、第４の点をコーナーの４点としてコーナーの４点を決定する手段を備え、これらの手段によりコーナーを検出することを特徴とする２次元矩形コードシンボル読み取り方法。
【請求項１３】
２次元画像データを入力するステップと、
前記入力するステップにより入力された２次元画像データから、２次元矩形シンボル領域のコーナー位置を検出し、前記コーナー位置に基づいてシンボル領域を特定し、シンボル画像データを抽出するステップと、
前記シンボル画像データを抽出するステップにより抽出されたシンボル画像データを読み取り、コードデータへの変換を行うステップを備えた２次元矩形コードシンボル読み取り方法であって、
前記シンボル画像データを抽出するステップは、前記２次元画像データの縮小を行い、前記縮小の行われた画像データを参照単位毎に分割し、前記分割された画像データに１点でも所定の輝度値以上のピクセルが存在する範囲を抽出することにより暫定的なシンボル領域を検出し、既に検出された、あるいは推定された対角にある２箇所のコーナーと前記２箇所のコーナーとは異なるコーナーに対するコーナー候補点の１つとを結ぶ２本の線分を生成し、前記２本の線分が検出した暫定シンボル領域の各辺を触れるまでコーナー候補点を移動させることによってコーナーの検索を行うことによりコーナーを検出することを特徴とする２次元矩形コードシンボル読み取り方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、２次元矩形コードシンボル読み取り装置及び２次元矩形コードシンボル読み取り方法に関するものであり、より詳細には、歪みのある画像データに対応した２次元矩形コードシンボル読み取り装置及び２次元矩形コードシンボル読み取り方法に関する。
【背景技術】
【０００２】
バーコードは、今現在かなり普及しているものであるが、１次元バーコードでは扱うことのできない、より小型化、大容量のデータが要求されるようになってきた。そこで２次元コードが提案されるようになり、また、全方向で高速な読み取りができる２次元コードが提案された（例えば、特許文献１など）。２次元コードにはＱＲコード（登録商標）を代表として普及が進んでおり、近年は携帯電話機にも２次元コード読み取り機能を備えたものが見られるようになった。
【０００３】
２次元コード読み取り時の問題点としては、画像が斜めになった場合や、歪んでしまった場合に読み取り精度が落ちてしまうことが挙げられる。そこで斜めから画像データを読み取った場合の対処方法として円形のファインダーパターンを楕円補正し読み取りを行う方法（例えば、特許文献２など）や、２次元コードに備えられた方向モジュールを検索キーとして読み取りを行う方法（例えば、特許文献３など）や、レンズの歪み補正及び明るさ補正をして読み取りを行う方法（例えば、特許文献４など）が提案され、読み取り精度を上げる試みがなされてきた。
【特許文献１】特開平７−２５４０３７号公報
【特許文献２】特開２００２−２４７５２号公報
【特許文献３】特開２００２−４９８８９号公報
【特許文献４】特開２００３−１６８０７１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１，２，３，４に挙げられたような方法は、特定の歪みや傾き等には対応できるものの、それ以外の場合には対応ができず、汎用性に欠けるものであった。
【０００５】
本発明は、このような問題点を解決するためになされたものであり、歪みや傾きのある様々な形状の画像からデータを読み取ることが可能な、２次元矩形コードシンボル読み取り装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明における２次元矩形コードシンボル読み取り装置は、２次元画像データを入力する入力手段と、前記入力手段により入力された２次元画像データから、２次元矩形のシンボル領域のコーナー位置を検出し、前記コーナー位置に基づいてシンボル領域を特定し、シンボル画像データを抽出するシンボル領域検出手段と、前記シンボル領域検出手段により抽出された当該領域内のシンボル画像データに投影変換を行うことにより、前記シンボル画像データの歪みを補正する投影変換計算手段と、前記投影変換計算手段により補正された前記シンボル画像データを読み取り、コードデータへの変換を行うデコード手段と、前記デコード手段により変換されたコードデータを出力する出力手段を備えた２次元矩形コードシンボル読み取り装置である。このような構成により、歪みや傾きのある様々な形状の画像からデータを読み取ることが可能となる。
【０００７】
前記シンボル領域検出手段は、前記２次元画像データの縮小を行い、前記縮小の行われた画像データを参照単位毎に分割し、前記分割された画像データに１点でも所定の輝度値以上のピクセルが存在する範囲を抽出することにより暫定的なシンボル領域を検出し、検出した暫定シンボル領域に基づいてコーナーを検出することを特徴としてもよい。こうすることにより領域検出の精度を上げることができる。
【０００８】
前記入力手段により入力された２次元画像データは矩形の画像データであり、前記シンボルは正方形のシンボルであり、前記シンボル領域検出手段は、前記暫定シンボル領域の外側から当該領域の内側に向かって直線を平行移動させて前記暫定シンボル領域の境界との交点を探索するラインスキャンを複数の方向から行う手段と、前記ラインスキャンにより探索された複数の交点をコーナー候補点とする手段と、前記コーナー候補点のうち、前記２次元画像データのコーナーに最も近い第１の点と、前記複数のコーナー候補点の重心に対して前記第１の点と点対称の位置にある第２の点と、前記第１及び第２の点の垂直２等分線に最も近い点である第３、第４の点をコーナーの４点としてコーナーの４点を決定する手段を備え、これらの手段によりコーナーを検出することを特徴としてもよい。こうすることにより領域検出の精度を上げることができる。
【０００９】
前記シンボル領域検出手段は、既に検出された、あるいは推定された対角にある２箇所のコーナーと前記２箇所のコーナーとは異なるコーナーに対するコーナー候補点の１つとを結ぶ２本の線分を生成し、前記２本の線分が前記暫定シンボル領域の各辺を触れるまでコーナー候補点を移動させることによってコーナーを検出することを特徴としてもよい。こうすることにより領域検出の精度を上げることができる。
【００１０】
前記シンボル領域検出手段は、検出されたコーナーを結ぶことにより生成される矩形上の辺と前記暫定シンボル領域の境界との差分値が予め定められた値以上になった場合に、前記差分値が最大となる前記暫定シンボル領域の境界上の点から最も近い矩形上の辺の垂直二等分線により前記暫定シンボル領域を分割し、分割されたそれぞれの領域に対してシンボル画像データを抽出し、前記投影変換計算手段は、前記シンボル領域検出手段により抽出されたそれぞれのシンボル画像データに対して投影変換を行うことにより、前記シンボル画像データの歪みを補正し、前記デコード手段は、前記投影変換計算手段により補正されたシンボル画像データを組み合わせて読み取ることを特徴としてもよい。こうすることにより、曲面に貼られたデータなどの読み取り精度も上げることができる。
【００１１】
前記シンボル領域検出手段は、前記コーナー検出後、コーナーを結ぶ線分の中点から、前記暫定シンボル領域の外側に推定点を仮定し、前記コーナーを結ぶ線分の両端のコーナーと、前記推定点を結ぶ２本の線分を生成し、前記２本の線分が前記暫定シンボル領域の各辺を触れるまで前記推定点を移動させることにより新たなコーナーの検索を行い、新たなコーナーを結ぶ線分により前記暫定シンボル領域を分割し、分割されたそれぞれの領域に対してシンボル画像データを抽出し、前記投影変換計算手段は、前記シンボル領域検出手段により分割されたそれぞれのシンボル画像データに対して投影変換を行うことにより、前記シンボル画像データの歪みを補正し、前記デコード手段は、前記投影変換計算手段により補正されたシンボル画像データを組み合わせて読み取ることを特徴としてもよい。こうすることにより、任意に歪められた画像データの読み取り精度も上げることができる。
【００１２】
本発明における２次元矩形コードシンボル読み取り装置は、矩形の２次元画像データを入力する入力手段と、前記入力手段により入力された２次元画像データから、正方形のシンボル領域のコーナー位置を検出し、前記コーナー位置に基づいてシンボル領域を特定し、シンボル画像データを抽出するシンボル領域検出手段と、前記シンボル領域検出手段により抽出された前記シンボル画像データを読み取り、コードデータへの変換を行うデコード手段と、前記デコード手段により変換されたコードデータを出力する出力手段を備えた２次元矩形コードシンボル読み取り装置であって、前記シンボル領域検出手段は、前記２次元画像データの縮小を行い、前記縮小の行われた画像データを参照単位毎に分割し、前記分割された画像データに１点でも所定の輝度値以上のピクセルが存在する範囲を抽出することにより暫定的なシンボル領域を検出し、検出した暫定シンボル領域の外側から当該領域の内側に向かって直線を平行移動させて前記暫定シンボル領域の境界との交点を探索するラインスキャンを複数の方向から行う手段と、前記ラインスキャンにより探索された複数の交点をコーナー候補点とする手段と、前記コーナー候補点のうち、前記２次元画像データのコーナーに最も近い第１の点と、前記第１の点と前記コーナー候補点の重心に対して点対称の位置にある第２の点と、前記第１及び第２の点の垂直２等分線に最も近い点である第３、第４の点をコーナーの４点としてコーナーの４点を決定する手段を備え、これらの手段によりコーナーを検出することを特徴とする２次元矩形コードシンボル読み取り装置である。このような構成により、歪みや傾きのある様々な形状の画像からデータを読み取ることが可能となる。
【００１３】
本発明における２次元矩形コードシンボル読み取り装置は、２次元画像データを入力する入力手段と、前記入力手段により入力された２次元画像データから、２次元矩形のシンボル領域のコーナー位置を検出し、前記コーナー位置に基づいてシンボル領域を特定し、シンボル画像データを抽出するシンボル領域検出手段と、前記シンボル領域検出手段により抽出された前記シンボル画像データを読み取り、コードデータへの変換を行うデコード手段と、前記デコード手段により変換されたコードデータを出力する出力手段を備えた２次元矩形コードシンボル読み取り装置であって、前記シンボル領域検出手段は、前記２次元画像データの縮小を行い、前記縮小の行われた画像データを参照単位毎に分割し、前記分割された画像データに１点でも所定の輝度値以上のピクセルが存在する範囲を抽出することにより暫定的なシンボル領域を検出し、既に検出された、あるいは推定された対角にある２箇所のコーナーと前記２箇所のコーナーとは異なるコーナーに対するコーナー候補点の１つとを結ぶ２本の線分を生成し、前記２本の線分が検出した暫定シンボル領域の各辺を触れるまでコーナー候補点を移動させることによってコーナーを検出することを特徴とする２次元矩形コードシンボル読み取り装置である。このような構成により、歪みや傾きのある様々な形状の画像からデータを読み取ることが可能となる。
【００１４】
前記２次元矩形コードシンボルは、２値の白黒画像を備えたコードシンボルであり、前記シンボル領域検出手段は、対象画像内の各ピクセルの輝度値のソートを行い、その中央の値を輝度閾値として前記２次元画像データの２値化を行い、２値化された２次元画像データに基づいて前記２次元矩形シンボル領域のコーナー位置を検出することを特徴としてもよい。
【００１５】
前記２次元矩形コードシンボル読み取り装置は携帯電話機であり、前記入力手段は前記携帯電話機に備えられたカメラであることを特徴としてもよい。
【００１６】
本発明における２次元矩形コードシンボル読み取り方法は、２次元画像データを入力するステップと、前記入力するステップにより入力された２次元画像データから、２次元矩形シンボル領域のコーナー位置を検出し、前記コーナー位置に基づいてシンボル領域を特定し、シンボル画像データを抽出するステップと、前記シンボル画像データを抽出するステップにより抽出された当該領域内のシンボル画像データに投影変換を行うことにより、前記シンボル画像データの歪みを補正するステップと、前記歪みを補正するステップにより補正された前記２次元矩形シンボル画像データを読み取り、コードデータへの変換を行うステップを備えた２次元矩形コードシンボル読み取り方法である。このような構成により、歪みや傾きのある様々な形状の画像からデータを読み取ることが可能となる。
【００１７】
本発明における２次元矩形コードシンボル読み取り方法は、２次元画像データを入力するステップと、前記入力するステップにより入力された２次元画像データから、２次元矩形シンボル領域のコーナー位置を検出し、前記コーナー位置に基づいてシンボル領域を特定し、シンボル画像データを抽出するステップと、前記シンボル画像データを抽出するステップにより抽出されたシンボル画像データを読み取り、コードデータへの変換を行うステップを備えた２次元矩形コードシンボル読み取り方法であって、前記シンボル画像データを抽出するステップは、前記２次元画像データの縮小を行い、前記縮小の行われた画像データを参照単位毎に分割し、前記分割された画像データに１点でも所定の輝度値以上のピクセルが存在する範囲を抽出することにより暫定的なシンボル領域を検出し、検出した暫定シンボル領域の外側から当該領域の内側に向かって直線を平行移動させて前記暫定シンボル領域の境界との交点を探索するラインスキャンを複数の方向から行う手段と、前記ラインスキャンにより探索された複数の交点をコーナー候補点とする手段と、前記コーナー候補点のうち、前記２次元画像データのコーナーに最も近い第１の点と、前記第１の点と前記コーナー候補点の重心に対して点対称の位置にある第２の点と、前記第１及び第２の点の垂直２等分線に最も近い点である第３、第４の点をコーナーの４点としてコーナーの４点を決定する手段を備え、これらの手段によりコーナーを検出することを特徴とする２次元矩形コードシンボル読み取り方法である。このような構成により、歪みや傾きのある様々な形状の画像からデータを読み取ることが可能となる。
【００１８】
本発明における２次元矩形コードシンボル読み取り方法は、２次元画像データを入力するステップと、前記入力するステップにより入力された２次元画像データから、２次元矩形シンボル領域のコーナー位置を検出し、前記コーナー位置に基づいてシンボル領域を特定し、シンボル画像データを抽出するステップと、前記シンボル画像データを抽出するステップにより抽出されたシンボル画像データを読み取り、コードデータへの変換を行うステップを備えた２次元矩形コードシンボル読み取り方法であって、前記シンボル画像データを抽出するステップは、前記２次元画像データの縮小を行い、前記縮小の行われた画像データを参照単位毎に分割し、前記分割された画像データに１点でも所定の輝度値以上のピクセルが存在する範囲を抽出することにより暫定的なシンボル領域を検出し、既に検出された、あるいは推定された対角にある２箇所のコーナーと前記２箇所のコーナーとは異なるコーナーに対するコーナー候補点の１つとを結ぶ２本の線分を生成し、前記２本の線分が検出した暫定シンボル領域の各辺を触れるまでコーナー候補点を移動させることによってコーナーの検索を行うことによりコーナーを検出することを特徴とする２次元矩形コードシンボル読み取り方法である。このような構成により、歪みや傾きのある様々な形状の画像からデータを読み取ることが可能となる。
【発明の効果】
【００１９】
本発明によれば、歪みや傾きのある様々な形状の画像からデータを読み取ることが可能な、２次元矩形コードシンボル読み取り装置を提供することが可能となる。
【発明を実施するための最良の形態】
【００２０】
発明の実施の形態１．
図１は、本発明の実施の形態１にかかる２次元矩形コードシンボル読み取り装置１の構成を示すブロック図である。２次元矩形コードシンボル読み取り装置１は、シンボル領域検出部１０と、投影変換計算部１１と、デコード部１２と、入力部１３と、出力部１４を備えており、例えばカメラ付き携帯電話機等である。
【００２１】
シンボル領域検出部１０は、入力された画像データから２次元矩形シンボル領域のコーナー位置を検出し、検出したコーナー位置に基づいて２次元矩形シンボル領域を抽出する機能を備えており、ソフトウェアにより実現される。抽出した２次元シンボル領域内の画像データは、投影変換計算部１１へ出力される。投影変換計算部１１は、シンボル領域検出部１０により抽出された２次元シンボル領域内の画像データに補正をかけて歪みや傾きのある画像データを、データ読み取りが可能な正常な形に補正する機能を備えている。補正のかけられた画像データは、デコード部１２へ出力される。デコード部１２は、投影変換計算部１１により補正された画像データの読み取りを行い、コードデータに変換する機能を備えている。読み取り部とデコード部は必ずしも一体であるとは限らず、分かれていてもよい。変換されたコードデータは出力部１４へ出力される。
【００２２】
入力部１３は、画像データの入力を行う機能を備えている。入力方法としては、手軽に入力できることを考えると、２次元矩形コードシンボル読み取り装置１が携帯電話機である場合は、ＣＣＤ（Charge Coupled Device）カメラやＣＭＯＳ（Completely Metal-Oxide Semiconductor）カメラ等の画像を撮影することのできるカメラであることが好ましい。出力部１４は、変換されたコードデータを出力する機能を備えている。出力方法は、通信機能を使って他の通信端末に送ってもよいし、コードデータが画像データの場合は、ディスプレイに画像データを出力してもよい。
【００２３】
続いて、図２に示すフローチャートを用いて、２次元矩形コードシンボル読み取り時の処理の流れについて説明する。
【００２４】
まず、入力部１３が、２次元矩形コードシンボルデータの含まれる画像データを入力する（Ｓ１０１）。入力方法として、例えば、携帯電話機に内蔵されるカメラを利用して２次元矩形コードシンボルを撮影する方法が考えられるが、通信手段を用いて画像ファイルデータを受信するなどの方法でもよい。入力部１３は入力した画像データをシンボル領域検出部１０へ出力する。
【００２５】
シンボル領域検出部１０は、画像データを入力すると、画像データに含まれる２次元矩形コードシンボルデータのコーナー位置を特定する（Ｓ１０２）。コーナー位置の特定方法は後に説明する。
【００２６】
コーナー位置が特定されると、シンボル領域検出部１０は、そのコーナー位置に基づいて、２次元矩形コードシンボルデータの含まれる領域を特定する（Ｓ１０３）。特定した領域内の画像データは、シンボル領域検出部１０から投影変換計算部１１へ出力される。
【００２７】
投影変換計算部１１は、シンボル領域検出部１０から領域内の画像データを入力すると、その領域内の画像データに対して投影変換をかけて画像データの補正を行う（Ｓ１０４）。このように補正を行うことにより、斜めに傾いた画像や、歪みのある画像や、曲面に貼り付けられた画像も読み取り可能な正常な２次元矩形コードシンボルデータとして読み取ることが可能となる。補正が行われた画像データは、投影変換計算部１１からデコード部１２へ出力される。
【００２８】
デコード部１２は、投影変換計算部１１から補正された画像データを受け取ると、２次元矩形コードシンボルデータの読み取りを行い、コードデータへの変換を行う（Ｓ１０５）。ここでの読み取り方法は、それぞれの２次元矩形コードシンボルデータの仕様に従うが、傾きや歪みのないデータに補正されているため、データの中に傾きや歪みの補正に対応するためのデータが含まれていても、そのデータに対応して補正する処理を行う必要がないため、その分、処理の高速化をすることが可能となる。変換されたコードデータは出力部１０４により出力される（Ｓ１０６）。
【００２９】
続いて、図３に示すフローチャートを用いて、画像データに含まれる２次元矩形コードシンボルデータのコーナー位置を特定する方法について説明する。
【００３０】
まず、２次元矩形コードシンボルデータは白と黒の２値である場合、画像データの白部分及び黒部分の境界となる閾値の計算を行う（Ｓ２０１）。閾値の計算は、次のような手順で行う。まず、画像データの全てのピクセルの輝度値を抽出し、ソーティングを行う。ソートされた輝度値のうち中央の値を、画像データにおける白部分と黒部分の境界となる輝度値である閾値と決定する。
【００３１】
次に、画像データサイズの縮小及びコード領域の絞込みを行う（Ｓ２０２）。画像データサイズの縮小は、各辺を同じ割合にして行う。その際に、特定の範囲、例えば２×２ピクセルごとに輝度値を参照し、先ほど求めた閾値により黒か白かを判定する。そして、判定の結果、範囲内のピクセルのうち、１点でも黒が存在すれば黒として判断するフィルタ処理を行う。このようにして行った縮小処理及びフィルタ処理により、画像データ内のコード領域とコード周辺の空白領域を大まかに区別することができ、コード領域の絞込みが可能となる。この領域を暫定シンボル領域とする。コーナー推定によるコード領域の絞込みの例を図４に示す。
【００３２】
その後、暫定シンボル領域内でコーナー位置を推定する（Ｓ２０３）。コーナー位置の推定方法は次の手順で行う。まず、暫定シンボル領域内の中心座標を（xc,yc）とする。次に、その中心座標を基準として画像データの上から中心方向へ向かって画像データのスキャンを行い、暫定シンボル領域、つまりフィルタ処理された画像の黒部分の検出を行う。もし、図５に示すように、スキャンライン上に２点以上の接点が存在した場合には、そのスキャンラインとの接点位置をコーナーとして認識し、検出された複数接点の重心点をシンボル領域境界点として認識し、この座標値をメモリに格納する。
【００３３】
上方向のラインスキャンが終わったら、別の方向、例えば斜め４５度の方向からラインスキャンを行い、境界点の座標をメモリに格納する。このようにして、複数の方向、例えば上下左右斜めの８方向からスキャンを行う。
【００３４】
全ての方向からのラインスキャンが終わると、コーナー候補点が一定数以内に確定される。例えば８方向からラインスキャンを行うと、コーナー候補点は最大でも１６個に絞ることができる。これらの候補点の中から矩形コーナーである４点を決定する。矩形コーナー４点の決定方法は、次の手順で行う。
【００３５】
まず、画像のコーナー点、例えば左上原点位置座標（０，０）から最も近い位置にある点を１つのコーナー推定点とする。次にコーナー推定点と中心座標について点対称の位置にある点に最も近い位置にある点を先ほどのコーナー推定点の対称の位置にあるコーナー推定点とする。そして２つのコーナー推定点の垂直二等分線から残りの２つのコーナー推定点を決定する。
【００３６】
このようにして決定された４つのコーナー推定点から、コーナー位置を特定する。この際、２次元シンボルコードの規格により、コーナー上にシンボルマークが存在するなどで、コーナー位置特定方法が規格として規定されている場合は（Ｓ２０４）、その規格で規定されているコーナー位置特定方法に従いコーナー位置を決定する（Ｓ２０５）。例えば、ＱＲコードの場合、画像スキャンを行い、黒：白：黒：白：黒が１：１：３：１：１の特徴を持つシンボルを検出することにより、コーナー上にあるシンボルマークを検出することができ、そのシンボルマークからコーナー位置を決定することができる。ＱＲコードの場合の例を図６に示す。
【００３７】
シンボルマークがコーナーではなく中央部にある場合や、シンボルマークがもともと存在しない場合などで、コーナー位置特定方法が規格に存在しない場合は、次の手順でコーナーを決定する（Ｓ２０６）。まず、コーナー位置を特定したいコーナー推定点の対角以外の２つのコーナー点もしくはコーナー推定点とコーナー位置を特定したいコーナー推定点を結ぶ２本の線分を生成する。その後、２本の線分が各辺を触れるまでコーナーと推定されるポイントを移動させることにより検索を行う。例えば、ＱＲコードの場合でも、図７に示すように一箇所シンボルマークのない点が存在する。図８は、２本の線分によるコーナー特定のイメージ図である。
【００３８】
この作業を４つのコーナー推定点全てについて行うことにより（Ｓ２０７）、コーナー位置を特定する。４つのコーナー位置が特定されると（Ｓ２０８）、２次元矩形コードシンボルデータの含まれる領域が特定される。
【００３９】
続いて、画像データの補正を行う処理について説明する。２次元矩形コードシンボルデータの含まれる領域が特定されても、その領域の画像データに歪みがあった場合、そのままでは正確に読み取ることができない場合がある。そこで、画像データに補正をかけることにより、読み取りの精度を上げることが可能となる。
【００４０】
画像データの補正には投影変換処理を行う。図９は投影変換のイメージ図である。投影変換を行う式は、数１に示す数式で与えられる。変換前の４つのコーナーの座標をそれぞれ、Ａ（x0,y0）、Ｂ（x1,y1）、Ｃ（x2,y2），Ｄ（x3,y3）とし、変換後の４つのコーナーの座標をそれぞれ、A'（u0,v0）、B'（u1,v1）、C'（u2,v2），D'（u3,v3）とすると、変換式の定数c0〜c7は、変換前と変換後の合計８つの頂点の座標から求めることが可能である。この式を利用して領域内のデータについて投影変換を行うことにより、画像データの補正が行われる。補正が行われた画像データは、デコード部１２へ出力される。
【数１】
2005316755.tif 000003
【００４１】
発明の実施の形態２．
本発明による２次元矩形コードシンボル読み取り方法は、缶などの曲面に貼られた２次元シンボルコードを撮影した画像などの場合でも読み取りを行うことが可能である。コーナーを検出する方法や、２次元矩形コードシンボルデータの含まれる領域を特定する方法については、発明の実施の形態１における方法と同様であり、ここでは説明を省略する。
【００４２】
図１０は、２次元矩形コードシンボルデータの含まれる領域を抽出した例を示す図である。この場合、以下の手順で画像データの補正が行われる。
【００４３】
まず、各辺の中点に対して、垂直方向に差分の演算が行われる。この差分の量が予め定められた閾値以上になった場合に、この領域内の画像データは、曲面上に置かれたシンボルコードを含む画像データであると判断する。
【００４４】
曲面上に置かれたと判断した場合、図１１に示すように、差分量が最大となる箇所の辺に対して垂直二等分線を生成し、領域を分割する。分割された領域についてコーナーを検出し、検出したコーナーを結ぶ線分と領域との差分の量が予め定められた閾値以上であった場合は、再び同様の方法で分割を行うようにしてもよい。分割された領域のそれぞれについて、投影変換による補正を行う。投影変換の方法については、発明の実施の形態１における方法と同様である。
【００４５】
投影変換による補正が行われるとそれぞれの補正後のデータを組み合わせてデコードを行う。このように、分割して別々に補正をかけることにより、曲面上に置かれた２次元矩形コードシンボルデータも読み取ることが可能となる。
【００４６】
同様に、任意曲面に貼られた２次元矩形コードシンボルデータの読み取りも可能である。図１２は、２次元矩形コードシンボルデータの含まれる領域を抽出した例を示す図である。この場合、図１１の場合による方法を用いても曲面上に置かれたと判断されない場合がある。この場合は、次のような手順で画像データの補正を行う。
【００４７】
まず、コーナーポイント推定時に候補に上がった全ての点をコーナーポイント推定点とする。次に、発明の実施の形態１と同様の方法により、全てのコーナーポイント推定点からコーナーポイントを特定する。
【００４８】
このようにして特定したコーナーポイントに基づいて、領域をそれぞれ四辺形に分割する。そして、分割されたそれぞれの領域について、投影変換による補正を行う。
【００４９】
投影変換による補正が行われるとそれぞれの補正後のデータを組み合わせてデコードを行う。このようにすることにより、どのような自由形状曲面に貼られたデータに対しても、補正をかけることが可能となり、２次元矩形コードシンボルデータの読み取りが可能となる。
【００５０】
その他の発明の実施の形態．
上述の例では、主にＱＲコードを挙げて説明したが、本発明によれば、全ての２次元矩形コードシンボルデータの読み取りが可能となる。
【図面の簡単な説明】
【００５１】
【図１】本発明における２次元矩形コードシンボル読取装置の構成を示すブロック図である。
【図２】本発明における２次元矩形コードシンボル読取方法の処理の流れを示すフローチャートである。
【図３】本発明における領域決定方法の処理の流れを示すフローチャートである。
【図４】本発明における領域決定方法のイメージを示す図である。
【図５】本発明におけるコーナー特定方法のイメージを示す図である。
【図６】本発明におけるコーナー特定方法のイメージを示す図である。
【図７】本発明におけるコーナーシンボルがない場合の例を示す図である。
【図８】本発明におけるコーナー特定方法のイメージを示す図である。
【図９】本発明における投影変換を示す図である。
【図１０】本発明における２次元矩形コードシンボルを含む画像の例を示す図である。
【図１１】本発明における２次元矩形コードシンボル読取方法の例を示す図である。
【図１２】本発明における２次元矩形コードシンボル読取方法の例を示す図である。
【符号の説明】
【００５２】
１    ２次元矩形コードシンボル読取装置
１０  シンボル領域検出部
１１  投影変換計算部
１２  デコード部
１３  入力部
１４  出力部
【図１】
2005316755.tif 000004
【図２】
2005316755.tif 000005
【図３】
2005316755.tif 000006
【図４】
2005316755.tif 000007
【図５】
2005316755.tif 000008
【図６】
2005316755.tif 000009
【図７】
2005316755.tif 000010
【図８】
2005316755.tif 000011
【図９】
2005316755.tif 000012
【図１０】
2005316755.tif 000013
【図１１】
2005316755.tif 000014
【図１２】
2005316755.tif 000015