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 ++代码,其中ar1
是long int
数组。图像imaggray
和imaggray1
的绝对差异存储在imaggray2
中。
在python中:
cv.AbsDiff(imaggray, imaggray1, imaggray2)
我在将第二行和第三行转换为python时遇到了麻烦。
我该怎么做?
答案 0 :(得分:0)
正如Abid评论的那样,我会使用cv2而不是cv模块。由于cv2基于c ++接口,因此您可以使用较少的代码行开发脚本,假设您可以执行OOP。使用cv2的另一个好处是python语句大多类似于它的c ++语句
drawing2 = cv2.absdiff(drawing,drawing0)
sc = cv2.sumElems(drawing2)
ar = sc[0] + sc[1] + sc[2]