Python-opencv实现红绿两色识别操作


Posted in Python onJune 04, 2020

1.颜色空间转换(RGB转HSV)

为了较准确的调红色和绿色的HSV,我使用cv2.createTrackbar()函数创建了六个滚动条

#创建HSV最低滚动条
cv2.createTrackbar('H_min','image',35,180,nothing)
cv2.createTrackbar('S_min','image',43,255,nothing)
cv2.createTrackbar('V_min','image',46,255,nothing)

#创建HSV最高滚动条
cv2.createTrackbar('H_max','image',0,180,nothing)
cv2.createTrackbar('S_max','image',255,255,nothing)
cv2.createTrackbar('V_max','image',255,255,nothing)

Python-opencv实现红绿两色识别操作

实际效果如图

Python-opencv实现红绿两色识别操作

Python-opencv实现红绿两色识别操作

2.识别颜色并画矩形框

颜色阈值已经确定了,这就可以进行颜色识别了。

为了让识别更稳定,在代码中加入自适应阈值。

th_img = cv2.adaptiveThreshold(mask,255,cv2.ADAPTIVE_THRESH_MEAN_C,cv2.THRESH_BINARY_INV,5,2)

3.画矩形框

使用函数cv2.findContours()来检测物体轮框

再使用函数cv2.boundingRect()查找最小矩形框

使用函数cv2.rectangle()画出

contours_green,hierarchy = cv2.findContours(th_green,cv2.RETR_EXTERNAL,cv2.CHAIN_APPROX_SIMPLE)
contours_red,hierarchy = cv2.findContours(th_red,cv2.RETR_EXTERNAL,cv2.CHAIN_APPROX_SIMPLE)
for red in contours_red:
 x_red,y_red,w_red,h_red = cv2.boundingRect(red)
 if w_red>width|h_red>height:
 cv2.rectangle(img,(x_red,y_red),((x_red+h_red),(y_red+w_red)),(0,255,0),1)
for red in contours_red:
 x_red,y_red,w_red,h_red = cv2.boundingRect(red)
 if w_red>width|h_red>height:
 cv2.rectangle(img,(x_red,y_red),((x_red+h_red),(y_red+w_red)),(0,255,0),1)

为了凸显出颜色的差距,我使用绿色的矩形框,画红色的物体,用红色的矩形框画绿色物体

Python-opencv实现红绿两色识别操作

以上这篇Python-opencv实现红绿两色识别操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
使用python编写批量卸载手机中安装的android应用脚本
Jul 21 Python
跟老齐学Python之再深点,更懂list
Sep 20 Python
列举Python中吸引人的一些特性
Apr 09 Python
python单元测试unittest实例详解
May 11 Python
让Python代码更快运行的5种方法
Jun 21 Python
详解python 发送邮件实例代码
Dec 22 Python
python实现关键词提取的示例讲解
Apr 28 Python
Python K最近邻从原理到实现的方法
Aug 15 Python
Python单例模式的四种创建方式实例解析
Mar 04 Python
python接口自动化之ConfigParser配置文件的使用详解
Aug 03 Python
利用python+ffmpeg合并B站视频及格式转换的实例代码
Nov 24 Python
一篇文章弄懂Python中的内建函数
Aug 07 Python
Python基于pandas绘制散点图矩阵代码实例
Jun 04 #Python
Python使用plt.boxplot() 参数绘制箱线图
Jun 04 #Python
浅谈opencv自动光学检测、目标分割和检测(连通区域和findContours)
Jun 04 #Python
Python中操作各种多媒体,视频、音频到图片的代码详解
Jun 04 #Python
Python简单实现词云图代码及步骤解析
Jun 04 #Python
Python坐标轴操作及设置代码实例
Jun 04 #Python
Python flask框架实现查询数据库并显示数据
Jun 04 #Python
You might like
自定义PHP分页函数
2006/10/09 PHP
PHP通用分页类page.php[仿google分页]
2008/08/31 PHP
PHP获取用户的浏览器与操作系统信息的代码
2012/09/04 PHP
PHP模板引擎smarty详细介绍
2015/05/26 PHP
php三种实现多线程类似的方法
2015/10/30 PHP
PHP构造函数与析构函数用法示例
2016/09/28 PHP
php基于dom实现读取图书xml格式数据的方法
2017/02/03 PHP
jQuery 方法大全方便学习参考
2010/02/25 Javascript
javascript实现面向对象类的功能书写技巧
2010/03/07 Javascript
js数组Array sort方法使用深入分析
2013/02/21 Javascript
jQuery增加自定义函数的方法
2015/07/18 Javascript
基于JavaScript代码实现随机漂浮图片广告
2016/01/05 Javascript
使用纯JS代码判断字符串中有多少汉字的实现方法(超简单实用)
2016/11/12 Javascript
JS滚轮控制图片缩放大小和拖动的实例代码
2018/11/20 Javascript
jquery 键盘事件 keypress() keydown() keyup()用法总结
2019/10/23 jQuery
vscode 配置vue+vetur+eslint+prettier自动格式化功能
2020/03/23 Javascript
ant-design表单处理和常用方法及自定义验证操作
2020/10/27 Javascript
小程序组件传值和引入sass的方法(使用vant Weapp组件库)
2020/11/24 Javascript
Python的迭代器和生成器使用实例
2015/01/14 Python
Python Django切换MySQL数据库实例详解
2019/07/16 Python
python中的itertools的使用详解
2020/01/13 Python
Python操作Excel把数据分给sheet
2020/05/20 Python
python如何导出微信公众号文章方法详解
2020/08/31 Python
用纯css3和html制作泡沫对话框实现代码
2013/03/21 HTML / CSS
HTML5操作WebSQL数据库的实例代码
2017/08/26 HTML / CSS
美国豪华的多品牌精品店:The Webster
2019/07/31 全球购物
省优秀教师事迹材料
2014/01/30 职场文书
人事助理自荐信
2014/02/02 职场文书
简历中的自我评价范文
2014/02/05 职场文书
化妆品促销方案
2014/02/24 职场文书
党的群众路线教育实践活动党员个人剖析材料
2014/10/08 职场文书
国庆庆典邀请函
2015/02/02 职场文书
2015年小学生自我评价范文
2015/03/03 职场文书
孔繁森观后感
2015/06/10 职场文书
导游词之湖北梁子湖
2019/11/07 职场文书
python数据分析之单因素分析线性拟合及地理编码
2022/06/25 Python