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自动化脚本安装指定版本python环境详解
Sep 14 Python
Django项目中model的数据处理以及页面交互方法
May 30 Python
深入理解Python中的 __new__ 和 __init__及区别介绍
Sep 17 Python
使用python实现mqtt的发布和订阅
May 05 Python
利用python如何在前程无忧高效投递简历
May 07 Python
pyqt5 删除layout中的所有widget方法
Jun 25 Python
python中while和for的区别总结
Jun 28 Python
django-利用session机制实现唯一登录的例子
Mar 16 Python
Python中猜拳游戏与猜筛子游戏的实现方法
Sep 04 Python
python 利用Pyinstaller打包Web项目
Oct 23 Python
Python爬虫之Selenium库的使用方法
Jan 03 Python
Python Flask搭建yolov3目标检测系统详解流程
Nov 07 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
YB217、YB235、YB400浅听
2021/03/02 无线电
PHP 程序授权验证开发思路
2009/07/09 PHP
浅析ThinkPHP中的pathinfo模式和URL重写
2014/01/06 PHP
PHP调用JAVA的WebService简单实例
2014/03/11 PHP
PHP判断用户是否已经登录(跳转到不同页面或者执行不同动作)
2016/09/22 PHP
PHP编译configure时常见错误的总结
2017/08/17 PHP
input+select(multiple) 实现下拉框输入值
2009/05/21 Javascript
jquery无缝向上滚动实现代码
2013/03/29 Javascript
Javascript和Java获取各种form表单信息的简单实例
2014/02/14 Javascript
js+csss实现的一个带复选框的下拉框
2014/09/29 Javascript
深入理解JavaScript系列(25):设计模式之单例模式详解
2015/03/03 Javascript
javascript实现的网站访问量统计代码
2015/12/20 Javascript
BootStrap 实现各种样式的进度条效果
2016/12/07 Javascript
vue基于Vue2.0和高德地图的地图组件实例
2017/04/28 Javascript
JavaScript简介_动力节点Java学院整理
2017/06/26 Javascript
微信小程序整合使用富文本编辑器的方法详解
2019/04/25 Javascript
node.js使用yargs处理命令行参数操作示例
2020/02/11 Javascript
[50:28]LGD女子学院第三期 DOTA2复仇之魂教学
2013/12/24 DOTA
[08:54]《一刀刀一天》之DOTA全时刻18:十九支奔赴西雅图队伍全部出炉
2014/06/04 DOTA
[49:13]DOTA2上海特级锦标赛C组资格赛#1 OG VS LGD第一局
2016/02/27 DOTA
使用Python下载歌词并嵌入歌曲文件中的实现代码
2015/11/13 Python
python编程羊车门问题代码示例
2017/10/25 Python
python实现将文件夹下面的不是以py文件结尾的文件都过滤掉的方法
2018/10/21 Python
Python类和实例的属性机制原理详解
2020/03/21 Python
浅析border-radius如何兼容IE
2016/04/19 HTML / CSS
国外平面设计第一市场:99designs
2016/10/25 全球购物
招商经理岗位职责
2013/11/16 职场文书
《金钱的魔力》教学反思
2014/02/24 职场文书
2014年医学生毕业自我鉴定
2014/03/26 职场文书
财务会计专业求职信
2014/06/09 职场文书
英语专业自荐书
2014/06/13 职场文书
董事长助理工作职责范本
2014/07/01 职场文书
班级团队活动方案
2014/08/14 职场文书
酒店开业主持词
2015/07/02 职场文书
导游词之珠海轮廓
2019/10/25 职场文书
MySQL索引是啥?不懂就问
2021/07/21 MySQL