OpenCV 4.2.0:入门级图片轮廓提取示例
需积分: 12 181 浏览量
更新于2024-09-04
收藏 2KB TXT 举报
在本篇教程中,我们将深入探讨OpenCV 4.2.0版本如何进行图片轮廓提取。OpenCV是一个广泛应用于计算机视觉和图像处理领域的开源库,对于初学者来说,理解并掌握基本的图像处理技术是入门的重要一步。本文提供的程序代码展示了如何使用OpenCV 4.2.0对一张图片(如"F://02.jpg")进行轮廓提取,以实现边缘检测和轮廓识别。
首先,程序包含了必要的库头文件,如`highgui.hpp`、`imgproc.hpp`和`iostream`,以及OpenCV的命名空间`cv`和`std`。全局变量如`g_srcImage`(源图像)、`g_grayImage`(灰度图像)、`g_cannyOutput`(Canny边缘检测结果)等被声明,用于存储图像的不同阶段数据。
加载源图像后,程序将图像转换为灰度并应用低通滤波(模糊处理),这有助于减少噪声,提高边缘检测的准确性。然后,通过`namedWindow`函数创建一个窗口,展示原始图像,并使用`createTrackbar`创建一个阈值滑动条,用户可以通过调整滑动条来控制Canny算子的阈值范围。
`on_ThreshChange`回调函数是程序的核心部分。在这个函数中,首先调用`Canny`函数,它基于两个阈值(`g_nThresh`和`g_nThresh * 2`)对灰度图像进行边缘检测。Canny算法是一种多级边缘检测方法,能够有效地分离噪声和边缘,返回一个二值图像。
接下来,`findContours`函数被用来查找`g_cannyOutput`中的轮廓。参数`RETR_TREE`表示返回轮廓的层次结构,而`CHAIN_APPROX_SIMPLE`则使结果更紧凑,只保留轮廓的顶点。`g_vContours`和`g_vHierarchy`分别存储找到的轮廓集合和轮廓之间的层次关系。
最后,程序在主函数中展示原始图像和Canny边缘检测后的结果,通过滑动条改变阈值,观察轮廓提取效果的变化。这个过程是图像分析中的基础步骤,对于目标检测、物体识别等应用场景至关重要。
本文提供的OpenCV 4.2.0图片轮廓提取示例,展示了如何通过Canny边缘检测和轮廓查找功能,从图像中提取出关键特征,这对于图像处理初学者来说是一个很好的实践机会。通过这段代码,你可以学习到如何利用OpenCV处理图像、设置阈值和处理边缘,从而进一步探索更复杂的图像分析任务。
2020-03-15 上传
2020-02-20 上传
2020-03-04 上传
2020-04-29 上传
2021-03-31 上传
2023-09-20 上传
weixin_46705069
- 粉丝: 0
- 资源: 1
最新资源
- weixin057马拉松报名系统微信小程序+ssm(源码+部署说明+演示视频+源码介绍+lw).rar
- BrainLog:在研究环境中记录Emotiv Epoc会话的工具
- 古木五子棋人机对战易语言年大赛一等奖-易语言.zip
- 基于C语言实现黑白棋ai游戏源码(含源代码+使用说明+毕业设计).rar
- ErrorTracking:跟踪 JavaScript 错误
- Clip:灵活的文档创建者
- matlab开发-定价的网格方法.zip
- pretend-send:练习文本交流的工具
- docker2、k8s安装
- AD元件库3D模型连接器.zip
- 基于java的-356-基于SSM的电影售票系统-源码.zip
- rip-dvd-开源
- 行业分类-设备装置-大众创业电商平台.zip
- SBI - Small Bytecode Interpreter:SBI-一种小字节码解释器,可通过SD在AVR上运行程序-开源
- 前端面试大全,自己整理
- munkres:用于二部匹配的匈牙利算法的 C++ 实现