二次元バーコード
QRコードと同様な2Dバーコードを認識します。まず、画像から切り出しシンボル(▣のマーク)らしい領域を3つ検出します。切り出しシンボルの位置関係が正しければ、バーコードとみなして値を取り出します。バーコードの値にエラーがなければ、検出成功とします。
このバーコードはQRコードと異なりドットが大きく、データ量が少ないです。また、エラーの検出には簡単な方法(パリティビット)しか使用していません。ドットの大きさを小さくして情報量を増やし、さらにリードソロモン符合などを使えば、もう少し実用的になるでしょう。
Pentium 2 (266 MHz) のPCにTVチューナーカード (PCI) を挿し、そのビデオ入力端子にデジカメのビデオ出力をつないでバーコードを認識させたときの検出例を以下に示しておきます。この構成では、3フレーム/秒くらいの性能でした。
sample1
生画像
認識画像
sample2
生画像
認識画像
sample3
生画像
認識画像
認識結果
sample1:
()()[] []()()
()() [] ()()
[] [][][] []
[][][] []
[] [] [][][]
()() [] []
()()[][][] []
sample2:
()()[] []()()
()() [] ()()
[] [][][] []
[][][] []
[] [] [][][]
()() [] []
()()[][][] []
sample3:
()()[] []()()
()() [] ()()
[] [][][] []
[][][] []
[] [] [][][]
()() [] []
()()[][][] []