OpenCV——findContours函数的使用(基于Mat轮廓处理基础)
来源:互联网 发布:打条码软件 编辑:程序博客网 时间:2024/06/06 01:52
mode的值决定把找到的轮廓如何挂到轮廓树节点变量(h_prev, h_next, v_prev, v_next)上。下图展示了四种可能的mode值所得到的结果的拓扑结构。
(a) (b)
图1 (a)原图示意图,(b)mode不同类型的拓扑结构
CV_RETR_EXTERNAL
只检测出最外轮廓即c0。图1中第一个轮廓指向最外的序列,除此之外没有别的连接。
CV_RETR_LIST
检测出所有的轮廓并将他们保存到表(list)中,图1中描绘了这个表,被找到的9条轮廓相互之间由h_prev和h_next连接。这里并没有表达出纵向的连接关系,没有使用v_prev和v_next.
CV_RETR_CCOMP
检测出所有的轮廓并将他们组织成双层的结构,第一层是外部轮廓边界,第二层边界是孔的边界。从图1可以看到5个轮廓的边界,其中3个包含孔。最外层边界c0有两个孔,c0之间的所有孔相互间由h_prev和h_next指针连接。
CV_RETR_TREE
检测出所有轮廓并且重新建立网状的轮廓结构。图1中,根节点是最外层的边界c0,c0之下是孔h00,在同一层中与另一个孔h01相连接。同理,每个孔都有子节点(相对于c000和c010),这些子节点和父节点被垂直连接起来。这个步骤一直持续到图像最内层的轮廓,这些轮廓会成为树叶节点。
CV_CHAIN_CODE
用freeman链码输出轮廓,其他方法输出多边形(顶点的序列)。通过实验证明是无法绘制出轮廓的。
CV_CHAIN_APPROX_NONE
将链码编码中的所有点转换为点。
CV_CHAIN_APPROX_SIMPLE
压缩水平,垂直或斜的部分,只保存最后一个点。
CV_CHAIN_APPROX_TC89_L1,CV_CHAIN_APPROX_TC89_KCOS
使用Teh-Chin链逼近算法中的一个。
CV_LINK_RUNS
与上述的算法完全不同,连接所有的水平层次的轮廓。
thickness=CV_FILLED
), the contour interiors are drawn”CV_OUT Point2f& center,//Point2f类型的center是求得的最小外接圆的中心坐标;
- OpenCV——findContours函数的使用(基于Mat轮廓处理基础)
- 使用OpenCV的函数findContours提取轮廓并绘制轮廓
- 使用OpenCV的findContours获取轮廓并切割(python)
- OpenCV轮廓、边缘、边界的相关函数cv::findContours()等
- [转]opencv轮廓提取(findcontours函数详解)
- OpenCV - findContours函数使用
- OpenCV中findContours函数的使用
- 利用OpenCV的findContours作轮廓检测
- OpenCV findContours 轮廓检索函数及轮廓特征计算
- opencv 轮廓查找 findContours
- findContours轮廓提取函数与drawContours轮廓绘制函数的使用
- 基于opencv,设置findcontours参数减提取中间轮廓
- Opencv笔记——findContours函数
- Opencv笔记——findContours函数
- findcontours查找轮廓函数
- OpenCV教程 之 寻找物体的轮廓与凸包:findContours、convexHull函数(C++)
- OpenCV示例学习笔记(1)-contours2.cpp-通过findContours 函数实现轮廓提取
- OpenCV入门九:使用findContours()查找图片轮廓线,并将轮廓线坐标点输出
- redis集群实现(四) 数据的和槽位的分配
- Java编程思想读书笔记——对象导论
- Java GC 变量含义(S0 S1 E O P YGC YGCT FGC FGCT GCT)
- Java Math类取整
- DelayQueue使用示例
- OpenCV——findContours函数的使用(基于Mat轮廓处理基础)
- 市场上各种深度摄像头测试之OPT8241
- Winform 刷新闪烁
- unity中EventSystem射线检测结果的排序规则
- redis集群实现(五) sentinel的架构与raft协议
- SpringMVC笔记——SSM框架搭建简单实例
- Java——反射机制
- bootstrap中table隐藏后显示问题
- 隐藏滚动条