QR コードを大量に自動生成したい。
まずは QR コードとはなんぞやを調べる。
QRコード(Wikipedia)
QRコード(キューアールコード)は、1994年(平成6年)に日本・愛知県の自動車部品メーカーであるデンソーの開発部門(現在は分社化してデンソーウェーブ)が発明したマトリックス型二次元コードである
.
「QR」は Quick Response の頭字語
.
トヨタ生産方式「カンバン」(ジャストインタイム生産システム)において、自動車部品工場や配送センター等での利用を念頭に開発された。しかし、誤り検出訂正の能力が高く、また、オープンソースとされたことから、トヨタ自動車のサプライチェーンの範囲から飛び出して独り歩きを始め、現在では日本に限らず世界に広く普及している
.
型番 (Version)
1から40の番号で表されるシンボルの大きさ。最小は「型番1」の21×21モジュールで、最大は「型番40」の177×177モジュール。
.
誤り訂正レベル (Error Correction Level)
QRコードに汚れなどがあっても正確に読み取れるように、読み取り不能や読み取り間違いのモジュールを修正するために付けられる誤り訂正語のデータ語に対する割合。下記の5レベルがある。
レベルL - コード語の約7%が復元可能
レベルM - コード語の約15%が復元可能
レベルQ - コード語の約25%が復元可能
レベルH - コード語の約30%が復元可能
レベルS - コード語の約50%が復元可能
工場での汚れや撮影時のノイズなどに対応するために一部が欠損していても読み取りが可能。
QRコード®とは(デンソーウェーブ)
特長3:360°どの方向からでも、読み取りが可能
QRコード®は、360°どの方向からでも、高速な読み取りが可能です。
QRコード®の中の3ヶ所の切り出しシンボルにあり、背景模様の影響を受けない安定した高速読み取りができます。
3箇所のファインダパターン(切り出しシンボル)で向きを識別するっぽい。
1箇所のアライメントパターンは、補正用。こちらはバージョンによってないものもある。
QRコード開発ストーリー(デンソーウェーブ)
QRコードのしくみ(キーエンス)
データの区分けについて書いてある。ユーザには関係ないが。
次に気楽に動かせる Python での QR コードの取り扱いを調べる。
qrcode
QR コードの生成に関しては、このライブラリがデファクトスタンダードっぽい。
ライセンス.txt を確認すると js での実装のポーティングと書かれていた。
PyQRCode
こちらは 7年くらい前で更新が止まっている。
(調査はひとまずここまでで終わり)