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 相关文章推荐
简单的通用表达式求10乘阶示例
Mar 03 Python
python实现给字典添加条目的方法
Sep 25 Python
在Python中使用全局日志时需要注意的问题
May 06 Python
Python实现删除文件中含“指定内容”的行示例
Jun 09 Python
使用python编写udp协议的ping程序方法
Apr 22 Python
python 将print输出的内容保存到txt文件中
Jul 17 Python
Python中利用aiohttp制作异步爬虫及简单应用
Nov 29 Python
Python实现自定义读写分离代码实例
Nov 16 Python
python属于解释型语言么
Jun 15 Python
用python绘制樱花树
Oct 09 Python
Python如何telnet到网络设备
Feb 18 Python
Django与AJAX实现网页动态数据显示的示例代码
Feb 24 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中的比较运算符详解
2013/10/28 PHP
php实现根据IP地址获取其所在省市的方法
2015/04/30 PHP
Laravel 自动生成验证的实例讲解:login / logout
2019/10/14 PHP
js 数组实现一个类似ruby的迭代器
2009/10/27 Javascript
javascript简单事件处理和with用法介绍
2013/09/16 Javascript
jquery实现div阴影效果示例代码
2013/09/16 Javascript
js 3种归并操作的实例代码
2013/10/30 Javascript
jQuery.parseJSON(json)将JSON字符串转换成js对象
2014/07/27 Javascript
详解JavaScript中基于原型prototype的继承特性
2016/05/05 Javascript
JS获取随机数和时间转换的简单实例
2016/07/10 Javascript
jquery实现数字输入框
2017/02/22 Javascript
JQuery 封装 Ajax 常用方法(推荐)
2017/05/21 jQuery
vue内置组件transition简单原理图文详解(小结)
2018/07/12 Javascript
ES6中Promise的使用方法实例总结
2020/02/18 Javascript
Vue 防止短时间内连续点击后多次触发请求的操作
2020/11/11 Javascript
[08:29]DOTA2每周TOP10 精彩击杀集锦vol.7
2014/06/25 DOTA
在Python下尝试多线程编程
2015/04/28 Python
Python中格式化format()方法详解
2017/04/01 Python
Python实现随机选择元素功能
2017/09/14 Python
django中静态文件配置static的方法
2018/05/20 Python
Python 获取div标签中的文字实例
2018/12/20 Python
Python实现的企业粉丝抽奖功能示例
2019/07/26 Python
python每天定时运行某程序代码
2019/08/16 Python
Python程序暂停的正常处理方法
2019/11/07 Python
django-利用session机制实现唯一登录的例子
2020/03/16 Python
Python BeautifulReport可视化报告代码实例
2020/04/13 Python
Tensorflow tf.tile()的用法实例分析
2020/05/22 Python
Pandas数据分析的一些常用小技巧
2021/02/07 Python
Css3新特性应用之视觉效果实例
2016/12/12 HTML / CSS
纯CSS3大转盘抽奖示例代码(响应式、可配置)
2017/01/13 HTML / CSS
使用css3做0.5px的细线的示例代码
2018/01/18 HTML / CSS
沪江旗下的海量优质课程平台:沪江网校
2017/11/07 全球购物
女大学生毕业找工作的自我评价
2013/10/03 职场文书
2014年保洁员工作总结
2014/11/19 职场文书
CSS实现切角+边框+投影+内容背景色渐变效果
2021/11/01 HTML / CSS
Java字符串逆序方法详情
2022/03/21 Java/Android