我是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?
答案 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,因此我无法发布上述代码。