轮廓坐标不准确/平滑

时间:2016-04-20 21:41:21

标签: python opencv

我正在研究人员计数器系统,我通过以下代码获取每个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

现在我得到的矩形的坐标不平滑。而且我得到的圆心不稳定。任何人都可以建议一个更好的解决方案,以获得每个斑点/轮廓的坐标,这是不容易产生噪音和稳定的吗?我的移动过于任性,中心的移动不是线性的。  如果有不同的算法,请建议。感谢。

0 个答案:

没有答案