(Python)从零开始,简单快速学机器仿人视觉Opencv---第二十节:轮廓的层次结构

  一般情况下我们称外部的形状为父,内部的形状为子。按照这种方式分类,一幅图像中的所有轮廓之间就建立父子关系。这样我们就可以确定一个轮廓与其他轮廓是怎样连接的,它是不是某个轮廓的子轮廓,或者是父轮廓。这种关系就成为组织结构。
在这里插入图片描述
  在这幅图像中,我给这几个形状编号为0-5。2和2a分别代表最外边矩形的外轮廓内状语从句:轮廓。
  在这里边轮廓0,1,2在外部或最外边。我们可以称他们为(组织结构)0级,简单来说就是他们属于同一级。接下来轮廓2a上。我们把它当成轮廓2的子轮廓。它就成为(组织结构)第1级。同样轮廓3是轮廓2的子轮廓,成为(组织结构)第2级。3a是3的子轮廓,为第3级。最后轮廓4,5是轮廓3a的子轮廓,成为(组织结构)4级(最后一级)。按照这种方式给这些形状编号,我们可以说轮廓4是轮廓3a的子轮廓(当然轮廓5也是)

opencv中的层次结构

  OpenCV使用一个包含四个元素的数组表示父子关系,【下一个,上一个,第一个孩子,父母】
  下一个表示同一级组织结构中的下一个轮廓。轮廓2的在同一级没有Next时,Next = -1。而轮廓4的Next为5所以它的Next =5。Previous相同轮廓结构中的前一个轮廓。
  与前一样轮廓1的上一个为轮廓0轮廓2的上一个为轮廓1。轮廓0没有上一个所以上一个=-1。First_Child示它的第一个子轮廓。
  轮廓2的子轮廓为2a。它的First_Child为2a。轮廓3a呢它有两个子轮廓。但是我们只第一个子轮廓所以是轮廓4按照从上往下从左往右的序排序。父表示是它的父轮廓。
  与FIRST_CHILD刚好相反。轮廓4和5的父轮廓是轮廓3a上。而轮廓图3a的父轮廓是3.
  【如果没有父或子,就为-1】

轮廓

  检索模式RETR_LIST从的度来看中应是简单的。它只是提取所有的轮廓而不去创建任何父子关系。换句就是“人人平等”它们属于同一级组织轮廓。
所以在种情况下组织结构数组的第三和第四个数是-1。但是很明显下一页和上一页有对应的值。
  RETR_EXTERNAL如果你择种模式的只会回外的的轮廓,所有的子轮廓会忽略掉。

总结

(这一节是这一个系列的最后一个教学篇,接下来会是一系列的实战演练。下个系列还是每周不定期更细,谢谢大家的支持!)

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值