python实现简单颜色识别程序


Posted in Python onFebruary 19, 2020

本文实例为大家分享了python实现简单颜色识别程序的具体代码,供大家参考,具体内容如下

import numpy as np
import cv2
font= cv2.FONT_HERSHEY_SIMPLEX
lower_red=np.array([0,127,128])#红色阈值下界
higher_red=np.array([10,255,255])#红色阈值上界
lower_green=np.array([35,110,106])#绿色阈值下界
higher_green=np.array([77,255,255])#绿色阈值上界
cap=cv2.VideoCapture(0)#打开电脑内置摄像头
if(cap.isOpened()):
 while(True):
  ret,frame=cap.read()#按帧读取,这是读取一帧
  img_hsv=cv2.cvtColor(frame,cv2.COLOR_BGR2HSV)
  mask_red=cv2.inRange(img_hsv,lower_red,higher_red)#可以认为是过滤出红色部分,获得红色的掩膜
  mask_green=cv2.inRange(img_hsv,lower_green,higher_green)#获得绿色部分掩膜
  mask_green = cv2.medianBlur(mask_green, 7) # 中值滤波
  mask_red = cv2.medianBlur(mask_red, 7) # 中值滤波
  mask=cv2.bitwise_or(mask_green,mask_red)#三部分掩膜进行按位或运算
  image1,cnts1,hierarchy1=cv2.findContours(mask_red,cv2.RETR_EXTERNAL,cv2.CHAIN_APPROX_NONE)#轮廓检测
  image3,cnts3,hierarchy3=cv2.findContours(mask_green,cv2.RETR_EXTERNAL,cv2.CHAIN_APPROX_NONE)

  for cnt in cnts1:
   (x,y,w,h)=cv2.boundingRect(cnt)#该函数返回矩阵四个点
   cv2.rectangle(frame, (x, y), (x + w, y + h), (0, 0, 255), 2)#将检测到的颜色框起来
   cv2.putText(frame,'red',(x,y-5),font,0.7,(0,0,255),2)

  for cnt in cnts3:
   (x, y, w, h) = cv2.boundingRect(cnt) # 该函数返回矩阵四个点
   cv2.rectangle(frame, (x, y), (x + w, y + h), (0, 255, 0), 2) # 将检测到的颜色框起来
   cv2.putText(frame, 'green', (x, y - 5), font, 0.7, (0,255,0), 2)
  cv2.imshow('frame',frame)
  k=cv2.waitKey(20)&0xFF
  if k ==27:
   break

cv2.waitKey(0)
cv2.destroyAllWindows()

我发现只要多于两种颜色识别起来误差就极大极大,等以后学到会回来进行优化的。目前识别两种颜色还是比较稳的。

python实现简单颜色识别程序

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python正则抓取网易新闻的方法示例
Apr 21 Python
浅谈Python中的可变对象和不可变对象
Jul 07 Python
高效测试用例组织算法pairwise之Python实现方法
Jul 19 Python
Python编程之微信推送模板消息功能示例
Aug 21 Python
python导出chrome书签到markdown文件的实例代码
Dec 27 Python
ubuntu 16.04下python版本切换的方法
Jun 14 Python
Python将主机名转换为IP地址的方法
Aug 14 Python
Python数学形态学实例分析
Sep 06 Python
Python如何自动获取目标网站最新通知
Jun 18 Python
python为什么要安装到c盘
Jul 20 Python
Python函数中的不定长参数相关知识总结
Jun 24 Python
用PYTHON去计算88键钢琴的琴键频率和音高
Apr 10 Python
python绘制封闭多边形教程
Feb 18 #Python
python Shapely使用指南详解
Feb 18 #Python
Python模拟FTP文件服务器的操作方法
Feb 18 #Python
git查看、创建、删除、本地、远程分支方法详解
Feb 18 #Python
Python使用urllib模块对URL网址中的中文编码与解码实例详解
Feb 18 #Python
python实现根据给定坐标点生成多边形mask的例子
Feb 18 #Python
python有序查找算法 二分法实例解析
Feb 18 #Python
You might like
农民C键的运用技巧
2020/03/04 星际争霸
使PHP自定义函数返回多个值
2006/11/26 PHP
php 团购折扣计算公式
2011/11/24 PHP
Windows下部署Apache+PHP+MySQL运行环境实战
2012/08/31 PHP
PHP正则表达式之定界符和原子介绍
2012/10/05 PHP
php中time()和mktime()方法的区别
2013/09/28 PHP
PHP中使用imagick实现把PDF转成图片
2015/01/26 PHP
PHP中利用sleep函数实现定时执行功能实现代码
2016/08/25 PHP
php版本CKEditor 4和CKFinder安装及配置方法图文教程
2019/06/05 PHP
laravel框架数据库操作、查询构建器、Eloquent ORM操作实例分析
2019/12/20 PHP
firefox 和 ie 事件处理的细节,研究,再研究 书写同时兼容ie和ff的事件处理代码
2007/04/12 Javascript
JavaScript实现的使用键盘控制人物走动实例
2014/08/27 Javascript
关闭页面时window.location事件未执行的原因分析及解决方案
2014/09/01 Javascript
JavaScript正则表达式中的ignoreCase属性使用详解
2015/06/16 Javascript
基于JS代码实现图片在页面中旋转效果
2016/06/16 Javascript
通过vue-cli来学习修改Webpack多环境配置和发布问题
2017/12/22 Javascript
vue-router中scrollBehavior的巧妙用法
2018/07/09 Javascript
NodeJs项目中关闭ESLint的方法
2018/08/09 NodeJs
vue-cli中使用高德地图的方法示例
2019/03/28 Javascript
使用webpack/gulp构建TypeScript项目的方法示例
2019/12/18 Javascript
基于node+vue实现简单的WebSocket聊天功能
2020/02/01 Javascript
JS图片懒加载技术实现过程解析
2020/07/27 Javascript
python学习之hook钩子的原理和使用
2018/10/25 Python
不归路系列:Python入门之旅-一定要注意缩进!!!(推荐)
2019/04/16 Python
使用 css3 实现圆形进度条的示例
2017/07/05 HTML / CSS
英国领先的瓷砖专家:Walls and Floors
2018/04/27 全球购物
大三自我鉴定范文
2013/10/05 职场文书
写好自荐信的要点
2013/11/06 职场文书
九年级科学教学反思
2014/01/29 职场文书
责任书范本
2014/08/25 职场文书
党支部书记岗位职责
2015/02/15 职场文书
加入学生会自荐书
2015/03/05 职场文书
六一儿童节新闻稿
2015/07/17 职场文书
Redis持久化与主从复制的实践
2021/04/27 Redis
《原神》新角色演示“神里绫人:林隐泓洄” 宠妹狂魔
2022/04/03 其他游戏
SQL Server内存机制浅探
2022/04/06 SQL Server