OpenCV学习笔记(十一) 轮廓操作

来源:互联网 发布:我的世界手机版0.15js 编辑:程序博客网 时间:2024/06/05 03:01

在图像中寻找轮廓

首先利用Canny算子检测图像的边缘,再利用Canny算子的输出作为 寻找轮廓函数 findContours 的输入。最后用函数 drawContours 画出轮廓。边界Countour利用 vector<vector<Point> > 类型变量进行存储。findContour参数详细见此。

计算物体的凸包

将寻找轮廓的输出作为 函数 convexHull 的输入寻找凸包。凸包Hull也是利用 vector<vector<Point> > 类型变量进行存储,故也可以直接用函数 drawContours 画出轮廓。

创建包围轮廓的矩形和圆形边界框

  • 使用OpenCV函数 boundingRect 来计算包围轮廓的矩形框.
  • 使用OpenCV函数 minEnclosingCircle 来计算完全包围已有轮廓最小圆.
  • approxPolyDP 多边形逼近轮廓

轮廓矩

  • 使用OpenCV函数 moments 计算图像所有的矩(最高到3阶)
  • 使用OpenCV函数 contourArea 来计算轮廓面积
  • 使用OpenCV函数 arcLength 来计算轮廓或曲线长度

多边形测试

  • 使用OpenCV函数 pointPolygonTest
0 0