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 第一步 hello world
Sep 25 Python
Python2.5/2.6实用教程 入门基础篇
Nov 29 Python
Tensorflow实现卷积神经网络的详细代码
May 24 Python
Python实现多线程的两种方式分析
Aug 29 Python
python实现换位加密算法的示例
Oct 14 Python
PyQt编程之如何在屏幕中央显示窗体的实例
Jun 18 Python
Python的Tkinter点击按钮触发事件的例子
Jul 19 Python
python使用yield压平嵌套字典的超简单方法
Nov 02 Python
Python代码需要缩进吗
Jul 01 Python
python 如何使用find和find_all爬虫、找文本的实现
Oct 16 Python
如何编写python的daemon程序
Jan 07 Python
Python排序算法之插入排序及其优化方案详解
Jun 11 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之Memcache学习笔记
2013/06/17 PHP
PHP判断手机是IOS还是Android
2015/12/09 PHP
Web开发之JavaScript
2012/03/29 Javascript
JavaScript高级程序设计(第3版)学习笔记11 内建js对象
2012/10/11 Javascript
兼容IE和FF的图片上传前预览js代码
2013/05/28 Javascript
将两个div左右并列显示并实现点击标题切换内容
2013/10/22 Javascript
jQuery trigger()方法用法介绍
2015/01/13 Javascript
Jquery异步提交表单代码分享
2015/03/26 Javascript
JS实现简洁、全兼容的拖动层实例
2015/05/13 Javascript
轻松学习Javascript闭包
2017/03/01 Javascript
简单的JS控制button颜色随点击更改的实现方法
2017/04/17 Javascript
vue生命周期实例小结
2018/08/15 Javascript
JS实现的图片选择顺序切换和循环切换功能示例【测试可用】
2018/12/28 Javascript
JavaScript设计模式之装饰者模式实例详解
2019/01/17 Javascript
使用Vue调取接口,并渲染数据的示例代码
2019/10/28 Javascript
JS操作json对象key、value的常用方法分析
2019/10/29 Javascript
Javascript和jquery在selenium的使用过程
2019/10/31 jQuery
vue实现瀑布流组件滑动加载更多
2020/03/10 Javascript
python基础教程之元组操作使用详解
2014/03/25 Python
Python实现在matplotlib中两个坐标轴之间画一条直线光标的方法
2015/05/20 Python
Python 爬虫之Beautiful Soup模块使用指南
2018/07/05 Python
python五子棋游戏的设计与实现
2019/06/18 Python
python虚拟环境模块venv使用及示例
2020/03/04 Python
Python如何急速下载第三方库详解
2020/11/02 Python
Python将list元素转存为CSV文件的实现
2020/11/16 Python
python 模拟登陆github的示例
2020/12/04 Python
HTML5学习笔记之html5与传统html区别
2016/01/06 HTML / CSS
台湾最大银发乐活百货:乐龄网
2018/05/21 全球购物
iPad和Surface Pro蓝牙键盘:Brydge
2018/11/10 全球购物
班组长安全职责
2014/01/05 职场文书
制作部班长职位说明书
2014/02/26 职场文书
教师个人年度总结
2015/02/11 职场文书
2015年煤矿工作总结
2015/04/28 职场文书
《为人民服务》教学反思
2016/02/20 职场文书
创业计划书之川味火锅店
2019/09/02 职场文书
python自动化之如何利用allure生成测试报告
2021/05/02 Python