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的Flask框架的简介和安装方法
Nov 13 Python
Python中的字符串类型基本知识学习教程
Feb 04 Python
对python 各种删除文件失败的处理方式分享
Apr 24 Python
python实现搜索文本文件内容脚本
Jun 22 Python
对Pyhon实现静态变量全局变量的方法详解
Jan 11 Python
浅谈Python2之汉字编码为unicode的问题(即类似\xc3\xa4)
Aug 12 Python
命令行运行Python脚本时传入参数的三种方式详解
Oct 11 Python
python实现图片上添加图片
Nov 26 Python
Python 安装 virturalenv 虚拟环境的教程详解
Feb 21 Python
keras 读取多标签图像数据方式
Jun 12 Python
python 服务器运行代码报错ModuleNotFoundError的解决办法
Sep 16 Python
基于PyQt5制作一个群发邮件工具
Apr 08 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中uploaded_files函数使用方法详解
2011/03/09 PHP
PHP中通过语义URL防止网站被攻击的方法分享
2011/09/08 PHP
PHP+Mysql+jQuery实现动态展示信息
2011/10/08 PHP
php实现给二维数组中所有一维数组添加值的方法
2017/02/04 PHP
php 读写json文件及修改json的方法
2018/03/07 PHP
PDO::quote讲解
2019/01/29 PHP
php屏蔽错误及提示的方法
2020/05/10 PHP
javascript的函数、创建对象、封装、属性和方法、继承
2011/03/10 Javascript
jquery 扑捉回车键事件代码
2014/04/24 Javascript
完美兼容各大浏览器的jQuery插件实现图片切换特效
2014/12/12 Javascript
基于javascript实现最简单的选项卡切换效果
2016/05/16 Javascript
vue父子组件的数据传递示例
2017/03/07 Javascript
vue使用vue-cli快速创建工程
2017/07/28 Javascript
基于vue2.x的电商图片放大镜插件的使用
2018/01/22 Javascript
Vue Element 分组+多选+可搜索Select选择器实现示例
2018/07/23 Javascript
Python 冒泡,选择,插入排序使用实例
2015/02/05 Python
Python3操作SQL Server数据库(实例讲解)
2017/10/21 Python
python数据抓取分析的示例代码(python + mongodb)
2017/12/25 Python
Tensorflow加载预训练模型和保存模型的实例
2018/07/27 Python
python抓取京东小米8手机配置信息
2018/11/13 Python
在python里协程使用同步锁Lock的实例
2019/02/19 Python
Python考拉兹猜想输出序列代码实践
2019/07/05 Python
django中账号密码验证登陆功能的实现方法
2019/07/15 Python
使用coverage统计python web项目代码覆盖率的方法详解
2019/08/05 Python
Python pip install如何修改默认下载路径
2020/04/29 Python
Python实现迪杰斯特拉算法过程解析
2020/09/18 Python
Django filter动态过滤与排序实现过程解析
2020/11/26 Python
报纸媒体创意广告词
2014/03/17 职场文书
婚礼庆典答谢词
2015/01/20 职场文书
辞职书格式样本
2015/02/26 职场文书
2015年环境监察工作总结
2015/07/23 职场文书
幼儿园体操比赛口号
2015/12/25 职场文书
windows下快速安装nginx并配置开机自启动的方法
2021/05/11 Servers
Python中的turtle画箭头,矩形,五角星
2022/03/16 Python
Mysql事务索引知识汇总
2022/03/17 MySQL
nginx配置指令之server_name的具体使用
2022/08/14 Servers