轮廓处理的更多操作
在图像分析中,我们对轮廓可能有多种不同的处理需求。毕竟,大多数轮廓要么本身就是,要么可能成为我们想要识别或操作的对象。相关的任务包括对轮廓进行特征描述、简化或近似、与模板进行匹配等等。本文将介绍一些常见的轮廓处理任务,以及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向量
超级会员免费看
订阅专栏 解锁全文
2476

被折叠的 条评论
为什么被折叠?



