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中的列表知识点汇总
Apr 14 Python
Python实现爬虫设置代理IP和伪装成浏览器的方法分享
May 07 Python
Python清空文件并替换内容的实例
Oct 22 Python
利用python脚本如何简化jar操作命令
Feb 24 Python
Pytorch训练过程出现nan的解决方式
Jan 02 Python
python 实现在无序数组中找到中位数方法
Mar 03 Python
django-xadmin根据当前登录用户动态设置表单字段默认值方式
Mar 13 Python
keras的backend 设置 tensorflow,theano操作
Jun 30 Python
python 动态渲染 mysql 配置文件的示例
Nov 20 Python
Python解析微信dat文件的方法
Nov 30 Python
详解python中[-1]、[:-1]、[::-1]、[n::-1]使用方法
Apr 25 Python
python编程简单几行代码实现视频转换Gif示例
Oct 05 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
Optimizer与Debugger兼容性问题的解决方法
2008/12/01 PHP
phpmailer发送邮件之后,返回收件人是否阅读了邮件的方法
2014/07/19 PHP
php实现比较两个字符串日期大小的方法
2015/05/12 PHP
PHP中常见的缓存技术实例分析
2015/09/23 PHP
Yii2框架实现注册和登录教程
2016/09/30 PHP
PHP内置加密函数详解
2016/11/20 PHP
php中yar框架实例用法讲解
2020/12/27 PHP
JavaScript 代码压缩工具小结
2012/02/27 Javascript
jQuery中:header选择器用法实例
2014/12/29 Javascript
最精简的JavaScript实现鼠标拖动效果的方法
2015/05/11 Javascript
javascript中CheckBox全选终极方案
2015/05/20 Javascript
不想让浏览器运行javascript脚本的方法
2015/11/20 Javascript
Bootstrap在线电子商务网站实战项目5
2016/10/14 Javascript
AngularJS extend用法详解及实例代码
2016/11/15 Javascript
AngularJS中$injector、$rootScope和$scope的概念和关联关系深入分析
2017/01/19 Javascript
vue.js框架实现表单排序和分页效果
2017/08/09 Javascript
详解vue使用$http服务端收不到参数
2019/04/19 Javascript
利用Angular7开发一个Radio组件的全过程
2019/07/11 Javascript
js面向对象之实现淘宝放大镜
2020/01/15 Javascript
jquery实现聊天机器人
2020/02/08 jQuery
H5 js点击按钮复制文本到粘贴板
2020/11/19 Javascript
详解python实现读取邮件数据并下载附件的实例
2017/08/03 Python
pycharm 将django中多个app放到同个文件夹apps的处理方法
2018/05/30 Python
selenium+python设置爬虫代理IP的方法
2018/11/29 Python
Django 内置权限扩展案例详解
2019/03/04 Python
win7下 python3.6 安装opencv 和 opencv-contrib-python解决 cv2.xfeatures2d.SIFT_create() 的问题
2019/10/24 Python
python系统指定文件的查找只输出目录下所有文件及文件夹
2020/01/19 Python
CSS3中媒体查询结合rem布局适配手机屏幕
2019/06/10 HTML / CSS
德国香水、化妆品和护理产品网上商店:Parfumdreams
2018/09/26 全球购物
Under Armour瑞典官方网站:美国高端运动科技品牌
2018/11/21 全球购物
英国领先的互联网葡萄酒礼品商:Vintage Wine & Port
2019/05/24 全球购物
Linux如何修改文件和文件夹的权限
2012/06/27 面试题
求职信的最佳写作思路
2014/02/01 职场文书
2014年前台接待工作总结
2014/12/05 职场文书
同学聚会通知短信
2015/04/20 职场文书
MySQL生成千万测试数据以及遇到的问题
2022/08/05 MySQL