Qua*_*ich 31 python opencv python-imaging-library zbar
我正试图在我用OpenCV的相机方法提取的图像上使用Zbar库的QR码检测方法.通常,QR码检测方法可以在我的计算机上使用图像(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
Run Code Online (Sandbox Code Playgroud)
小智 81
使用python CV2,您还可以执行以下操作:
import Image, cv2
cap = cv2.VideoCapture(0) # says we capture an image from a webcam
_,cv2_im = cap.read()
cv2_im = cv2.cvtColor(cv2_im,cv2.COLOR_BGR2RGB)
pil_im = Image.fromarray(cv2_im)
pil_im.show()
Run Code Online (Sandbox Code Playgroud)
我想我可能找到了答案.我稍后会用结果编辑.
OpenCV到PIL图像
import Image, cv
cv_im = cv.CreateImage((320,200), cv.IPL_DEPTH_8U, 1)
pi = Image.fromstring("L", cv.GetSize(cv_im), cv_im.tostring())
Run Code Online (Sandbox Code Playgroud)
资料来源:http://opencv.willowgarage.com/documentation/python/cookbook.html
归档时间: |
|
查看次数: |
42939 次 |
最近记录: |