GR-QRとは

GR-QRは弊社製のQRコード向けソフトウェアライブラリです。
QRコードをエンコード(生成)とデコード(読取)するためのライブラリの2つを用意しています。
今回はデコードライブラリで用意している読取シミュレータの使い方についてご紹介したいと思います。

1. QRコードの読取シミュレータとは?

本シミュレータはWindows用のアプリケーションです。
お客様の想定している画像を弊社製品にて認識することが可能か、またお客様のニーズに合ったソフトウェアかを簡単に確認するためのツールになります。
シミュレータ内部に GR-QR DECODERライブラリを組み込んでいるため、お客様の実機にソースコードを組み込んで評価しなくても読取の動作を確認できます。

2. 起動と終了

QRコードの読取シミュレータの実行ファイル(QrDecWin.exe)をWindows PCで起動させます。
特別なソフトウェアやランタイムのインストールは不要です。

・起動
正常に立ち上がると下のような画面が表示されます。

・終了
[終了]ボタンまたはウインドウ右上の[×]ボタンで、アプリケーションを終了します。なお、各パラメーター値は、保存されませんのでご注意ください。

3. 基本内容

QRコードの読取シミュレータの基本的な内容について説明いたします。

左上の[画像ファイル読み込み] ボタンからQRコードを含むBMP、PNG、JPEG形式ファイルを指定し、その下にあるデコード用のパラメーター値を調整します。読み取りに成功した場合、画面左下にデコード結果が表示されます。

4. 操作内容

QRコードの読み取り方法や、読み取った情報の表示に関する基本操作を紹介します。
① 読み込み指定ファイルについて
・画像ファイル読み込み
[開く]ダイアログから、QRコードを含むファイルを指定します。
画像フォーマットは、Windows ビットマップ形式(1bit=モノクロ、8bit=256 色、24bit、32bit)、PNG、JPEG ファイルに対応しております。

② 各パラメーターについて
・台形歪み補正
チェックすると画像中の位置調整パターンを参照し、台形補正を行います。
なお、位置調整パターンは Version2 以上でないとQRコード上にないため、Version1 の QR コードでは当機能は無効です。
※Version2:25セル×25セルのサイズのもの
 
・フィルタ処理(ぼかし)
当デコーダー製品は、QRコード読取前に入力画像の前処理を行う簡易的な処理が入っております。ぼかし処理になるため、若干読み取り精度は下がりますが、簡易的なノイズ除去効果があります。
製品出荷時には暫定的にぼかし処理を行うサンプルコードを記述していますので、お客様ご自身でソースコードを変更することで、独自の前処理を行うようにカスタマイズも可能です。

・フィルタ処理結果を表示
チェックすると上記フィルタ処理(ぼかし)の平滑フィルタで処理された結果を画面に表示します。

・明度閾値 (0=auto, 1- 255)
画像中の白黒を判定する明度閾値を 1-255 の範囲で指定します。
この値が 0 の場合は、画像全体から算術平均処理を使用して自動的に閾値を計算します。

・明度判定結果を表示
チェックすると閾値によって白黒に判定された結果を画面に反映します。閾値の調整の目安になります。

・黒白モジュール長許容誤差(%)
QR コードは 3 箇所に独自の四角形のパターン(ファインダーパターン)を持っています。
この図形の中心部を通る線分の黒白長比率が必ず1:1:3:1:1の比率になることを利用して、画像中の QR コードを検出しています。
しかし、必ずしもこの比率と正確に合致するわけではなく、実際にスキャン画像から読み取る場合には多少の誤差が発生します。
そのため、どの程度の誤差まで許容するかというパラメーターを設けて、ファインダーパターンの検出精度を調整しています。
この値が小さくなるにつれて判定がシビアになり、逆に大きくなると検出パターンが増加します。
検出パターンが増えすぎると作業メモリ領域の増大やQR コードの誤読を引き起こす可能性がありますので、お気を付けください。

・有効範囲
入力画像の一部のみスキャン対象とする場合、スキャン対象範囲を指定します。有効範囲座標(左上)が0 0の場合は、画像の左上の角を指します。
有効範囲座標(右下)が0 0の場合は、画像の右下の角を指します。どちらも 00の場合は、画像の全範囲を対象とします。

・デコード結果をHex表示
デコード結果文字列の表示方法を指定します。

③ 読取結果を表示
項目としては下記の内容が表示されます。
ImageFile:ファイル名
ImageWidth:画像の幅
ImageHeight:画像の高さ
Threshold:明度閾値
FinderWork:画像の水平方向で1:1:3:1:1の比率になるドットパターンの検出数
FinderPos:ファインダーパターンの認識数量
ProcessTime:処理時間
Count:QRコード認識数量
最後にQRコードがデコード出来ましたらResult以下に読取ったコードの情報が表示されます。
④ 画像ファイルの表示
デコード出来ているファインダーパターンに赤点が付き、コードがデコード出来ますと赤枠で囲われるようになります。

5. トラブルシューティング

画像の内容によっては、パラメーターを調整してもコードを読み取れない場合があります。下記に読み取れない原因の例を示します。
・コードの解像度が低い
セル(黒い四角)のドット数が少ない
⇒入力画像を見直して頂く必要があります。

・コード内の白/黒が判別しづらい
全体的に明るいまたは全体的に暗い
光の反射など画像内の明暗差が激しい
焦点があっておらず、全体的にぼやけている
⇒平滑化処理を適用することで読み取れる場合があります。GR-QR DECODERの提供物には前処理関数のサンプルを用意しており、平滑化処理も含まれております。

・コードが鏡面(左右反転)または白黒反転
⇒事前に左右反転または白黒反転して頂く必要があります。
GR-QR DECODERの提供物に前処理関数のサンプルもご用意しており、左右反転、上下反転、白黒反転関数などもございます。これら必要な関数を呼び出し加工した画像でデコード処理を行ってください。

・コード内のセル(黒い四角)形状が丸または隣接セルとの間に隙間がある場合
⇒ぼかし処理を適用することで読み取れる場合があります。GR-QR DECODERの提供物に前処理関数のサンプルを用意しており、その中にぼかし処理も含まれております。

まとめ

シミュレータを効果的に活用頂くことで購入検討の参考にして頂けると思いますので、この記事を通じて、GR-QRコードの読取シミュレータの使い方についてのご理解頂けたら幸いです。
今後、実際の画像を読取った内容や、前処理関数のサンプルシミュレーションなども紹介したいと思いますので乞うご期待ください。
なお、シミュレータのお貸出は弊社営業担当から提供させて頂きますのでお気軽にご相談下さい。

お問合せ先:sales@info.grape.co.jp

GR-QR製品ページはこちら