Jak utworzyć obraz OpenCV z obrazu PIL?
Chcę wykonać przetwarzanie obrazu za pomocą OpenCV (w Pythonie), ale muszę zacząć od PILImage
obiekt, więc nie mogę użyćcvLoadImage()
call, ponieważ pobiera nazwę pliku.
Ten przepis (dostosowany zhttp://opencv.willowgarage.com/wiki/PythonInterface) nie działa, ponieważcvSetData
skarży sięargument 2 of type 'void *'
. Jakieś pomysły?
from opencv.cv import *
from PIL import Image
pi = Image.open('foo.png') # PIL image
ci = cvCreateImage(pi.size, IPL_DEPTH_8U, 1) # OpenCV image
data = pi.tostring()
cvSetData(ci, data, len(data))
Myślę, że ostatni argument docvSetData
jest też źle, ale nie jestem pewien, co to powinno być.