2013-06-04 54 views
0

我是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

cv.SaveImage(diff, cv.LoadImage(diff))可能工作,使用opencv函數。

編輯:在視線下面的評論,我想嘗試

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

可能會奏效。

+0

不,我的意思是,我怎樣才能把它顯示在一個盒子裏。例如: cv.ShowImage(「box name」,diff) – user2452845

0

差異圖像包含負像素值,所以我不認爲cv.ShowImage可以按原樣顯示它。

減法之後的可能像素值的範圍是-255〜255。你可能想第一歸一化的像素值,通過

NEW_VALUE =(OLD_VALUE + 255)/ 2

我不使用Python上的OpenCV,所以我不能在上面發佈代碼。