python opencv minAreaRect生成最小外接矩形的方法

  

使用python opencv返回点集问的最小外接矩形,所用函数为cv2.minAreaRect(问),问是点集数组或向量(里面存放的是点的坐标),并且这个点集不定个数。

  

举例说明:画一个任意四边形(任意多边形都可以)的最小外接矩形,那么点集,问存放的就是该四边形的4个顶点坐标(点集里面有4个点)

        问=np.array (((x1, y1), (x2, y2), [x3, y3], [x4, y4]]) #必须是数组数组的形式   矩形=cv2.minAreaRect (cnt) #得到最小外接矩形的(中心(x, y)(宽高),旋转角度)   盒=cv2.cv.BoxPoints(矩形)# cv2.boxPoints OpenCV 3(矩形)。x获取最小外接矩形的4个顶点坐标   盒=np.int0(盒)   之前      

函数cv2.minAreaRect()返回一个Box2D结构矩形:(最小外接矩形的中心(x, y)(宽度,高度),旋转角度),但是要绘制这个矩形,我们需要矩形的4个顶点坐标盒,通过函数cv2.cv.BoxPoints()获得,返回形式(x0, y0, (x1, y1), (x2, y2), [x3, y3]]。得到的最小外接矩形的4个顶点顺序,中心坐标,宽度,高度,旋转角度(是度数形式,不是弧度数)的对应关系如下:

  

 python opencv minAreaRect生成最小外接矩形的方法

  

注意:   

      <李>旋转角度θ是水平轴(x轴)逆时针旋转,与碰到的矩形的第一条边的夹角。并且这个边的边长是宽,另一条边边长是高度。也就是说,在这里,宽度与高度不是按照长短来定义的。   <李>在opencv中,坐标系原点在左上角,相对于x轴,逆时针旋转角度为负,顺时针旋转角度为正,所以,θ∈(-90度,0]。
      李   
  

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

python opencv minAreaRect生成最小外接矩形的方法