python+opencv轮廓检测代码解析


Posted in Python onJanuary 05, 2018

首先大家可以对OpenCV有个初步的了解,可以参考:简单了解OpenCV

轮廓(Contours),指的是有相同颜色或者密度,连接所有连续点的一条曲线。检测轮廓的工作对形状分析和物体检测与识别都非常有用。

在轮廓检测之前,首先要对图片进行二值化或者Canny边缘检测。在OpenCV中,寻找的物体是白色的,而背景必须是黑色的,因此图片预处理时必须保证这一点。

import cv2 
 
#读入图片 
img = cv2.imread("1.png") 
 
# 必须先转化成灰度图 
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) 
 
# 二值化 
ret, thresh = cv2.threshold(gray, 127, 255, cv2.THRESH_BINAEY) 
 
# 寻找轮廓 
contours, hierarchy = cv2.findContours(thresh, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE) 
 
# 画出轮廓,-1,表示所有轮廓,画笔颜色为(0, 255, 0),即Green,粗细为3 
cv2.drawContours(img, contours, -1, (0, 255, 0), 3) 
 
# 显示图片 
cv2.namedWindow("Contours", cv2.NORMAL_WINDOW) 
cv2.imshow("Contours", img) 
 
# 等待键盘输入 
cv2.waitKey(0) 
cv2.destroyAllWindows()

总结

本文实例涉及对图片的一些简单处理,比如图片的读取,灰度显示,二值化等,大家可以参考。

以上就是本文关于python+opencv轮廓检测代码解析的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站:

如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!

Python 相关文章推荐
wxpython 学习笔记 第一天
Feb 09 Python
Python实现去除代码前行号的方法
Mar 10 Python
Python中pygame的mouse鼠标事件用法实例
Nov 11 Python
Python微信企业号开发之回调模式接收微信端客户端发送消息及被动返回消息示例
Aug 21 Python
python实现生命游戏的示例代码(Game of Life)
Jan 24 Python
Python global全局变量函数详解
Sep 18 Python
python游戏地图最短路径求解
Jan 16 Python
如何使用Python标准库进行性能测试
Jun 25 Python
Pandas 缺失数据处理的实现
Nov 04 Python
python 实现return返回多个值
Nov 19 Python
Python threading.local代码实例及原理解析
Mar 16 Python
python实现会员信息管理系统(List)
Mar 18 Python
python selenium UI自动化解决验证码的4种方法
Jan 05 #Python
轻松实现TensorFlow微信跳一跳的AI
Jan 05 #Python
OpenCV-Python实现轮廓检测实例分析
Jan 05 #Python
django2 快速安装指南分享
Jan 05 #Python
Python实现改变与矩形橡胶的线条的颜色代码示例
Jan 05 #Python
用python制作游戏外挂
Jan 04 #Python
Python学习之Anaconda的使用与配置方法
Jan 04 #Python
You might like
php通过字符串调用函数示例
2014/03/02 PHP
php 购物车完整实现代码
2014/06/05 PHP
ThinkPHP调用百度翻译类实现在线翻译
2014/06/26 PHP
PHP引用返回用法示例
2016/05/28 PHP
Laravel中unique和exists验证规则的优化详解
2018/01/28 PHP
PHP实现无限极分类的两种方式示例【递归和引用方式】
2019/03/25 PHP
Javascript 面向对象 继承
2010/05/13 Javascript
javascript解决innerText浏览器兼容问题思路代码
2013/05/17 Javascript
js中精确计算加法和减法示例
2014/03/28 Javascript
Javascript学习笔记之 函数篇(二) : this 的工作机制
2014/06/24 Javascript
sogou地图API用法实例教程
2014/09/11 Javascript
jQuery通过Ajax返回JSON数据
2015/04/28 Javascript
javascript发送短信验证码实现代码
2015/11/12 Javascript
详解Angular中$cacheFactory缓存的使用
2016/08/19 Javascript
修改 bootstrap table 默认detailRow样式的实例代码
2017/07/21 Javascript
vue组件间通信子与父详解(二)
2017/11/07 Javascript
解决layui中的form表单与button的点击事件冲突问题
2018/08/15 Javascript
小程序实现横向滑动日历效果
2019/10/21 Javascript
解决vue项目F5刷新mounted里的函数不执行问题
2019/11/05 Javascript
vue实现简单全选和反选功能
2020/09/15 Javascript
python使用多线程不断刷新网页的方法
2015/03/31 Python
对Python新手编程过程中如何规避一些常见问题的建议
2015/04/01 Python
Python使用ntplib库同步校准当地时间的方法
2016/07/02 Python
解决Python requests库编码 socks5代理的问题
2018/05/07 Python
基于Python的Post请求数据爬取的方法详解
2019/06/14 Python
Jupyter notebook设置背景主题,字体大小及自动补全代码的操作
2020/04/13 Python
css3实现背景模糊的三种方式(小结)
2020/05/15 HTML / CSS
Lulu Guinness露露·吉尼斯官网:红唇包
2019/02/03 全球购物
迪士尼法国在线商店:shopDisney FR
2020/12/03 全球购物
优秀研究生自我鉴定
2013/12/04 职场文书
初中政治教学反思
2014/01/17 职场文书
3.12植树节活动总结2014
2014/03/13 职场文书
教职工代表大会主持词
2014/04/01 职场文书
意向协议书
2015/01/27 职场文书
社区艾滋病宣传活动总结
2015/05/07 职场文书
如何开启Apache,Nginx和IIS服务器的GZIP压缩功能
2022/04/29 Servers