OpenCV 4.5.5以降のバージョンで、OpenCVにQRコードの生成機能が追加されました(それまでは読み取りのみが可能)。
ソースコード3行程度で簡単にQRコードを生成できます。
今回は、OpenCVを使ってQRコードを生成してみたいと思います。
OpenCVでQRコードを生成するプログラム(Python+OpenCV)
それでは、OpenCVでQRコードを生成するプログラムを以下に紹介します。
ソースコード
動作環境:OpenCV 4.5.5
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import cv2
print("OpenCV Version: " + str(cv2.__version__))
# Creating QR Code
QRencoder = cv2.QRCodeEncoder.create();
encoded_info = "http://tecsingularity.com/"
qrcode = QRencoder.encode(encoded_info)
# Saving image
cv2.imwrite('qr.png',qrcode)
ソースコードの解説
基本的に、QRコード生成に関わるソースコードは以下の3行のみです。encoded_infoに、QRコードに埋め込みたい文字列を入力し、「QRencoder.encode()」関数で文字列をQRコード画像に変換します。
OpenCVで扱える画像形式としてQRコードが得られますので、後はimwrite()等で保存すればQRコードの生成が完了です。
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
QRencoder = cv2.QRCodeEncoder.create();
encoded_info = "http://tecsingularity.com/"
qrcode = QRencoder.encode(encoded_info)
実行結果
当サイトのURLを入力し、QRコードを生成してみました。私のスマホで読み取ったところ、正しく読み取れることが確認できました。

まとめ
本日はOpenCVでQRコードを生成する方法を確認しました。10行未満のソースコードで、簡単にQRコードの生成を実現できます。
Pythonであれば、QRコード生成に他のライブラリを使う手もありますが、OpenCVに慣れているという人であれば、OpenCVを使うのも悪くなさそうです。