| |
|
开发:
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()得到的轮廓拓扑结构(hiararchy)矩阵的意义、以及怎样用轮廓拓扑结构矩阵绘制轮廓拓扑结构图 -> 正文阅读 |
|
[人工智能]详解用OpenCV的轮廓检测函数findContours()得到的轮廓拓扑结构(hiararchy)矩阵的意义、以及怎样用轮廓拓扑结构矩阵绘制轮廓拓扑结构图 |
这篇博文是对博文https://blog.csdn.net/wenhao_ir/article/details/125537919和博文https://blog.csdn.net/wenhao_ir/article/details/51798533的延伸。 为了搞清楚轮廓检测函数findContours()得到的轮廓拓扑结构(hiararchy)的含义,我们用下面的两个例子来实际测试,并对结果进行分析就能完全搞清楚其意义了。 在运行例子前我们先回顾一下我在博文https://blog.csdn.net/wenhao_ir/article/details/51798533中对函数findContours()的参数hiararchy的介绍。
好,回顾完上面这个知识点之后我们开始用实例来说明。 首先是下面这张图片: 检测其轮廓的代码如下:
我利用博文https://blog.csdn.net/wenhao_ir/article/details/125573892中的代码将各轮廓单独输出成图像,结果如下: 回到正题,上面的代码检测到的轮廓拓扑结构如下: 根据上面的轮廓拓扑结构我可以绘制出其轮廓拓扑结构图如下: 接下来我们看拓扑结构图中第二层(包括第二层)以下的层级轮廓存在共同父轮廓的例子。
博文https://blog.csdn.net/wenhao_ir/article/details/125573892中有这幅图像轮廓检测结果的每个轮廓的单独输出图像。 检测结果如下:
这个例子的第1号轮廓有12个子轮廓,索引号分别为2、3、4、5、6、7、8、9、10、11、12、25,即这些轮廓有共同的父轮廓1,所以轮廓2、3、4、5、6、7、8、9、10、11、12、25的结构矩阵中的上一个和下一个轮廓的值不为-1,在轮廓结构中体现出来为它们处于同一层并且左右两边有轮廓。 这里就有一个问题,1号轮廓有12个子轮廓,那么其轮廓结构中的第3个表示子轮廓索引的值为多少呢?我们看到,是2,即其第1个子轮廓。同样,12号轮廓有11个子轮廓,那么其轮廓结构中的第3个表示子轮廓索引的值为多少呢?我们看到,是13,也是其第1个子轮廓。所以通过这个例子,我们就明白了当一个轮廓有多个子轮廓值时,其子轮廓的索引值填的是哪个子轮廓。 至此,通过这两个例子,我们就把轮廓拓扑结构(hiararchy)矩阵的意义彻底搞清楚了。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
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 1:54:58- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |