| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 人工智能 -> 用实际例子详细探究OpenCV的轮廓检测函数findContours()彻底搞清每个参数、每种模式的真正作用与含义 -> 正文阅读 |
|
[人工智能]用实际例子详细探究OpenCV的轮廓检测函数findContours()彻底搞清每个参数、每种模式的真正作用与含义 |
关于OpenCV的轮廓检测函数findContours()各参数的大概意义,已在博文 https://blog.csdn.net/wenhao_ir/article/details/51798533中进行了介绍。 这篇博文以实际例子来进一步认识函数findContours()各参数的意义,这篇博文实际上是上篇博文的延伸和深入。 我们用下边这张简单的图像为例进行测试和说明:
运行结果如下: 接下来开始分析运行结果: 目录01-轮廓是以怎样的数据结构进行存储的?从上面的运行结果可以看出,检测出了两个轮廓,存放在列表型对象cnts中的,如下图所示: 02-轮廓检测模式(参数mode)对轮廓检测结果及轮廓拓扑结构(hiararchy)的影响02-1-轮廓检测模式为RETR_TREE时的结果及分析上面的示例代码便是轮廓检测模式为RETR_TREE时的结果,RETR_TREE模式表示返回所有的轮廓,并且建立完整的拓扑结构。 再回到对图片ring.bmp的轮廓检测结果,我们来看下其拓扑结构的具体数值: 02-2-轮廓检测模式为RETR_EXTERNAL时的结果及分析RETR_EXTERNAL轮廓检测模式代表只检测最外层轮廓,对所有轮廓设置hierarchy[i][2]= hierarchy[i][3]=-1,即没有子轮廓与父轮廓。
修改为:
即可修改为RETR_EXTERNAL轮廓检测模式。 02-3-轮廓检测模式为CV_RETR_CCOMP时的结果及分析CV_RETR_CCOMP轮廓检测模式提取所有轮廓,并且将其组织为双层结构。顶层(the top levell)为连通域的外围边界,次层(the second level)为孔(hole)的内层边界,如果孔(hole)中还有其它轮廓,那么又依次被组织为顶层和次层,即整个轮廓拓扑结构就只有两层。 只看上面这段话,相信诸君还是对这种轮廓检测模式具体是怎么操作的不是很清晰,没关系,我们看一个实际例子就清楚明白了。 将轮廓检测语句修改为:
运行结果如下: 至此,我们可以总结一下:在RETR_TREE模式下,同一个轮廓既可以作为别的轮廓的父轮廓,也可作为别的轮廓的子轮廓;在RETR_CCOMP模式下,由于只将轮廓组织为两层,所以同一个轮廓只要作了某个轮廓的父轮廓或子轮廓,那么就再也不能做别的轮廓的子轮廓或父轮廓了。再换一种说法,即假如一个轮廓作了某个轮廓的父轮廓,那么它就再不能做别的轮廓的子轮廓;假如一个轮廓作了某个轮廓的子轮廓,那么它就再不能做别的轮廓的父轮廓。 02-04-轮廓检测模式为CV_RETR_LIST时的结果及分析CV_RETR_LIST轮廓检测模式下,返回所有的轮廓,但是不建立轮廓的拓扑关系,我们还是以图片小白兔手绘图片“img_300_320.jpg”为例来看下这种情况下的运行结果。
运行结果如下: 03-轮廓近似方法参数method的检测结果的影响参数method表示算法采用的轮廓近似方法,有以下可选参数:
CV_CHAIN_APPROX_NONE下的检测结果如下:
至此,我们便对轮廓检测函数findContours()的四个最难理解的参数contours、hiararchy、mode、method有了深入细致的认识,在图像处理的任务中使用轮廓检测函数findContours()时便会更加有的放矢了。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 0:30:01- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |