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 08 Python
python Django批量导入不重复数据
Mar 25 Python
解决PyCharm中光标变粗的问题
Aug 05 Python
python实现将汉字保存成文本的方法
Nov 16 Python
对pandas中时间窗函数rolling的使用详解
Nov 28 Python
Python3安装psycopy2以及遇到问题解决方法
Jul 03 Python
python 获取sqlite3数据库的表名和表字段名的实例
Jul 17 Python
使用 Python 处理 JSON 格式的数据
Jul 22 Python
Pytorch 实现自定义参数层的例子
Aug 17 Python
tornado+celery的简单使用详解
Dec 21 Python
Python通过kerberos安全认证操作kafka方式
Jun 06 Python
Python try except finally资源回收的实现
Jan 25 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简单实现合并2个数字键数组值的方法
2017/05/30 PHP
网页广告中JS代码的信息监听示例
2014/04/02 Javascript
Node.js中使用Buffer编码、解码二进制数据详解
2014/08/16 Javascript
JS操作HTML自定义属性的方法
2015/02/10 Javascript
JS使用ajax从xml文件动态获取数据显示的方法
2015/03/24 Javascript
JS实现新浪微博效果带遮罩层的弹出框代码
2015/10/12 Javascript
JavaScript在网页中画圆的函数arc使用方法
2015/11/13 Javascript
jQuery实现的兼容性浮动层示例
2016/08/02 Javascript
Nodejs--post的公式详解
2017/04/29 NodeJs
JS实现移动端按首字母检索城市列表附源码下载
2017/07/05 Javascript
js实现前端图片上传即时预览功能
2017/08/02 Javascript
清空元素html("") innerHTML="" 与 empty()的区别和应用(推荐)
2017/08/14 Javascript
关于meta viewport中target-densitydpi属性详解(推荐)
2017/08/18 Javascript
详解Vue的钩子函数(路由导航守卫、keep-alive、生命周期钩子)
2018/07/24 Javascript
Vue.js 通过jQuery ajax获取数据实现更新后重新渲染页面的方法
2018/08/09 jQuery
vue 动态组件用法示例小结
2020/03/06 Javascript
多线程爬虫批量下载pcgame图片url 保存为xml的实现代码
2013/01/17 Python
用Python写飞机大战游戏之pygame入门(4):获取鼠标的位置及运动
2015/11/05 Python
Python 70行代码实现简单算式计算器解析
2019/08/30 Python
Python搭建代理IP池实现接口设置与整体调度
2019/10/27 Python
详解Python中的format格式化函数的使用方法
2019/11/20 Python
python将图片转base64,实现前端显示
2020/01/09 Python
python GUI库图形界面开发之PyQt5布局控件QVBoxLayout详细使用方法与实例
2020/03/06 Python
Python学习之os模块及用法
2020/06/03 Python
Pycharm无法打开双击没反应的问题及解决方案
2020/08/17 Python
python从PDF中提取数据的示例
2020/10/30 Python
HTML5 canvas基本绘图之填充样式实现
2016/06/27 HTML / CSS
详解HTML5将footer置于页面最底部的方法(CSS+JS)
2018/10/11 HTML / CSS
viagogo意大利票务平台:演唱会、体育比赛、戏剧门票
2018/01/26 全球购物
购买原创艺术品:Zatista
2019/11/09 全球购物
俄罗斯鲜花递送:AMF
2020/04/24 全球购物
小学家长评语大全
2014/04/16 职场文书
老师对学生的评语
2014/04/18 职场文书
社团招新宣传语
2015/07/13 职场文书
SpringBoot+Redis实现布隆过滤器的示例代码
2022/03/17 Java/Android
一文搞懂Redis中String数据类型
2022/04/03 Redis