python 使用zbar,cv2和PIL / Pillow扫描图像中的条形码。
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 使用zbar,cv2和PIL / Pillow扫描图像中的条形码。相关的知识,希望对你有一定的参考价值。
import zbar
import cv2
from PIL import Image
def scan_barcodes(img):
"""
Scan barcodes in image and return their data.
:param img: Source image
:type img: PIL.Image
:return: A list of barcode type/data tuples.
:rtype: list
"""
scanner = zbar.ImageScanner()
frame = img.convert("RGB")
gray = cv2.cvtColor(numpy.array(frame), cv2.COLOR_BGR2GRAY, dstCn=0)
pil = Image.fromarray(gray)
width, height = pil.size
zimg = zbar.Image(width, height, "Y800", pil.tobytes())
scanner.scan(zimg)
return [(s.type, s.data) for s in zimg]
以上是关于python 使用zbar,cv2和PIL / Pillow扫描图像中的条形码。的主要内容,如果未能解决你的问题,请参考以下文章
python中PIL.Image和OpenCV图像格式相互转换
使用 PIL 在 OpenCV Python 中更改字体系列
python+opencv+pil实现windows 图片位置查找
cv2.imread()与PIL中Image.open()
matplotlibPILcv2图像操作差异分析
分别使用 PIL 和 cv2 绘制人群密度图