Como faço para criar uma imagem OpenCV a partir de uma imagem PIL?
Eu quero fazer algum processamento de imagem com OpenCV (em Python), mas eu tenho que começar com um PILImage
objeto, então eu não posso usar ocvLoadImage()
chamar, desde que leva um nome de arquivo.
Esta receita (adaptada dehttp://opencv.willowgarage.com/wiki/PythonInterface) não funciona porquecvSetData
reclamaargument 2 of type 'void *'
. Alguma ideia?
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))
Eu acho que o último argumento para ocvSetData
está errado também, mas não tenho certeza do que deveria ser.