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中处理字符串之islower()方法的使用简介
May 19 Python
在Django框架中编写Contact表单的教程
Jul 17 Python
pandas表连接 索引上的合并方法
Jun 08 Python
Python设计模式之抽象工厂模式原理与用法详解
Jan 15 Python
在django中自定义字段Field详解
Dec 03 Python
pytorch数据预处理错误的解决
Feb 20 Python
Ubuntu18.04安装 PyCharm并使用 Anaconda 管理的Python环境
Apr 08 Python
numpy 矩阵形状调整:拉伸、变成一位数组的实例
Jun 18 Python
python和c语言哪个更适合初学者
Jun 22 Python
如何使用Python自动生成报表并以邮件发送
Oct 15 Python
PyTorch预训练Bert模型的示例
Nov 17 Python
Python编程super应用场景及示例解析
Oct 05 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
自动分页的不完整解决方案
2007/01/12 PHP
PHP过滤黑名单关键字的方法
2014/12/01 PHP
PHP简单实现断点续传下载的方法
2015/09/25 PHP
PHP实现多图上传和单图上传功能
2018/05/17 PHP
Laravel创建数据库表结构的例子
2019/10/09 PHP
javascript的trim,ltrim,rtrim自定义函数
2008/09/21 Javascript
再论Javascript的类继承
2011/03/05 Javascript
为JavaScript类型增加方法的实现代码(增加功能)
2011/12/29 Javascript
JavaScript实现DIV层拖动及动态增加新层的方法
2015/05/12 Javascript
js+html5通过canvas指定开始和结束点绘制线条的方法
2015/06/05 Javascript
jQuery+CSS3文字跑马灯特效的简单实现
2016/06/25 Javascript
浅谈webpack组织模块的原理
2018/03/10 Javascript
Vue弹出菜单功能的实现代码
2018/09/12 Javascript
React+TypeScript+webpack4多入口配置详解
2019/08/08 Javascript
如何在微信小程序中使用骨架屏的步骤
2020/06/12 Javascript
JavaScript 实现继承的几种方式
2021/02/19 Javascript
Python中的if、else、elif语句用法简明讲解
2016/03/11 Python
基于Python数据可视化利器Matplotlib,绘图入门篇,Pyplot详解
2017/10/13 Python
对python中Librosa的mfcc步骤详解
2019/01/09 Python
pandas DataFrame 删除重复的行的实现方法
2019/01/29 Python
django解决订单并发问题【推荐】
2019/07/31 Python
Pytorch反向求导更新网络参数的方法
2019/08/17 Python
解决pyPdf和pyPdf2在合并pdf时出现异常的问题
2020/04/03 Python
海淘母婴商城:国际妈咪
2016/07/23 全球购物
维多利亚的秘密官方旗舰店:VICTORIA’S SECRET
2018/04/02 全球购物
Ralph Lauren意大利官方网站:时尚界最负盛名的品牌之一
2018/10/18 全球购物
缓解脚、腿和背部疼痛:Z-CoiL鞋
2019/03/12 全球购物
BIFFI美国站:意大利BIFFI BOUTIQUES豪华多品牌时装零售公司
2020/02/11 全球购物
教师个人自我评价范文
2014/04/13 职场文书
信访工作经验交流材料
2014/05/23 职场文书
祖国在我心中演讲稿(小学生)
2014/09/23 职场文书
个人租房协议书
2014/11/28 职场文书
质检员岗位职责范本
2015/04/07 职场文书
2016新党章学习心得体会
2016/01/15 职场文书
800字作文之大雪
2019/12/04 职场文书
Java实现给Word文件添加文字水印
2022/02/15 Java/Android