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中文字符串截取问题
Jun 15 Python
Python错误提示:[Errno 24] Too many open files的分析与解决
Feb 16 Python
Python标准库sched模块使用指南
Jul 06 Python
Django数据库连接丢失问题的解决方法
Dec 29 Python
python使用requests模块实现爬取电影天堂最新电影信息
Apr 03 Python
linux下安装python3和对应的pip环境教程详解
Jul 01 Python
python使用opencv对图像mask处理的方法
Jul 05 Python
Python入门Anaconda和Pycharm的安装和配置详解
Jul 16 Python
基于python实现自动化办公学习笔记(CSV、word、Excel、PPT)
Aug 06 Python
使用Python将图片转正方形的两种方法实例代码详解
Apr 29 Python
python中get和post有什么区别
Jun 19 Python
Python Selenium破解滑块验证码最新版(GEETEST95%以上通过率)
Jan 29 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
PHP.MVC的模板标签系统(五)
2006/09/05 PHP
php生成短网址示例
2014/05/05 PHP
Laravel用户授权系统的使用方法示例
2018/09/16 PHP
Javascript获取HTML静态页面参数传递值示例
2013/08/18 Javascript
JQuery设置文本框和密码框得到焦点时的样式
2013/08/30 Javascript
js操作table示例(个人心得)
2013/11/29 Javascript
基于JQuery实现滚动到页面底端时自动加载更多信息
2014/01/31 Javascript
jQuery仿淘宝网产品品牌隐藏与显示效果
2015/09/01 Javascript
AngularJS $injector 依赖注入详解
2016/09/14 Javascript
深入浅析Nodejs的Http模块
2017/06/20 NodeJs
vue监听键盘事件的快捷方法【推荐】
2018/07/11 Javascript
小程序实现分类页
2019/07/12 Javascript
基于纯JS实现多张图片的懒加载Lazy过程解析
2019/10/14 Javascript
design vue 表格开启列排序的操作
2020/10/28 Javascript
Python 转义字符详细介绍
2017/03/21 Python
Python爬虫实例扒取2345天气预报
2018/03/04 Python
python2.7实现爬虫网页数据
2018/05/25 Python
python读取和保存图片5种方法对比
2018/09/12 Python
python的range和linspace使用详解
2019/11/27 Python
Pytorch实现基于CharRNN的文本分类与生成示例
2020/01/08 Python
python实现将字符串中的数字提取出来然后求和
2020/04/02 Python
Pycharm IDE的安装和使用教程详解
2020/04/30 Python
利用html5的websocket实现websocket聊天室
2013/12/12 HTML / CSS
优秀中专生推荐信
2013/11/17 职场文书
客户经理岗位职责
2013/12/08 职场文书
初中生操行评语大全
2014/04/24 职场文书
高中课前三分钟演讲稿
2014/08/18 职场文书
基层党员对照检查材料
2014/08/25 职场文书
2014年店长工作总结
2014/11/17 职场文书
金秋助学感谢信
2015/01/21 职场文书
红白喜事主持词
2015/07/06 职场文书
寒假致家长的一封信
2015/10/10 职场文书
vue完美实现el-table列宽自适应
2021/05/08 Vue.js
pytorch 如何使用amp进行混合精度训练
2021/05/24 Python
Pytorch中Softmax和LogSoftmax的使用详解
2021/06/05 Python
如何在Python中妥善使用进度条详解
2022/04/05 Python