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可变参数用法实例分析
Apr 02 Python
python入门前的第一课 python怎样入门
Mar 06 Python
详解如何管理多个Python版本和虚拟环境
May 10 Python
教你一步步利用python实现贪吃蛇游戏
Jun 27 Python
详解将Python程序(.py)转换为Windows可执行文件(.exe)
Jul 19 Python
在PyTorch中Tensor的查找和筛选例子
Aug 18 Python
Django实现分页显示效果
Oct 31 Python
python 五子棋如何获得鼠标点击坐标
Nov 04 Python
python文件操作的简单方法总结
Nov 07 Python
PyTorch使用cpu加载模型运算方式
Jan 13 Python
python 实现在无序数组中找到中位数方法
Mar 03 Python
教你如何用Python实现人脸识别(含源代码)
Jun 23 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 setcookie(name, value, expires, path, domain, secure) 参数详解
2013/06/28 PHP
PHP+AJAX实现投票功能的方法
2015/09/28 PHP
php 利用array_slice函数获取随机数组或前几条数据
2015/09/30 PHP
php安装dblib扩展,连接mssql的具体步骤
2017/03/02 PHP
Laravel 验证码认证学习记录小结
2019/12/20 PHP
用js实现手把手教你月入万刀(转贴)
2007/11/07 Javascript
Prototype 学习 工具函数学习($方法)
2009/07/12 Javascript
JavaScript和JQuery实用代码片段(一)
2010/04/07 Javascript
jQuery的链式调用浅析
2010/12/03 Javascript
Javascript图像处理思路及实现代码
2012/12/25 Javascript
JQuery获取或设置ckeditor的数据(示例代码)
2013/11/15 Javascript
Node.js中的事件驱动编程详解
2014/08/16 Javascript
javascript trim函数在IE下不能用的解决方法
2014/09/12 Javascript
一个字符串反转函数可实现字符串倒序
2014/09/15 Javascript
jquery自定义插件——window的实现【示例代码】
2016/05/06 Javascript
JavaScript实现经典排序算法之冒泡排序
2016/12/28 Javascript
使用vue.js实现联动效果的示例代码
2017/01/10 Javascript
JS实现的抛物线运动效果示例
2018/01/30 Javascript
利用JS动态生成隔行换色HTML表格的两种方法
2018/10/09 Javascript
Vue keepAlive 数据缓存工具实现返回上一个页面浏览的位置
2019/05/10 Javascript
快速对接payjq的个人微信支付接口过程解析
2019/08/15 Javascript
微信小程序实现上传图片裁剪图片过程解析
2019/08/22 Javascript
JS用最简单的方法实现四舍五入
2019/08/27 Javascript
JS sort方法基于数组对象属性值排序
2020/07/10 Javascript
jquery实现抽奖功能
2020/10/22 jQuery
vue 实现click同时传入事件对象和自定义参数
2021/01/29 Vue.js
Python Web框架Pylons中使用MongoDB的例子
2013/12/03 Python
详解Python如何获取列表(List)的中位数
2016/08/12 Python
python编写微信远程控制电脑的程序
2018/01/05 Python
Python 分享10个PyCharm技巧
2019/07/13 Python
Python实现平行坐标图的绘制(plotly)方式
2019/11/22 Python
HTML5 对各个标签的定义与规定:body的介绍
2012/06/21 HTML / CSS
幼儿园教师奖惩制度
2014/02/01 职场文书
先进教师个人事迹材料
2014/12/15 职场文书
怎样写辞职信
2015/02/27 职场文书
部门优秀员工推荐信
2015/03/24 职场文书