Pyzbar给出了类似条形码的怪异位置

时间:2019-10-29 22:25:38

标签: python-3.x barcode

当在同一水平线上扫描包含非常相似的条形码的图像时,尽管条形码已正确解码,但条形码的位置却变得很奇怪。

我意识到了这个问题,因为我们使用EAN13来标记货架上的位置。因此,条形码非常相似,有几个处于同一货架级别。 因此,我尝试了一下,似乎Pyzbar的条形码存在问题(相同的条形码甚至更糟)。

这是我创建的要测试的图像: Image with barcodes

这是一个小脚本,可以打印条形码及其位置,并使用矩形保存图像。

在测试图像中,您应该看到第一行被弄乱了,但是第二行很好。

from pyzbar.pyzbar import decode
import cv2

img = cv2.imread('test.png')
barcodes = decode(img)
for decodedObject in barcodes:
    print(decodedObject.data.decode("utf-8"))
    print(decodedObject.rect)
    start_point = (decodedObject.rect.left, decodedObject.rect.top)
    end_point = (decodedObject.rect.left + decodedObject.rect.width,
                 decodedObject.rect.top + + decodedObject.rect.height)
    cv2.rectangle(img, start_point, end_point, (0, 255, 0), 3)
cv2.imwrite("result.jpg",img)

我不确定这是zbar还是pyzbar中的错误,还是我做错了什么。 任何帮助将不胜感激

0 个答案:

没有答案