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 相关文章推荐
Python获取运行目录与当前脚本目录的方法
Jun 01 Python
python 出现SyntaxError: non-keyword arg after keyword arg错误解决办法
Feb 14 Python
浅谈五大Python Web框架
Mar 20 Python
python定时利用QQ邮件发送天气预报的实例
Nov 17 Python
PyQt5每天必学之像素图控件QPixmap
Apr 19 Python
python制作mysql数据迁移脚本
Jan 01 Python
python2和python3实现在图片上加汉字的方法
Aug 22 Python
django自带调试服务器的使用详解
Aug 29 Python
Python3爬虫中Ajax的用法
Jul 10 Python
利用python做表格数据处理
Apr 13 Python
写好Python代码的几条重要技巧
May 21 Python
tensorflow中的梯度求解及梯度裁剪操作
May 26 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中防止伪造跨站请求的小招式
2011/09/02 PHP
百度地图API应用之获取用户的具体位置
2014/06/10 PHP
php判断数组元素中是否存在某个字符串的方法
2014/06/14 PHP
PHP制作图形验证码代码分享
2014/10/23 PHP
Laravel中七个非常有用但很少人知道的Carbon方法
2017/09/21 PHP
jQuery 操作XML入门
2008/12/25 Javascript
jquery打开直接跳到网页最下面、最低端实现代码
2013/04/22 Javascript
当前页禁止复制粘贴截屏代码小集
2013/07/24 Javascript
JQuery事件e参数的方法preventDefault()取消默认行为
2013/09/26 Javascript
JavaScript对象学习经验整理
2013/10/12 Javascript
jquery实现的一个文章自定义分段显示功能
2014/05/23 Javascript
javascript制作网页图片上实现下雨效果
2015/02/26 Javascript
jQuery检测鼠标左键和右键点击的方法
2015/03/17 Javascript
JavaScript实现的SHA-1加密算法完整实例
2016/02/02 Javascript
完美的js div拖拽实例代码
2016/09/24 Javascript
vue货币过滤器的实现方法
2017/04/01 Javascript
兼容浏览器的js事件绑定函数(详解)
2017/05/09 Javascript
在React 组件中使用Echarts的示例代码
2017/11/08 Javascript
微信小程序上线发布流程图文详解
2019/05/06 Javascript
vue项目强制清除页面缓存的例子
2019/11/06 Javascript
WebStorm中如何将自己的代码上传到github示例详解
2020/10/28 Javascript
[01:18:33]Secret vs VGJ.S Supermajor小组赛C组 BO3 第一场 6.3
2018/06/04 DOTA
忘记ftp密码使用python ftplib库暴力破解密码的方法示例
2014/01/22 Python
Python随机生成彩票号码的方法
2015/03/05 Python
python如何实现内容写在图片上
2018/03/23 Python
78行Python代码实现现微信撤回消息功能
2018/07/26 Python
基于python实现ROC曲线绘制广场解析
2020/06/28 Python
python中的错误如何查看
2020/07/08 Python
python如何调用百度识图api
2020/09/29 Python
Python+MySQL随机试卷及答案生成程序的示例代码
2021/02/01 Python
实训报告范文大全
2014/11/04 职场文书
2014年党总支工作总结
2014/12/18 职场文书
商场营业员岗位职责
2015/04/14 职场文书
赵氏孤儿观后感
2015/06/09 职场文书
为什么MySQL8新特性会修改自增主键属性
2022/04/18 MySQL
Win11 Beta 22621.601 和 22622.601今日发布 KB5017384修复内容汇总
2022/09/23 数码科技