Python で作成した QRコードの生成ソフトウェアです。tkinter と pyqrcode を使っています。
以下の環境で動作確認をしています。
環境: Windows 10、Python 3.x
公開: QRコード作成ソフト
以前、バーコードの読み取りソフトウェアを作成し、このサイトで公開しています(下記、関連リンク参照)。
すでに、QRコードや一次元バーコードの読み取りが可能になっています。QRコードの生成ができれば、QRコードの作成から読み取りまで、一連の作業のいずれも対応できることになります。QRコードを生成するプログラムを作成して動きましたので公開します。QRコードのみ対応しています。
pyqrcode のインストール
pyqrcode をインストールしていない場合は、以下でインストールをしてください。
pip install pyqrcode
サンプルコードの設定方法
・ PC のデスクトップなどにフォルダを作成してください。
・ 同フォルダに QRcode_generator1.py 等の名前でテキストファイルを作成してください。このテキストファイルに下記のサンプルコードをコピー&ペーストで貼りつけて保存してください。
なお、QRコードの画像を保存する際は、このフォルダ内に保存されます。
使い方
① コマンドプロンプトから、上記のスクリプトを実行してください。
(例:コマンドプロンプトで上記のフォルダに移動し、”python QRcode_geneartor1.py” + [enter] と入力する。)
② ”barcode data” 欄に、文字列を入力し、「encode」ボタンをクリックしてください。
→ QRコードが生成されます。
※ 生成したQRコードの画像を保存する場合は、「save」ボタンをクリックしてください。
→ フォルダ内に PNG 画像が保存されます。
“file name” 欄のファイル名を変えると、保存するファイル名を変更できます。保存できるフォーマットは PNG 形式のみです。
まとめ
QRコードの作成が自由にできるようになりました。QRコードの作成から読み取りまで自由自在となりました。
なお、物体認識という観点では、顔認識、バーコード認識はすでに動いています。Tensorflow などを用いた一般的な物体認識についてもカバーできるかなといったところです。
関連リンク
・ バーコードリーダ 【QRコード対応】
・ 動作確認済み USB カメラ 【おすすめ】
サンプルコード:QRコード生成ソフト
#!/usr/bin/env python
# -*- coding: utf8 -*-
import os
import tkinter as tk1
import pyqrcode as pq1
def encode1():
global qr1, img1
data1 = str( textbox1.get() )
print( data1 )
qr1 = pq1.create( data1 )
img1 = tk1.BitmapImage( data = qr1.xbm( scale=8 ) )
label3.config( image = img1 )
def save1():
global path1
file1 = path1 + str( textbox2.get() )
print( file1 )
qr1.png( file1, scale=8 )
path1 = os.path.dirname(__file__) + "\\"
frame1 = tk1.Tk()
frame1.title(u"QRcode_generator v0.1")
frame1.geometry("450x400")
label1 = tk1.Label(text='barcode data', anchor='w')
label1.place(x=10, y=10, width=100)
label2 = tk1.Label(text='file name', anchor='w')
label2.place(x=10, y=40, width=100)
label3 = tk1.Label( frame1, bg='white' )
label3.place(x=25, y=70, width = 400, height = 300)
textbox1 = tk1.Entry( master=frame1 )
textbox1.place(x=100, y=10, width=200)
textbox2 = tk1.Entry( master=frame1 )
textbox2.place(x=100, y=40, width=200)
textbox2.delete( 0, tk1.END )
textbox2.insert( 0, "file01.png" )
button1 = tk1.Button( frame1, text='encode', command=encode1 )
button1.place(x=320, y=5, width=100)
button2 = tk1.Button( frame1, text='save', command=save1 )
button2.place(x=320, y=35, width=100)
qr1 = 0
img1 = 0
frame1.mainloop()