39、轮廓处理的更多操作

轮廓处理的更多操作

在图像分析中,我们对轮廓可能有多种不同的处理需求。毕竟,大多数轮廓要么本身就是,要么可能成为我们想要识别或操作的对象。相关的任务包括对轮廓进行特征描述、简化或近似、与模板进行匹配等等。本文将介绍一些常见的轮廓处理任务,以及OpenCV中实现这些任务的相关函数。

1. 多边形近似

在绘制轮廓或进行形状分析时,通常会用一个顶点更少的轮廓来近似表示一个多边形轮廓。实现这一目标有多种方法,OpenCV提供了其中两种方法的实现。

1.1 使用 cv::approxPolyDP() 进行多边形近似

cv::approxPolyDP() 函数是其中一种算法的实现,其函数原型如下:

void cv::approxPolyDP(
  cv::InputArray  curve,       // 二维点的数组或向量
  cv::OutputArray approxCurve, // 结果,类型与 'curve' 相同
  double          epsilon,     // 'curve' 到 'approxCurve' 的最大距离
  bool            closed       // 如果为 true,则假设最后一个顶点与第一个顶点相连
);

该函数每次处理一个多边形,输入的多边形由 curve 参数指定,输出结果将存储在 approxCurve 输出数组中。这些多边形可以用STL向量

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值