ユーザ用ツール

サイト用ツール


it技術:dotnet:カメラバーコード読取り

カメラバーコード読取り

開発

ソフト内容
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\_8UC18ビット、符号なし、1チャンネルのデータ
CV\_8UC38ビット、符号なし、3チャンネルのデータ

※CV_8Uは0から255の整数

1画素はB, G, Rの順に格納されている。

画像アクセス

MATとBITMAP相互変換

QRバーコード仕様

QRコード(Quick Responce Code)は1994年にデンソーウェブの開発した、マトリックス型2次元コードの一種です。名前の通り、高速読取を目的に開発されました。
QRコードとは - KEYENCE

QRコードの誤り訂正レベルの判別方法
QRコードの誤り訂正レベルの判別方法~アイカツスターズ!のQRコードを分析してみる

誤り訂正レベル一覧

誤り訂正レベルシンボルに対する面積ビット
L7%01
M15%00
Q25%11
H30%10

下図の14と13の部分を見て
□□(白,白)だったら、誤り訂正レベルH
□■(白,黒)だったら、誤り訂正レベルQ
■□(黒,白)だったら、誤り訂正レベルM
■■(黒,黒)だったら、誤り訂正レベルL

その他

参照

it技術/dotnet/カメラバーコード読取り.txt · 最終更新: 2017/12/25 10:39 by yajuadmin