import cv2

#加载图像

img=cv2.imread('rectangle.jpg',1)

#将RGB图像转化为灰度图像

img_gray = cv2.cvtColor(img, cv2.COLOR_RGB2GRAY)

#将灰度图像二值化

ret,thresh = cv2.threshold(img_gray, 127,255,0)

contours,hierarchy = cv2.findContours(thresh,cv2.RETR_TREE,cv2.CHAIN_APPROX_SIMPLE)

img = cv2.drawContours(img,contours,-1, (0,0,255),3)

cv2.imshow('img',img)

cv2.waitKey(0)

findContours()第一个是输入图像,第二个是轮廓检索模式,第三个是轮廓近似方法

返回值有两个,第一个是(轮廓的)层析结构。第二个是轮廓。轮廓(第二个返回值)是一个 Python列表,其中存储这图像中的所有轮廓。每一个轮廓都是一个 Numpy 数组,包

含对象边界点(x,y)的坐标。

第三个参数如果被设置为 cv2.CHAIN_APPROX_NONE,所有的边界点

都会被存储。cv2.CHAIN_APPROX_SIMPLE 储存只需要这条直线

的两个端点而已。

函数 cv2.drawContours() 可以被用来绘制轮廓。它可以根据你提供

的边界点绘制任何形状。它的第一个参数是原始图像,第二个参数是轮廓,一

个 Python 列表。第三个参数是轮廓的索引(在绘制独立轮廓是很有用,当设

置为 -1 时绘制所有轮廓)。接下来的参数是轮廓的颜色和厚度等。

python findcontours_基于Python的opencv学习练习(十二) findContours()轮廓与绘制drawContours()...相关推荐

  1. OpenCV学习笔记(十二)——图像分割与提取

    在图像处理的过程中,经常需要从图像中将前景对象作为目标图像分割或者提取出来.例如,在视频监控中,观测到的是固定背景下的视频内容,而我们对背景本身并无兴趣,感兴趣的是背景中出现的车辆.行人或者其他对象. ...

  2. Opencv学习笔记(十二):图片腐蚀和膨胀操作

    文章目录 腐蚀 代码 效果 膨胀 代码 效果 开运算/闭运算 代码 腐蚀 原理:是在原图的小区域内取局部最小值.因为是二值化图,只有 0 和 255,所以小区域内有一个是 0 该像素点就为 0: 作用 ...

  3. opencv学习笔记十二:梯度算子

    [1]Robert算子: || =  由于平方和不便于计算,故近似为绝对值形式: || =| | 实际应用中,经常采用的是另一种近似梯度: |

  4. win10+Python3.7.3+OpenCV3.4.1入门学习(十二 图像轮廓)————12.4 Hu矩

    文章目录 12.4 Hu矩 12.4.1 Hu矩函数 12.4.2 形状匹配 Python版本是Python3.7.3,OpenCV版本OpenCV3.4.1,开发环境为PyCharm 12.4 Hu ...

  5. win10+Python3.7.3+OpenCV3.4.1入门学习(十二 图像轮廓)————12.7 利用形状场景算法比较轮廓

    Python版本是Python3.7.3,OpenCV版本OpenCV3.4.1,开发环境为PyCharm 文章目录 12.7 利用形状场景算法比较轮廓 12.7.1 计算形状场景距离 12.7.2 ...

  6. python做直方图-python OpenCV学习笔记实现二维直方图

    本文介绍了python OpenCV学习笔记实现二维直方图,分享给大家,具体如下: 官方文档 – https://docs.opencv.org/3.4.0/dd/d0d/tutorial_py_2d ...

  7. Python语言入门这一篇就够了-学习笔记(十二万字)

    Python语言入门这一篇就够了-学习笔记(十二万字) 友情提示:先关注收藏,再查看,12万字保姆级 Python语言从入门到精通教程. 文章目录 Python语言入门这一篇就够了-学习笔记(十二万字 ...

  8. opencv学习笔记(二):基于肤色的人手检测

    opencv学习笔记(二):基于肤色的人手检测 原文:http://blog.csdn.net/wzmsltw/article/details/50849810 先写了人手的检测程序,下一步基于检测程 ...

  9. OpenCV学习笔记(二十六)——小试SVM算法ml OpenCV学习笔记(二十七)——基于级联分类器的目标检测objdect OpenCV学习笔记(二十八)——光流法对运动目标跟踪Video Ope

    OpenCV学习笔记(二十六)--小试SVM算法ml 总感觉自己停留在码农的初级阶段,要想更上一层,就得静下心来,好好研究一下算法的东西.OpenCV作为一个计算机视觉的开源库,肯定不会只停留在数字图 ...

最新文章

  1. php 效率最高的递归,PHP 递归效率分析_PHP教程 - microtime
  2. 【map】【HDOJ】5233 Gunner II
  3. 运筹学期末复习2020年
  4. 高并发 python socket send 异步_对于Python中socket.listen()与多线程结合的困惑?
  5. vue对象深拷贝_Vue 对数据对象实现深拷贝赋值
  6. 收藏网站制作常用经典css.div.布局.设计实例打包下载
  7. UVA10474 Where is the Marble?【排序】
  8. 【R】函数-数学函数
  9. CSS完美实现垂直居中-测试页
  10. iOS.数据持久化.PersistenceLayer.属性列表
  11. 【PC工具】windows免安装录屏绿色软件,无需注册无水印绿色录屏软件
  12. 无模型matlab程序实验报告,MATLAB仿真瑞利衰落信道实验报告结果
  13. 电力猫服务器的网页,电力猫的安装与连接方式
  14. CAD插件学习系列教程(一) 贱人工具箱的使用
  15. 面试开课吧合并区间算法
  16. 考研数学易错知识点总结
  17. Python高级编程——13.垃圾回收机制
  18. 两成开发者月薪超1.7万,算法工程师最紧缺
  19. 后期处理体积-电影校色
  20. 点点细雨的项目日记(一)nbsp;需…

热门文章

  1. 计算机一级2016版本ms,2016计算机等级一级《MS Office》试题与答案
  2. 计算机网络考试单选及答案,计算机网络考试的选择题和填空题答案.doc
  3. success.ftlh与error.ftlh
  4. 大数据学习笔记23:MR案例——采用Combiner做词频统计
  5. 利用R和Octave绘制函数图像和求解方程
  6. 【BZOJ3616】War,KD树+bitset压位
  7. jsp测试连接mysql_JSP 连接MySQL配置与测试
  8. python endswith函数_Python Pandas Series.str.endswith()用法及代码示例
  9. flask-mail异步发送邮件_使用 python 发送邮件
  10. 品质和创新成为 GDC 2017 “State of Unreal” 的焦点