注目キーワード

【Python】QRコードを生成する方法と読み込みする方法を動作確認する

QRコードは支払いやWebサイトへのリンク・テキストの表示などで使われており、いろんな場面で目にします。例えばQRコードでWebサイトのURLを公開する場合など、Web上のQRコード生成ツールに情報を入力して作成することがありますが、Pythonのライブラリを使ってコードを生成することも可能です。こちらの記事ではQRコードの扱いについて見ていきましょう。

ライブラリのインストール

QRコードの生成にはqrcodeという名前のライブラリを利用します。画像処理ライブラリのPILと連携する必要があるので、インストールする際には pip install “qrcode[pil]” と入力します。

QRコードの読み取りにはバーコード読み込み関係のライブラリであるpyzbarを利用します。インストールするためには、pip install pyzbarと入力してライブラリをインストールしてください。こちらはzbarライブラリのインストールが必要になる可能性があります。例えばgoogle colaboratoryで実行するには次のようにインストールをします。

Pythonのqrcodeを利用してQRコードを作成する

こちらのブログ (URLはhttps://neko-py.com/です)にアクセスするためのQRコードを作成し、動作を確認してみましょう。

サンプルソース

サンプルの実装です。

はじめにqrcodeライブラリをインポートしています。

次にブログのURLからQRコードを作成し、カレントディレクトリにcode.pngという名前で保存しています。作成して保存されたQRコードは以下のものですが、こちらをiPhoneやAndroidのQRコードリーダで開くことで、こちらのブログにアクセスできます。

QRコードの例

QRコードのバージョン・エラー率へのしきい値設定・色の設定も可能ですので、詳細は公式のページを確認していろいろ作ってみてくださいね。

Pythonのpyzbarを利用してQRコードを読み込む

読み込むプログラムをPythonでガンガン実装することはないかもしれないですが、先程qrcodeで作成した上のQRコードを読み込みしてみます。作成したQRコードは画像になっているので、pythonで画像を扱うライブラリであるPILを使いつつ、pyzbarで読み込みを行う処理を行ってみます。

サンプルソース

サンプルの実装です。先程作成したQRコードがcode.pngとして保存されているとしています。PIL.Imageを使って画像を読み込み、decodeしています。

実行結果

Google ccolaboratoryで上記のプログラムを実行した結果は次のようになります。画像をデコードした結果、dataのところにブログのURLが格納されていたことが分かりました。

スポンサーリンク

実行結果から、QRコードに格納されたURLが確認できます

このように、QRコードの生成と読み取りはPythonプログラムでも可能です。画像処理が入るため画像データの読み込みやライブラリのインストールから、読み取りの方は少し手間がかかりますが、Google colaboratoryでも簡単に環境を作ることができました。

是非一度、自分のPythonプログラムからQRコードを扱ってみてくださいね。