カメラバーコード読取り
開発
ソフト | 内容 |
---|---|
ZXing | バーコード読取り |
OpenCVSharp 3.0 | カメラ取得 |
ZXing(ゼブラクロッシング)
Google が開発して公開している、様々な一次元や二次元のバーコードの生成/操作ができるオープンソースライブラリ。
https://github.com/zxing/zxing
QRコードの認識位置を取得するようにライブラリを修正する。
急角度・急斜面に対応するQRデコーダ(ZXing編)
- Result.Text : デコード結果の文字列
- Result.Points[*] : 0-2はファインダパタン(L字で順に取得する.つまり[1]が折れた箇所),3以降は位置合わせパタン
ResultPointの取得順番
ResultPoint では左下、左上、右上、右下(位置補正)の順または右下、左下、右上、左上(位置補正)の順に取得
OpneCVのPointで取得位置指定する場合の順番
左上、左下、右下、右上の順
参照
OpenCVSharp
OpenCVSharp自体は、日本の方が開発している。
OpenCvSharpを使う その1 (準備)
OpenCVSharp APIリファレンス
https://shimat.github.io/opencvsharp_docs/html/d75eb659-6335-53f6-af7a-81814a21ab7f.htm
OpenCVリファレンス(日本語)
http://opencv.jp/reference_manual
導入と使い方
カメラ
画像処理
射影変換(透視投影)
Mat型
OpenCVの画像はMat型変数で表現されます。Matという名前は matrix で行列の略です。その為、行列なので(行、列)の順に指定されるため、一般の画像指定の(x, y)ではない。※x, yの順番が逆なことに注意!!
定数 | 内容 |
---|---|
CV\_8UC1 | 8ビット、符号なし、1チャンネルのデータ |
CV\_8UC3 | 8ビット、符号なし、3チャンネルのデータ |
※CV_8Uは0から255の整数
1画素はB, G, Rの順に格納されている。
画像アクセス
MATとBITMAP相互変換
QRバーコード仕様
QRコード(Quick Responce Code)は1994年にデンソーウェブの開発した、マトリックス型2次元コードの一種です。名前の通り、高速読取を目的に開発されました。
QRコードとは - KEYENCE
QRコードの誤り訂正レベルの判別方法
QRコードの誤り訂正レベルの判別方法~アイカツスターズ!のQRコードを分析してみる
誤り訂正レベル一覧
誤り訂正レベル | シンボルに対する面積 | ビット |
---|---|---|
L | 7% | 01 |
M | 15% | 00 |
Q | 25% | 11 |
H | 30% | 10 |
下図の14と13の部分を見て
□□(白,白)だったら、誤り訂正レベルH
□■(白,黒)だったら、誤り訂正レベルQ
■□(黒,白)だったら、誤り訂正レベルM
■■(黒,黒)だったら、誤り訂正レベルL