如何在Python OpenCV中获得角度和行长度

时间:2014-04-01 08:40:18

标签: python algorithm opencv math geometry

我有一大堆代码可以从凸性缺陷中获取开始,结束,远变量:

        hull = cv2.convexHull(cnt,returnPoints = False)
        defects = cv2.convexityDefects(cnt,hull)

        for i in range(defects.shape[0]):
            s,e,f,d = defects[i,0]
            start = tuple(cnt[s][0])
            end = tuple(cnt[e][0])
            far = tuple(cnt[f][0])

            cv2.line(res,far,end,[0,255,0],2)
            cv2.line(res,start,far,[0,255,0],2)

如果出现以下情况,我需要从手指上消除凸起缺陷:

line_length <0.4lbb且角度> 80°

那么如何从起始,结束,远变量中获取角度和线长值?从给定的规则中解除凸性缺陷?

修改

如果我使用这段代码,我会从我给定的代码中得到角度吗?

angle = int(math.atan((start[0]-start[1])/(end[0]-end[1]))*180/math.pi)

0 个答案:

没有答案