import cv2
img = cv2.imread( 'E:\A.jpeg' )
cv2.imshow( 'img', img ) gray = cv2.cvtColor( img, cv2.COLOR_BGR2GRAY )
ret, binary = cv2.threshold( gray, 127, 255, cv2.THRESH_BINARY ) contours, hierarchy = cv2.findContours( binary, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE )
cv2.drawContours( img, contours, -1, ( 160, 240, 120 ), 3 ) cv2.imshow( 'img1', img )
cv2.waitKey( 0 )
cv2.destroyAllWindows()

cv2.findContours()函数:

參数:

參1(是寻找轮廓的图像)

參2(表示轮廓的检索模式)有四种:

(1).cv2.RETR_EXTERNAL 仅仅检測外轮廓

(2).cv2.RETR_LIST 检測的轮廓不建立等级关系

(3).cv2.RETR_CCOMP 建立两个等级的轮廓,

上面的一层为外边界。

里面的一层为内孔的边界信息。

假设内孔内另一个连通物体,

这个物体的边界也在顶层

(4).cv2.RETR_TREE 建立一个等级树结构的轮廓



參3(method为轮廓的近似办法):

(1)cv2.CHAIN_APPROX_NONE 存储全部的轮廓点,

相邻的两个点的像素位置差不超过1,

即max(abs(x1-x2),abs(y2-y1))==1

(2).cv2.CHAIN_APPROX_SIMPLE 压缩水平方向。

垂直方向,对角线方向的元素,

仅仅保留该方向的终点坐标。

比如一个矩形轮廓仅仅需4个点来保存轮廓信息

(3).cv2.CHAIN_APPROX_TC89_L1,CV_CHAIN_APPROX_TC89_KCOS

使用teh-Chinl chain 近似算法



返回值:

值1:

是轮廓本身。

值2:

每条轮廓相应的属性。

OpenCV -- 获取轮廓照片的更多相关文章

  1. Python OpenCV4获取轮廓最大内切圆和外接圆

    为了方便讲解,我们先来创建一个多边形做演示 第一步:创建图像,并绘制一个六边形.代码和生成图像如下: # Create an image r = 100 src = np.zeros((4*r, 4* ...

  2. OpenCV—Python 轮廓检测 绘出矩形框(findContours\ boundingRect\rectangle

    千万注意opencv的轮廓检测和边缘检测是两码事 本文链接:https://blog.csdn.net/wsp_1138886114/article/details/82945328 1 获取轮廓 O ...

  3. OpenCV获取IP摄像头视频

    从开源中国博客搬来,合并博客 实验室做一个智能小车的小项目,期间涉及到在PC端处理小车摄像头的视频.这里先用安卓手机代替一下进行试验.大致流程就是手机摄像头获取视频,开启一个IP摄像头服务软件,在局域 ...

  4. 【python+opencv】轮廓发现

    python+opencv---轮廓发现 轮廓发现---是基于图像边缘提取的基础寻找对象轮廓的方法, 所有边缘提取的阈值选定会影响最终轮廓发现的结果. 介绍两种API使用: -cv.findConto ...

  5. 【opencv】轮廓相关

    IplImage* contours_rect; IplImage* contours; CvMemStorage* countours_storage=NULL; if(contours_rect= ...

  6. 学习opencv跟轮廓相关的

    查找轮廓 轮廓到底是什么?一个轮廓一般对应一系列的点,也就是图像中的一条曲线.表示的方法可能根据不同情况而有所不同.有多重方法可以表示曲线.在openCV中一般用序列来存储轮廓信息.序列中的每一个元素 ...

  7. OpenCV 矩形轮廓检测

    转载请注明出处:http://blog.csdn.net/wangyaninglm/article/details/44151213, 来自:shiter编写程序的艺术 基础介绍 OpenCV里提取目 ...

  8. OpenCV 查找轮廓

    本文将结合实例代码,介绍 OpenCV 如何查找轮廓.获取边界框. 代码: contours.py OpenCV 提供了 findContours 函数查找轮廓,需要以二值化图像作为输入.并指定些选项 ...

  9. mono for android 获取手机照片或拍照并裁剪保存

    axml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android ...

随机推荐

  1. Java中堆和栈创建对象的区别

    http://blog.csdn.net/hbhhww/article/details/8152838

  2. SPRING IN ACTION 第4版笔记-第六章RENDERING WEB VIEWS-002- Spring的JSP标签之form标签(<sf:input><sf:errors><sf:form>)

    一. Spring offers two JSP tag libraries to help define the view of your Spring MVC web views. One tag ...

  3. html5 高级动画精灵

    <!DOCTYPE HTML> <html lang="en-US"> <head> <meta charset="UTF-8& ...

  4. java的异常处理机制(try…catch…finally)

    1 引子try…catch…finally恐怕是大家再熟悉不过的语句了,而且感觉用起来也是很简单,逻辑上似乎也是很容易理解.不过,我亲自体验的“教训”告诉我,这个东西可不是想象中的那么简单.听话.不信 ...

  5. jni.h头文件详解二

    作者:左少华 博客:http://blog.csdn.net/shaohuazuo/article/details/42932813 转载请注明出处:http://blog.csdn.net/shao ...

  6. hdu4648Magic Pen 6

    http://acm.hdu.edu.cn/showproblem.php?pid=4648 求连续的一段和对m取余为0  若s[j]和s[i]对M的余数都相同 则相见就满足要求 找个最长的 #inc ...

  7. eclipse代码格式化

    今天想要改变Eclipse的代码颜色和背景等等,如果一项一项来,太麻烦了,于是从网上找了个epf文件,但是一开始不知道怎么弄,因为自己是个新手, 对于编译环境不太熟悉,后来找到方法,就是打开Eclip ...

  8. Com和DCOM

    COM,DCOM原理及应用 1.DCOM COM的进程透明特性表现在组件对象和客户程序即可以拥有各自的进程空间,也可以共享同一个进程空间,COM负责把客户的调用正确传到组件对象中,并保证参数传递的正确 ...

  9. Fatjar成功安装记录

    1.FatJar安装方式 (1)在线安装 具体网址http://kurucz-grafika.de/fatjar (2)离线安装 将fatjar的jar放到plugins文件夹中,重启 2. 安装失败 ...

  10. centos解决ping unknown host的问题

    当ping www.baidu.com 的时候如果出现 unknown host的提示 再ping一下IP, ping 8.8.8.8 如果此时能ping通,那么就是DNS服务器没有设置,不能解析域名 ...