Opencv获取最小外接矩形——minAreaRect
2017-05-13 15:57
507 查看
//!computes the minimal rotated rectangle for a set of points
RotatedRect minAreaRect(InputArray points);//计算一些列点的最小外接矩形,带角度信息
C++: RotatedRect minAreaRect(InputArray points)
Python: cv2.minAreaRect(points) → retval
C: CvBox2D cvMinAreaRect2(const CvArr* points, CvMemStorage* storage=NULL )
Python: cv.MinAreaRect2(points, storage=None) → Box2D
Parameters:points-
Input vector of 2D points ,stored in:
1: std::vector<>or Mat (c++ interface)
2:CvSeq * or CvMat *(C interface)
3:Nx2 numpy array(python interface)
测试案例:
RotatedRect minAreaRect(InputArray points);//计算一些列点的最小外接矩形,带角度信息
C++: RotatedRect minAreaRect(InputArray points)
Python: cv2.minAreaRect(points) → retval
C: CvBox2D cvMinAreaRect2(const CvArr* points, CvMemStorage* storage=NULL )
Python: cv.MinAreaRect2(points, storage=None) → Box2D
Parameters:points-
Input vector of 2D points ,stored in:
1: std::vector<>or Mat (c++ interface)
2:CvSeq * or CvMat *(C interface)
3:Nx2 numpy array(python interface)
测试案例:
vector<Vec4i> hierarchy; vector<vector<Point>> contours; findContours(src, contours, hierarchy, RETR_LIST, CHAIN_APPROX_SIMPLE, Point(0, 0)); vector<vector<Point>>::iterator iter = contours.begin(); RotatedRect resultRect; while (iter != contours.end()) { resultRect = minAreaRect(*iter);//获取轮廓的最小外接矩形 Point2f pt[4]; resultRect.points(pt);//获取最小外接矩形的四个顶点坐标 //绘制最小外接矩形 line(src, pt[0], pt[1], Scalar(255, 0, 0), 2, 8); line(src, pt[1], pt[2], Scalar(255, 0, 0), 2, 8); line(src, pt[2], pt[3], Scalar(255, 0, 0), 2, 8); line(src, pt[3], pt[0], Scalar(255, 0, 0), 2, 8); cout << "*******************************" << endl; cout << "X坐标" << resultRect.center.x << "Y坐标" << resultRect.center.y << "偏移角度"<<resultRect.angle<<endl; cout << "*******************************" << endl; }
相关文章推荐
- opencv 寻找最小矩形minAreaRect 的角度问题
- 【opencv】最小包围矩形minAreaRect与最小包围圆minEnclosingCircl详解
- python opencv minAreaRect 生成最小外接矩形
- OpenCV3.0 Examples学习笔记(16)-minarea.cpp-minAreaRect,minEnclosingTriangle,minEnclosingCircle获取点集外接形状
- 利用minAreaRect求轮廓最小外接矩形
- opencv6-最小外接矩形minAreaRect
- 利用minAreaRect计算平面矩形的旋转角度
- minAreaRect-OpenCV
- python-opencv 的minAreaRect的详解
- 利用minAreaRect计算平面矩形的旋转角度
- minAreaRect-OpenCV
- 使用OpenCv的cvMinAreaRect2函数获取轮廓的可倾斜最小矩形区域
- Opencv寻找轮廓的最小外接矩形,并获取矩形的中心点,旋转角度
- opencv之2D点集最小外包矩形和圆形
- 实现一个栈(元素遵守先入后出顺序),能够通过 min 方法在 O(1)时间内获取栈中的最小元素。同时,栈的基本操作:入栈(Push)、出栈(Pop),也是在O(1)时间内完成的
- Opencv绘制最小外接矩形、最小外接圆
- opencv之轮廓最小外接矩形和最小外接圆
- MatOfPoint作为minAreaRect的参数总是报错"throw new IllegalArgumentException("Incomatible Mat");
- opencv 轮廓的长度,面积,外接矩形(平行坐标轴),处接最小矩形,处接圆 , 椭圆
- 輪廓包覆(boundingRect、minAreaRect、minEnclosingCircle)