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中使用第三方库xlutils来追加写入Excel文件示例
Apr 05 Python
发布你的Python模块详解
Sep 15 Python
Python编程使用NLTK进行自然语言处理详解
Nov 16 Python
python opencv 直方图反向投影的方法
Feb 24 Python
WxPython建立批量录入框窗口
Feb 27 Python
python中如何使用分步式进程计算详解
Mar 22 Python
Django如何防止定时任务并发浅析
May 14 Python
pycharm中import呈现灰色原因的解决方法
Mar 04 Python
Python数据可视化实现漏斗图过程图解
Jul 20 Python
python获取整个网页源码的方法
Aug 03 Python
python中K-means算法基础知识点
Jan 25 Python
浅谈python数据类型及其操作
May 25 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获取服务器信息的实现代码
2013/02/04 PHP
thinkphp5.1框架容器与依赖注入实例分析
2019/07/23 PHP
Javascript 获取链接(url)参数的方法[正则与截取字符串]
2010/02/09 Javascript
解决jQuery插件tipswindown与hintbox冲突
2010/11/05 Javascript
js过滤特殊字符输入适合输入、粘贴、拖拽多种情况
2014/03/22 Javascript
Javascript核心读书有感之类型、值和变量
2015/02/11 Javascript
javascript框架设计之种子模块
2015/06/23 Javascript
JavaScript实现select添加option
2015/07/03 Javascript
JavaScript保留关键字汇总
2015/12/01 Javascript
Jquery EasyUI实现treegrid上显示checkbox并取选定值的方法
2016/04/29 Javascript
详解微信小程序Radio选中样式切换
2017/07/06 Javascript
微信小程序ajax实现请求服务器数据及模版遍历数据功能示例
2017/12/15 Javascript
element-ui 中的table的列隐藏问题解决
2018/08/24 Javascript
ES6 系列之 Generator 的自动执行的方法示例
2018/10/19 Javascript
[03:59]第二届DOTA2亚洲邀请赛选手传记-VGJ.rOtk
2017/04/03 DOTA
[02:36]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Magma 选手采访
2021/03/11 DOTA
python数据库操作常用功能使用详解(创建表/插入数据/获取数据)
2013/12/06 Python
python自动安装pip
2014/04/24 Python
浅析Python基础-流程控制
2016/03/18 Python
Python黑魔法Descriptor描述符的实例解析
2016/06/02 Python
Python调用ctypes使用C函数printf的方法
2017/08/23 Python
基于Python Numpy的数组array和矩阵matrix详解
2018/04/04 Python
Django添加KindEditor富文本编辑器的使用
2018/10/24 Python
Python给定一个句子倒序输出单词以及字母的方法
2018/12/20 Python
浅谈Pytorch中的torch.gather函数的含义
2019/08/18 Python
Tensorflow tf.tile()的用法实例分析
2020/05/22 Python
使用Dajngo 通过代码添加xadmin用户和权限(组)
2020/07/03 Python
美国在线奢侈品寄售商店:Luxury Garage Sale
2018/08/19 全球购物
知识竞赛活动方案
2014/02/18 职场文书
工程负责人任命书
2014/06/06 职场文书
写字楼租赁意向书
2014/07/30 职场文书
垃圾分类的活动方案
2014/08/15 职场文书
机关作风整顿个人剖析材料
2014/10/06 职场文书
2015年感恩母亲节的演讲稿
2015/03/18 职场文书
会计稽核岗位职责
2015/04/13 职场文书
深入理解margin塌陷和margin合并的解决方案
2021/06/26 HTML / CSS