我正在研究人员计数器系统,我通过以下代码获取每个blob的坐标:
contours, hierarchy = cv2.findContours(thresh, cv2.RETR_TREE,cv2.CHAIN_APPROX_NONE)
try: hierarchy = hierarchy[0]
except: hierarchy = []
for contour, hier in zip(contours, hierarchy):
(x,y),radius = cv2.minEnclosingCircle(contour)
center = (int(x),int(y))
radius = int(radius)
if radius>3:
cv2.circle(frame,center,1,(0,255,0),-1)
if x>400 and x<450:
if (abs(prev_x-x))>25:
cv2.circle(frame,center,1,(0,255,0),-1)
j=j+1
prev_x=x
现在我得到的矩形的坐标不平滑。而且我得到的圆心不稳定。任何人都可以建议一个更好的解决方案,以获得每个斑点/轮廓的坐标,这是不容易产生噪音和稳定的吗?我的移动过于任性,中心的移动不是线性的。 如果有不同的算法,请建议。感谢。