38、图像轮廓处理:OpenCV 中的轮廓查找与绘制

图像轮廓处理:OpenCV 中的轮廓查找与绘制

1. 引言

在图像处理中,边缘检测算法(如 Canny 边缘检测器)可用于找到图像中不同区域的边缘像素,但这些算法本身并未提供关于这些边缘的更多信息。下一步是将这些边缘像素组合成轮廓。OpenCV 提供了方便的函数 cv::findContours() 来完成这一任务。

2. 轮廓的基本概念
  • 轮廓的定义 :轮廓是一组点,以某种方式表示图像中的曲线。在 OpenCV 中,轮廓通常用 STL 风格的 vector<> 模板对象表示,其中向量的每个元素编码了曲线上下一个点的位置信息。常见的表示形式是二维点序列(如 vector<cv::Point> vector<cv::Point2f> ),但也有其他表示方式,例如 Freeman 链,其中每个点表示从前一个点沿给定方向的特定“步长”。
  • cv::findContours() 函数的输入图像 :该函数从二值图像中计算轮廓。它可以处理由 cv::Canny() 生成的包含边缘像素的图像,也可以处理由 cv::threshold() cv::adaptiveThreshold() 等函数生成的图像,其中边缘作为正负区域之间的边界隐含存在。
3. 轮廓层次结构 </
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值