无法显示/转换图像

时间:2013-06-04 17:47:50

标签: python image opencv

我是Python和Opencv的新手。 我使用以下代码。

import Image
import ImageChops
im1 = Image.open("img1.png")
im2 = Image.open("img2.png")
diff = ImageChops.difference(im2, im1)

当我cv.ShowImage时,它会要求我转换它。我正在尝试各种转换,但始终存在错误。 我可以看到图像的唯一方法是执行以下操作。

diff.save("final","JPEG")

有没有其他方法可以转换为IplImage或CvMat?

2 个答案:

答案 0 :(得分:0)

cv.SaveImage(diff, cv.LoadImage(diff))可能会起作用,使用opencv函数。

编辑:看到下面的评论,我想尝试

cv.SaveImage(diff, cv.LoadImage(diff))
cv.ShowImage('box name', diff)

可能有用。

答案 1 :(得分:0)

差异图像包含负像素值,所以我不认为cv.ShowImage可以“按原样”显示它。

减法后可能的像素值范围是-255到255.您可能希望首先将像素值标准化,

new_value =(old_value + 255)/ 2

我不在Python上使用OpenCV,因此我无法发布上述代码。