我正在尝试使用Zbar库的QR码检测方法对我用OpenCV的相机方法提取的图像进行检测。通常,二维码检测方法在我的电脑上处理图像(jpg、png等),但我猜OpenCV捕获的帧是不同的。
有没有办法把捕获的帧变成PIL图像?
谢谢你。
from PIL import Image
import zbar
import cv2.cv as cv
capture = cv.CaptureFromCAM(1)
imgSize = cv.GetSize(cv.QueryFrame(capture))
img = cv.QueryFrame(capture)
#SOMETHING GOES HERE TO TURN FRAME INTO IMAGE
img = img.convert('L')
width, height = img.size
scanner = zbar.ImageScanner()
scanner.parse_config('enable')
zbar_img = zbar.Image(width, height, 'Y800', img.tostring())
# scan the image for barcodes
scanner.scan(zbar_img)
for symbol in zbar_img:
print symbol.data
使用python CV2,您还可以执行以下操作:
你想获取RGB图像吗?如果是这种情况,则需要更改参数:
对此:
因为几乎没有文档记录,但是Image.fromstring的'L'参数用于8位黑白图像。此外,还需要将cv.CreateImage函数的参数从1(单通道图像)更改为3(3通道=RGB)。
希望对你有用。 干杯
我想我可能找到了答案。稍后我将编辑结果。
打开cv到PIL图像
来源:http://opencv.willowgarage.com/documentation/python/cookbook.html
相关问题 更多 >
编程相关推荐