我正在寻找一种简单的方法来解码python 3中的png格式的QR码。我发现的许多以前的答案似乎只适用于python 2.例如qrtools包不起作用,因为zbar没有使用python 3.
如果有人可以建议使用包并提供有关如何解码QR码的基本示例,那将非常有用。
答案 0 :(得分:2)
您可以使用pyzbar
来自他们的文档:
from pyzbar.pyzbar import decode from PIL import Image decode(Image.open('pyzbar/tests/code128.png'))
答案 1 :(得分:0)
您可以参考here以获得更详细的python 3教程pyzbar + opencv
简而言之:
from pyzbar import pyzbar
import cv2
img_path = 'image.png'
img = cv2.imread(img_path)
barcodes = pyzbar.decode(img)
for barcode in barcodes:
(x, y, w, h) = barcode.rect
cv2.rectangle(img, (x, y), (x + w, y + h), (0, 0, 255), 2)
barcodeData = barcode.data.decode("utf-8")
barcodeType = barcode.type
text = "{} ({})".format(barcodeData, barcodeType)
cv2.putText(img, text, (x, y - 10), cv2.FONT_HERSHEY_SIMPLEX, 0.5, (0, 0, 255), 2)
print("[INFO] found {} barcode {}".format(barcodeType, barcodeData))
cv2.imwrite("new_img.jpg", img)