konvertiere OpenCV-Bild in PIL-Bild in Python (zur Verwendung mit Zbar-Bibliothek)
Ich versuche, die Zbar library QR-code-Erkennung Methoden auf den Bildern, die ich extrahieren mit OpenCV ist die Kamera-Methoden. Normalerweise wird der QR-code-Erkennung Methoden der Arbeit mit Bildern (jpg, png, etc.) auf meinem computer, aber ich denke, die aufgenommenen frames von OpenCV sind unterschiedlich.
Gibt es einen Weg, um das erfasste Bild in eine PIL-Image?
Danke.
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
InformationsquelleAutor der Frage QuantumRich | 2012-11-27
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Mit der python-CV2, können Sie dies auch tun:
InformationsquelleAutor der Antwort s_kanawat
Ich denke, ich habe vielleicht die Antwort gefunden. Ich werde Bearbeiten Sie später mit den Ergebnissen.
OpenCV zu PIL-Image
Quelle: http://opencv.willowgarage.com/documentation/python/cookbook.html
InformationsquelleAutor der Antwort QuantumRich
Sind Sie versuchen, zu erhalten, ein RGB-Bild? Wenn das der Fall ist, müssen Sie ändern Sie Ihre Parameter aus:
:
da ist es dokumentiert fast nirgends, aber die " L " - parameter von Bild.fromstring ist für 8-bit-B&W-Bilder. Außerdem müssen Sie das argument Ihres Lebenslaufs.CreateImage Funktion von 1 (single-channel-Bild) , 3 (3 Kanäle=RGB).
Hoffe, es funktioniert für Sie.
Cheers
InformationsquelleAutor der Antwort Raoul