前言
关于动态识别二维码信息,利用电脑摄像头动态扫描二维码,扫描视频中的二维码。
简易程序
import cv2 pip install opencv-python
def start():
capture = cv2.VideoCapture(0)
while True:
fet, frame = capture.read()
qrCodeDetector = cv2.QRCodeDetector()
data, bbox, straight_qrcode = qrCodeDetector.detectAndDecode(frame)
print(data) # data即读取到的数据
cv2.namedWindow('read-QR', 0)
cv2.imshow("read-QR", frame)
k = cv2.waitKey(1) # 保持画面的持续。
if k == 27: # 通过esc键退出摄像
break
start()
加强版Python GUI(图像用户界面编程)
由于我在项目中设计了一个PC端执行软件,所以用到了GUI编程,即图像用户界面编程,所以把关于这部分的GUI编程取了出来写在了下面。实际上用上面这个程序已经可以识别二维码了,下面这个程序是将程序由基于控制台来控制执行变成了图形用户界面来控制。将这个程序打包成软件可以用pip install auto-py-to-exe,这个库就是一个图像用户界面的程序,相比别的方式用起来比较友好,具体可以网上搜索学习。
import cv2
import tkinter
from tkinter import *
from PIL import Image, ImageTk
from tkinter import messagebox
import numpy as np
capture = cv2.VideoCapture(0)
root = tkinter.Tk()
root.title("read-QR")
root.geometry('900x600')
img_width = 800
img_height = 600 - 20
canvas = Canvas(root, bg='white', width=img_width, height=img_height)
canvas.place(x=0, y=0)
def on_closing():
if messagebox.askokcancel("Quit", "Do you want to quit?"):
root.destroy()
capture.release()
def start():
while True:
fet, frame = capture.read()
qrCodeDetector = cv2.QRCodeDetector()
data, points, straight_qrcode = qrCodeDetector.detectAndDecode(frame)
if data:
cv2.drawContours(frame, [np.int32(points)], 0, (0, 255, 0), 2) # 框出二维码位置
print(data)
tkinter.Label(root, text="姓名:" + data).place(x=900 - 100, y=0, width=100, height=20)
tk_img = cv2.cvtColor(frame, cv2.COLOR_BGR2RGBA)
tk_img = Image.fromarray(tk_img)
tk_img = tk_img.resize((img_width, img_height), Image.ANTIALIAS)
tk_img = ImageTk.PhotoImage(image=tk_img)
canvas.create_image(0, 0, anchor='nw', image=tk_img)
root.update()
root.after(1)
btnStart = tkinter.Button(root, text='开始', command=start)
btnStart.place(x=0, y=600 - 20, width=70, height=20)
root.protocol('WM_DELETE_WINDOW', on_closing)
root.mainloop()
关于如何制作二维码可看我同专栏的另一边篇文章,链接如下。文章来源:https://www.toymoban.com/news/detail-550945.html
Python用qrcode和PIL制作二维码并添加汉字(用Python在图片上添加汉字)_"殇影的博客-CSDN博客python制作二维码,python批量制作二维码,python批量制作带汉字的二维码,在图片上添加汉字,用Python在图片上添加汉字https://blog.csdn.net/weixin_45694843/article/details/128046585?spm=1001.2014.3001.5502文章来源地址https://www.toymoban.com/news/detail-550945.html
到了这里,关于Python用opencv实现动态识别二维码,以及加强版Python GUI(图像用户界面编程)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!