【发布时间】:2023-01-05 02:03:55
【问题描述】:
我一直在尝试通过手机从捕获的图像中检测和解码二维码。我在解码 picture a 时遇到了麻烦,因为脚本无法检测到这里有 QR 码。但是,如果我像 picture c 那样只裁剪 QR 码,脚本就能够解码代码。我需要在脚本中进行哪些修改才能使其在图 a 中运行?`
import cv2
from pyzbar.pyzbar import decode
from pyzbar.pyzbar import ZBarSymbol
image_path = "Test_Image.png"
img = cv2.imread(image_path, cv2.IMREAD_GRAYSCALE)
blur = cv2.GaussianBlur(img, (5, 5), 0)
ret, bw_im = cv2.threshold(blur, 0, 255, cv2.THRESH_BINARY+cv2.THRESH_OTSU)
code = decode(bw_im, symbols=[ZBarSymbol.QRCODE])
print (code)
for barcode in decode (bw_im, symbols=[ZBarSymbol.QRCODE]):
print (barcode.data)
print (barcode.rect)
myData = barcode.data.decode ('utf-8')
print (myData)
break
【问题讨论】:
-
在您的图像中,QR 码是否始终位于图像的中心?
-
并不真地。在某些情况下,位置也不同。