2024-10-01 02:37:19 发布
网友
我尝试在Mac上使用python中的opencv2.0。我需要能够在opencvipl格式和PIL Python图像库格式之间进行转换。在
这个问题的第一个答案How do I create an OpenCV image from a PIL image?建议使用一个名为打开CV.适配器要进行转换,但由于我使用的是OpenCV 2.0,因此我没有名为“OpenCV”的模块(我改为使用“cv”),而且似乎也不存在任何cv.适配器". 在
你链接的答案已经过时了。适配器现在不见了是因为它不再需要了。OpenCV映像的Python绑定现在支持数组接口(__array_struct__和__array_interface__),因此您应该能够只使用PIL中的Image.fromarray方法来实现一种方式,而使用cv.fromarray或{}来实现另一种方式。在
__array_struct__
__array_interface__
Image.fromarray
cv.fromarray
如果您使用的是opencv2.0,下面是OpenCV 2.0 cookbook中的一些片段(我有opencv2.3,因此无法测试,抱歉):
PIL图像到OpenCV:
import Image import cv pi = Image.open('foo.png') # PIL image cv_im = cv.CreateImageHeader(pi.size, cv.IPL_DEPTH_8U, 1) cv.SetData(cv_im, pi.tostring())
OpenCV到PIL图像:
你链接的答案已经过时了。适配器现在不见了是因为它不再需要了。OpenCV映像的Python绑定现在支持数组接口(}来实现另一种方式。在
__array_struct__
和__array_interface__
),因此您应该能够只使用PIL中的Image.fromarray
方法来实现一种方式,而使用cv.fromarray
或{如果您使用的是opencv2.0,下面是OpenCV 2.0 cookbook中的一些片段(我有opencv2.3,因此无法测试,抱歉):
PIL图像到OpenCV:
OpenCV到PIL图像:
^{pr2}$相关问题 更多 >
编程相关推荐