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

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

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

sample1


生画像

認識画像

sample2


生画像

認識画像

sample3


生画像

認識画像

認識結果

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

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

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