2013-07-02 82 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