二次元バーコード

QRコードと同様な2Dバーコードを認識します。まず、画像から切り出しシンボル(□の中に■のマーク)らしい領域を3つ検出します。切り出しシンボルの位置関係が正しければ、バーコードとみなして値を取り出します。バーコードの値にエラーがなければ、検出成功とします。

このバーコードはQRコードと異なりドットが大きく、データ量が少ないです。また、エラーの検出には簡単な方法(パリティビット)しか使用していません。ドットの大きさを小さくして情報量を増やし、さらにリードソロモン符合などを使えば、もう少し実用的になるでしょう。

Pentium 2 (266 MHz) のPCにTVチューナーカード (PCI) を挿し、そのビデオ入力端子にデジカメのビデオ出力をつないでバーコードを認識させたときの検出例を以下に示しておきます。この構成では、3フレーム/秒くらいの性能でした。

sample1

生画像 認識画像

sample2

生画像 認識画像

sample3

生画像 認識画像

認識結果

sample1:
()()[]  []()()
()()  []  ()()
[]  [][][]  []
  [][][]  []  
[]  []  [][][]
()()  []  []  
()()[][][]  []

sample2:
()()[]  []()()
()()  []  ()()
[]  [][][]  []
  [][][]  []  
[]  []  [][][]
()()  []  []  
()()[][][]  []

sample3:
()()[]  []()()
()()  []  ()()
[]  [][][]  []
  [][][]  []  
[]  []  [][][]
()()  []  []  
()()[][][]  []
 
 
 
 

たなか ともひさ
Last modified: Sun May 11 09:32:49 JST 2008