Imgproc.findContours函数
//****************************************************************
转载于http://www.cnblogs.com/chenjianxiang/p/4225782.html
****************************************************************//
OpenCV里支持很多边缘提取的办法,可是如何在一幅图像里得到轮廓区域的参数呢,这就需要用到findContours函数,这个函数在OpenCV4Android的原型为:
void org.opencv.imgproc.Imgproc.findContours(Mat image, List<MatOfPoint> contours, Mat hierarchy, int mode, int method)
image参数为已经二值化的原图
contours参数为检测的轮廓数组,每一个轮廓用一个MatOfPoint类型的List表示
hiararchy参数和轮廓个数相同,每个轮廓contours[i]对应4个hierarchy元素hierarchy[i][0] ~hierarchy[i][3],分别表示后一个轮廓、前一个轮廓、父轮廓、内嵌轮廓的索引编号,如果没有对应项,该值设置为负数。
mode表示轮廓的检索模式例如:
CV_RETR_EXTERNAL表示只检测外轮廓
CV_RETR_LIST检测的轮廓不建立等级关系
CV_RETR_CCOMP建立两个等级的轮廓,上面的一层为外边界,里面的一层为内孔的边界信息。如果内孔内还有一个连通物体,这个物体的边界也在顶层。
CV_RETR_TREE建立一个等级树结构的轮廓。
method为轮廓的近似办法
CV_CHAIN_APPROX_NONE存储所有的轮廓点,相邻的两个点的像素位置差不超过1,即max(abs(x1-x2),abs(y2-y1))==1
CV_CHAIN_APPROX_SIMPLE压缩水平方向,垂直方向,对角线方向的元素,只保留该方向的终点坐标,例如一个矩形轮廓只需4个点来保存轮廓信息
CV_CHAIN_APPROX_TC89_L1,CV_CHAIN_APPROX_TC89_KCOS使用teh-Chinl chain 近似算法
findContours经常与drawContours配合使用,用来将轮廓绘制出来。还可以得到轮廓的外包络矩形,使用函数boundingRect,如果想得到旋转的外包络矩形,使用函数minAreaRect,返回值为RotatedRect;
也可以得到轮廓的外包络圆,对应的函数为minEnclosingCircle;想得到轮廓的外包络椭圆,对应的函数为fitEllipse,返回值也是RotatedRect;可以用ellipse函数画出对应的椭圆。
Imgproc.findContours函数相关推荐
- findcontours函数_opencv轮廓findContoursamp;drawContours
本文目的 目的:学习使用opencv的findContours和drawContours函数 语言:java 版本:opencv-410 简介:通过findContours函数检测物体轮廓,并且用dr ...
- OpenCV findContours函数参数
目录 OpenCV findContours函数参数 python检测外轮廓: c++轮廓检测: 一.mode取值"CV_RETR_EXTERNAL",method取值" ...
- findContours函数
1.findContours函数 函数的作用: 查找图像的轮廓 2.findContours函数,这个函数的原型为: void findContours(InputOutputArray image, ...
- 【图像处理】——Python+opencv实现二值图像的轮廓边界跟踪以及轮廓面积周长的求解(findcontours函数和contourArea函数)
目录 一.函数 cv.findContours 二.轮廓层级(返回参数hierarchy) 三.轮廓寻找方式 1. RETR_LIST 2. RETR_TREE 3. RETR_EXTERNAL 4. ...
- opencv cv.findContours 函数详解
函数 cv.findContours contours, hierarchy = cv.findContours( image, mode, method[, contours[, hierarchy ...
- findContours函数报错:“将一个无效参数传递给了将无效参数视为严重错误的函数”解决方案之一
在使用findContours函数时,release可以通过,debug一直在报错:"将一个无效参数传递给了将无效参数视为严重错误的函数". 这里有个大牛汇集的好多种解决方法: h ...
- python-opencv2利用cv2.findContours()函数来查找检测物体的轮廓
轮廓检测 轮廓检测也是图像处理中经常用到的.OpenCV-Python接口中使用cv2.findContours()函数来查找检测物体的轮廓. 实现 使用方式如下: import cv2 img ...
- findContours()函数存储在contours中的数据形式
findcontou()函数的运用一般都与vector<vector<Point>>Contours;和vector<Vec4i> Hierarchy这两个函数一起 ...
- findContours函数详细解析
1: image, cnts, hierarchy = cv2.findContours(a,b,c)//寻找图形中的轮廓 传入的参数:a:传入的图像(二值化图像)b:轮廓的检索模式,一般是检测外轮廓 ...
最新文章
- Numba——python面向数组高性能计算库
- 飞行熊猫游戏源码android版
- python白名单验证-Python中XSS白名单过滤的实现
- 【C 语言】字符串模型 ( 字符串翻转模型 )
- Hadoop SequnceFile.Writer 压缩模式及压缩库浅析
- 系统设计4:Web服务和流量限制
- 刷新DNS解析缓存+追踪+域名解析命令
- C++ MFC string转Cstring为什么会乱码
- python独立图形_在networkx中查找图形对象中的独立图形
- 互联网公司面试必问的mysql题目
- java lock unlock_【Java并发007】原理层面:ReentrantLock中lock()、unlock()全解析
- Akka的Actor层级结构《seven》译
- TypeScript笔记(4)—— TypeScript中的类型注解
- spring核心知识点分析
- APP推广运营经验总结
- 计算机九针孔什么接口,db9接口-USBCAN-I设备的DB9针串口头中的针脚是如何定义的-电气资讯 - 电工屋...
- html tooltips效果,CSS3+jQuery轻松实现工具提示(Tooltips)
- 计算机论文指导记录范本,论文指导内容记录怎么写 3篇 论文指导记录20篇
- Tez的web UI简单体验
- 用什么软件测试mate9的闪存_荣耀v9怎么看闪存类型 荣耀v9怎么测试闪存
热门文章
- winrar 去广告_解压缩工具之WinRAR下载安装教程
- Bzoj 3226: [Sdoi2008]校门外的区间
- 【Openstack】【Nova】开发者入门,开发工作流
- python元组和列表都支持的方法是_Python进阶1-元组和列表
- autojs toast 可以改变字体颜色吗_你手中的渠道货够硬吗?看完这期 OFF WHITE x AIR JORDAN 5 对比,你就知道了!...
- python 三分类的哑编码_python数据挖掘实战 -数据预处理篇(数据可视化-空值填充-哑变量编码)...
- python行与缩进_Python行结构与缩进的简单介绍
- java环境变量_Java的下载及环境变量的配置
- sql alwayson群集 registerallprovidersip改为0_前沿观察 | 分布式SQL性能对比
- UE4 移动平台游戏开发