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中的len()函数的使用
Apr 07 Python
Python和C/C++交互的几种方法总结
May 11 Python
Django验证码的生成与使用示例
May 20 Python
matlab中实现矩阵删除一行或一列的方法
Apr 04 Python
python3结合openpyxl库实现excel操作的实例代码
Sep 11 Python
python 定时任务去检测服务器端口是否通的实例
Jan 26 Python
Tensorflow分类器项目自定义数据读入的实现
Feb 05 Python
Pycharm新建模板默认添加个人信息的实例
Jul 15 Python
Python面向对象实现方法总结
Aug 12 Python
python实现socket简单通信的示例代码
Apr 13 Python
详解Flask开发技巧之异常处理
Jun 15 Python
Python时间操作之pytz模块使用详解
Jun 14 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
拼音码表的生成
2006/10/09 PHP
PHP中使用gettext解决国际化问题的例子(i18n)
2014/06/13 PHP
PHP 实现代码复用的一个方法 traits新特性
2015/02/22 PHP
百度地图API使用方法详解
2015/08/25 PHP
thinkPHP框架整合tcpdf插件操作示例
2018/08/07 PHP
HTML IMG标签 onload 内存溢出导致浏览器CPU占用过高
2021/03/09 Javascript
jquery构造器的实现代码小结
2011/05/16 Javascript
qTip2 精致的基于jQuery提示信息插件
2012/02/17 Javascript
jquery更换文章内容与改变字体大小代码
2013/09/30 Javascript
js文本框输入点回车触发确定兼容IE、FF等
2013/11/19 Javascript
浅谈jQuery事件绑定原理
2015/01/02 Javascript
JavaScript获取网页中第一个图片id的方法
2015/04/03 Javascript
JavaScript中Number.NEGATIVE_INFINITY值的使用详解
2015/06/05 Javascript
JS简单实现多级Select联动菜单效果代码
2015/09/06 Javascript
用JS生成UUID的方法实例
2016/03/30 Javascript
jQuery控制li上下循环滚动插件用法实例(附demo源码下载)
2016/05/28 Javascript
详解Vuejs2.0 如何利用proxyTable实现跨域请求
2017/08/03 Javascript
Node.Js生成比特币地址代码解析
2018/04/21 Javascript
Angular Material Icon使用详解
2018/11/07 Javascript
vue动态绑定class的几种常用方式小结
2019/05/21 Javascript
node命令行工具之实现项目工程自动初始化的标准流程
2019/08/12 Javascript
[02:54]辉夜杯主赛事第二日败者组 iG.V赛后采访
2015/12/26 DOTA
python PyTorch参数初始化和Finetune
2018/02/11 Python
Python迭代器与生成器基本用法分析
2018/07/26 Python
Python3实现的判断回文链表算法示例
2019/03/08 Python
pandas 如何分割字符的实现方法
2019/07/29 Python
Python实现多线程下载脚本的示例代码
2020/04/03 Python
matlab 计算灰度图像的一阶矩,二阶矩,三阶矩实例
2020/04/22 Python
Blue Nile蓝色尼罗河香港官网:世界最大在线钻石珠宝销售商
2020/05/07 全球购物
大学生学习生活的自我评价
2013/11/01 职场文书
致裁判员加油稿
2014/02/08 职场文书
学校联谊活动方案
2014/02/15 职场文书
航空学院求职信
2014/06/11 职场文书
2015年元宵节活动总结
2015/02/06 职场文书
社区敬老月活动总结
2015/05/07 职场文书
《西游记》读后感(3篇)
2019/09/20 职场文书