OpenCV学习笔记16 OpenCV图像处理模块ImgProc Module. Image Processing(九)

本文介绍了OpenCV中的图像矩概念,这是用于形状分析和图像特征提取的重要工具。同时,文章还讲解了如何进行点多边形测试,这是判断点是否在多边形内的算法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

3.24 图像矩 - Image Moments


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

/** @thresh_callback 函数 */
void thresh_callback(int, void* )
{
  Mat canny_output;
  vector<vector<Point> > contours;
  vector<Vec4i> hierarchy;

  /// 使用Canndy检测边缘
  Canny( src_gray, canny_output, thresh, thresh*2, 3 );
  /// 找到轮廓
  findContours( canny_output, contours, hierarchy, CV_RETR_TREE, CV_CHAIN_APPROX_SIMPLE, Point(0, 0) );

  /// 计算矩
  vector<Moments> mu(contours.size() );
  for( int i = 0; i < contours.size(); i++ )
     { mu[i] = moments( contours[i], false ); }

  ///  计算中心矩:
  vector<Point2f> mc( contours.size() );
  for( int i = 0; i < contours.size(); i++ )
     { mc[i] = Point2f( mu[i].m10/mu[i].m00 , mu[i].m01/mu[i].m00 ); }

  /// 绘制轮廓
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值