2013-07-02 108 views
0
cvAbsDiff(imaggray, imaggray1, imaggray2); 
CvScalar sumDiff = cvSum (imaggray2); 
ar1[0] = (long int) sumDiff.val[0] + (long int) sumDiff.val[1] + (long int) sumDiff.val[2]; 

這是C++代碼,其中ar1long int陣列。圖像imaggrayimaggray1的絕對差值存儲在imaggray2中。將opencv C++代碼轉換爲Python opencv代碼

在蟒:

cv.AbsDiff(imaggray, imaggray1, imaggray2) 

我有在所述第二和第三行轉換到蟒麻煩。

我該怎麼做?

+4

'cv'模塊將被來自OpenCV的去除。所以請遷移到'cv2'模塊。 –

回答

0

正如Abid所評論的那樣,我會使用cv2而不是cv模塊。由於cv2基於C++接口,因此假設您可以執行OOP,則可以使用較少的代碼行開發腳本。使用CV2的另一個優點是,蟒蛇聲明主要是類似於它的C++聲明

drawing2 = cv2.absdiff(drawing,drawing0) 
sc = cv2.sumElems(drawing2) 
ar = sc[0] + sc[1] + sc[2] 

More details are here