本日はPython枠です。
BlenderでPythonになれてきたため、今回はQRコードを作成する実装を行います。
〇QRコードについて
QRコードは今では電子決済を含め日常生活の中で多く使用されていますが、もとはデンソーウェーブ社が開発した情報表示形式とその読み取り技術です。
特徴として名称の権利を除いて技術そのものはオープンソースとして公開されており、世界中で広く使用されるようになりました。
バーコードに比べ記録データの大容量化や高密度化、読み取りに対しての欠損個所の修復機能などにより日常生活に欠かせない技術です。
〇環境
・Windows11PC
・Anaconda Prompt(Anaconda3)
〇PythonでQRコードを作成する
QRコードを使用するためにはqrcode
ライブラリを使用します。
まずはAnaconda Promptを起動してqrcreatorという名前で仮想環境を構築します。
conda create -n qrcreator
次に仮想環境を有効化します。
conda activate qrcreator
最後にqrcodeライブラリをインストールします。
conda install -c conda-forge qrcode
以上で環境ができました。
次にPythonコードですが次のようになります。
import qrcode # QRコードを生成したいテキスト data = "テキスト" # QRコードの生成 qr = qrcode.QRCode( version=1, error_correction=qrcode.constants.ERROR_CORRECT_H, box_size=10, border=4, ) qr.add_data(data) qr.make(fit=True) # QRコードの描画と保存 img = qr.make_image(fill='black', back_color='white') img.save('qrcode.png')
まずは本ブログのQRコードを生成します。
dataにhttps://redhologerbera.hatenablog.com/を入力し実行します。
python qrcretor.py
これによってスクリプトと同階層にqrcode.pngが生成されます。
生成されたコードはこちらになります。
こちらを読み込むと本ブログへと飛ぶことを確認できました。
実際にコードを生成している部分は次になります。
qr = qrcode.QRCode( version=1, error_correction=qrcode.constants.ERROR_CORRECT_H, box_size=10, border=4, ) qr.add_data(data) qr.make(fit=True)
QRCode()
の引数は、QRコードのバージョン、QRコードの誤りレベル、コードの周囲のピクセルサイズを指定します。
ここでバージョンは1から40まであり、それぞれ1バージョンが上がるごとに4セルずつ保持できる情報量が上がります。
引数がnoneの場合は必要に応じて自動的に最小バージョンを選択します。
QRコードの誤りレベルとは、コードの欠落などによって欠損した場合の修復レベルを指し、ERROR_CORRECT_L(7%),ERROR_CORRECT_M(15%),ERROR_CORRECT_Q(25%),ERROR_CORRECT_H(30%)の設定ができます。
誤り訂正レベルが大きければ大きいほどQRコードのサイズも大きくなります。
以上でQRコードの生成ができました。
なおURL以外の情報を埋め込んだ場合でもスマートフォンをかざすことで内容を確認できます。
本日は以上です。