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列出目录下指定文件与子目录的方法
Jul 03 Python
python 读写txt文件 json文件的实现方法
Oct 22 Python
Python实现矩阵加法和乘法的方法分析
Dec 19 Python
python中kmeans聚类实现代码
Feb 23 Python
查看TensorFlow checkpoint文件中的变量名和对应值方法
Jun 14 Python
示例详解Python3 or Python2 两者之间的差异
Aug 23 Python
python实现网站用户名密码自动登录功能
Aug 09 Python
Python hmac模块使用实例解析
Dec 24 Python
PyTorch在Windows环境搭建的方法步骤
May 12 Python
让Django的BooleanField支持字符串形式的输入方式
May 20 Python
django教程如何自学
Jul 31 Python
利用Opencv实现图片的油画特效实例
Feb 28 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
基于文本的留言簿
2006/10/09 PHP
什么是OneThink oneThink后台添加插件步骤
2016/04/13 PHP
PHP实现Huffman编码/解码的示例代码
2018/04/20 PHP
网站上面有这种切换效果
2006/06/26 Javascript
event.keyCode键码值表 附只能输入特定的字符串代码
2009/05/15 Javascript
javascript获取ckeditor编辑器的值(实现代码)
2013/11/18 Javascript
js 处理数组重复元素示例代码
2013/12/27 Javascript
JavaScript限定图片显示大小的方法
2015/03/11 Javascript
详解JavaScript数组和字符串中去除重复值的方法
2016/03/07 Javascript
Bootstrap图片轮播组件使用实例解析
2016/06/30 Javascript
Node.JS使用Sequelize操作MySQL的示例代码
2017/10/09 Javascript
基于Vue的ajax公共方法(详解)
2018/01/20 Javascript
理解Koa2中的async&await的用法
2018/02/05 Javascript
用图片替换checkbox原始样式并实现同样的功能
2018/11/15 Javascript
[51:29]完美世界DOTA2联赛循环赛 Matador vs Forest BO2第一场 11.05
2020/11/05 DOTA
python中list列表的高级函数
2016/05/17 Python
Flask框架中密码的加盐哈希加密和验证功能的用法详解
2016/06/07 Python
Python爬取网易云音乐热门评论
2017/03/31 Python
非递归的输出1-N的全排列实例(推荐)
2017/04/11 Python
Python玩转加密的技巧【推荐】
2019/05/13 Python
scrapy利用selenium爬取豆瓣阅读的全步骤
2020/09/20 Python
PyTorch中的拷贝与就地操作详解
2020/12/09 Python
HTML5是什么 HTML5是什么意思 HTML5简介
2012/10/26 HTML / CSS
laravel使用redis队列实例讲解
2021/03/23 PHP
物理教学随笔感言
2014/02/22 职场文书
小学生作文评语大全
2014/04/21 职场文书
会计电算化专业求职信
2014/06/10 职场文书
报考公务员诚信承诺书
2014/08/29 职场文书
刑事辩护授权委托书
2014/09/13 职场文书
对照四风自我剖析材料
2014/10/07 职场文书
防灾减灾宣传标语
2014/10/07 职场文书
2015年度残疾人工作总结
2015/05/14 职场文书
python 下划线的多种应用场景总结
2021/05/12 Python
Vue3.0中Ref与Reactive的区别示例详析
2021/07/07 Vue.js
Mysql排查分析慢sql之explain实战案例
2022/04/19 MySQL
openstack云计算keystone组件工作介绍
2022/04/20 Servers