我正在遍历包含Code 128条形码的视频,逐帧读取条形码值。 ZBar适用于大多数视频帧,然后遇到一个无法解码条形码的帧。
此框架与其他框架一样,是完美的白色背景上的条形码。
框架:https://i.imgur.com/tThmVlH.jpg
在上面的图像中,此示例代码不会打印出任何解码后的条形码,但可以打印出来。 (我使用的是C ++,但是这个简单的Python代码段演示了相同的问题)
import zbar
import zbar.misc
import cv2
from PIL import Image
image = cv2.imread('coded-img.jpg', 0)
scanner = zbar.Scanner()
results = scanner.scan(image)
print(results)
for result in results:
print(result.data, zbar.misc.upca_is_valid(result.data.decode('ascii')))
关于为什么会发生这种情况的任何想法,或者无论如何,我都可以更改将条形码写入图像的方式进行修复?我的条形码可与此在线阅读器https://www.onlinebarcodereader.com/
配合使用,因此100%有效。