我主要的问题就在于无法识别图片
注意事项:
1、从文件中加载图像的时候注意图片尽量用英文来命名,因为中文无法识别到图片
2、使用绝对地址的时候要用两个双斜杠,因为用一个会被识别为Unicode 转义,但是并没有后续的合法 Unicode 编码,因此引发了SyntaxError。如图所示:
一、条形码的识别
代码:
python
import cv2
from pyzbar.pyzbar import decode
# 从文件加载图像
image_path = "E:\\code\\line.png"
image = cv2.imread(image_path)
# 将图像转换为灰度
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
# 解码条码
barcodes = decode(gray)
# 在控制台显示识别到的条码
for barcode in barcodes:
barcode_data = barcode.data.decode('utf-8')
print(f'识别到的条码数据:{barcode_data}')
# 在窗口中显示图像
cv2.imshow('Barcode Scanner', image)
cv2.waitKey(0)
cv2.destroyAllWindows()
二、二维码的识别
代码:
python
import cv2
from pyzbar.pyzbar import decode
# 从文件加载图像
image_path = "E:\\code\\two-dimension1.png"
image = cv2.imread(image_path)
# 解码二维码
qrcodes = decode(image)
# 在控制台显示识别到的二维码
for qrcode in qrcodes:
qr_data = qrcode.data.decode('utf-8')
print(f'识别到的二维码数据:{qr_data}')
# 在窗口中显示图像
cv2.imshow('QR Code Scanner', image)
# 当用户不在程序运行的窗口中按下任意键时,退出并销毁所有的页面
cv2.waitKey(0)
cv2.destroyAllWindows()
总结:其实两个代码差不多,问题的出现就在于找不到图片文件。如果我的解决不了的话,很遗憾帮不了你。不过慢慢来,别急,会成功的。