我正在尝试计算“看到”我相机的区域。我需要它来决定对象是否接近(控制我的机器人)。在旧版本中,我有这段代码:
moments = cv.Moments(mat, 0)
area = cv.GetCentralMoment(moments, 0, 0)
moment10 = cv.GetSpatialMoment(moments, 1, 0)
moment01 = cv.GetSpatialMoment(moments, 0,1)
并且一切正常,但现在我想用nev api(cv2)来做这件事。这是我的代码:
mask = cv2.inRange(hsv, lower_red, upper_red)
ret,thresh = cv2.threshold(mask,127,255,0)
image, contours, hierarchy = cv2.findContours(thresh,cv2.RETR_TREE,cv2.CHAIN_APPROX_SIMPLE)
cnt = contours[0]
M = cv2.moments(cnt)
area = cv2.contourArea(cnt)
我开始区域= 0.
或者也许不是计算面积,更好的解决方案是在白色区域周围绘制一个矩形,然后计算它的尺寸?