OpenCV轮廓分层

OpenCV中的分级表示

每个轮廓都有它自己的信息关于它是什么层次,谁是它的孩子,谁是它的父母等等。OpenCV将它表示为一个包含四个值的数组: [Next, Previous, First_Child, Parent],如果没有子元素或父元素,则该字段被视为-1。

  • Next表示同一层次的下一个轮廓。
  • Previous表示同一层次上的先前轮廓。
  • First_Child表示它的第一个子轮廓。
  • Parent表示其父轮廓的索引。

轮廓检索模式

1. RETR_LIST

它只是检索所有的轮廓,但不创建任何亲子关系。在这个规则下,父轮廓和子轮廓是平等的,他们只是轮廓。他们都属于同一层级。

例子如下:
在这里插入图片描述

轮廓编号NextPreviousFirst_Child,Parent
01-1-1-1
120-1-1
231-1-1
342-1-1
453-1-1
564-1-1
675-1-1
7-16-1-1

2. RETR_EXTERNAL

如果使用此标志,它只返回极端外部标志。所有孩子的轮廓都被留下了。即只关注等级0级成员。

例子如下:(图同上)

轮廓编号NextPreviousFirst_Child,Parent
01-1-1-1
120-1-1
2-11-1-1

3. RETR_CCOMP

此标志检索所有轮廓并将其排列为2级层次结构。物体的外部轮廓(即物体的边界)放在层次结构-1中。对象内部孔洞的轮廓(如果有)放在层次结构-2中。如果其中有任何对象,则其轮廓仅在层次结构1中重新放置。以及它在层级2中的漏洞等等。

例子如下:
在这里插入图片描述

轮廓编号NextPreviousFirst_Child,Parent
03-11-1
12-1-10
2-11-10
3504-1
4-1-1-13
5736-1
6-1-1-15
785-1-1
8-17-1-1

4. RETR_TREE

它检索所有的轮廓并创建一个完整的家族层次结构列表。它甚至告诉,谁是爷爷,父亲,儿子,孙子,甚至更多。

例子如下:
在这里插入图片描述

轮廓编号NextPreviousFirst_Child,Parent
07-11-1
1-1-120
2-1-131
3-1-142
4-1-153
56-1-14
6-15-14
780-1-1
8-17-1-1
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值