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 02 Python
JPype实现在python中调用JAVA的实例
Jul 19 Python
Python 3.x读写csv文件中数字的方法示例
Aug 29 Python
利用python画出折线图
Jul 26 Python
Python常见内置高效率函数用法示例
Jul 31 Python
Python运维自动化之nginx配置文件对比操作示例
Aug 29 Python
六行python代码的爱心曲线详解
May 17 Python
python迭代器常见用法实例分析
Nov 22 Python
Win 10下Anaconda虚拟环境的教程
May 18 Python
Python CSS选择器爬取京东网商品信息过程解析
Jun 01 Python
python中rc1什么意思
Jun 19 Python
装上这 14 个插件后,PyCharm 真的是无敌的存在
Jan 11 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基础知识:类与对象(5) static
2006/12/13 PHP
php microtime获取浮点的时间戳
2010/02/21 PHP
我的php学习笔记(毕业设计)
2012/02/21 PHP
Thinkphp中Create方法深入探究
2014/06/16 PHP
浅析PHP数据导出知识点
2018/02/17 PHP
js中prototype用法详细介绍
2013/11/14 Javascript
JavaScript打印网页指定区域的例子
2014/05/03 Javascript
JQuery显示、隐藏div的几种方法简明总结
2015/04/16 Javascript
jquery判断checkbox是否选中及改变checkbox状态的实现方法
2016/05/26 Javascript
jQuery实现鼠标悬停3d菜单展开动画效果
2017/01/19 Javascript
Vue.js事件处理器与表单控件绑定详解
2017/03/20 Javascript
js实现颜色阶梯渐变效果(Gradient算法)
2017/03/21 Javascript
Angular+Bootstrap+Spring Boot实现分页功能实例代码
2017/07/21 Javascript
解决vue多个路由共用一个页面的问题
2018/03/12 Javascript
微信小程序日期选择器实例代码
2018/07/18 Javascript
Django工程的分层结构详解
2019/07/18 Python
Django框架之DRF 基于mixins来封装的视图详解
2019/07/23 Python
django admin.py 外键,反向查询的实例
2019/07/26 Python
pyinstaller打包程序exe踩过的坑
2019/11/19 Python
tensorflow 实现打印pb模型的所有节点
2020/01/23 Python
Python实现括号匹配方法详解
2020/02/10 Python
基于Python计算圆周率pi代码实例
2020/03/25 Python
Keras框架中的epoch、bacth、batch size、iteration使用介绍
2020/06/10 Python
Pycharm github配置实现过程图解
2020/10/13 Python
python中用Scrapy实现定时爬虫的实例讲解
2021/01/18 Python
利用canvas实现图片下载功能来实现浏览器兼容问题
2019/05/31 HTML / CSS
html5 datalist 选中option选项后的触发事件
2020/03/05 HTML / CSS
美国社交购物市场:MassGenie
2019/02/18 全球购物
双立人美国官方商店:ZWILLING集团餐具和炊具
2020/05/07 全球购物
护士自荐信
2013/10/25 职场文书
学校四群教育实施方案
2014/06/12 职场文书
中国文明网向国旗敬礼活动精彩寄语2014
2014/09/27 职场文书
群众路线专项整治工作情况报告
2014/10/28 职场文书
2015年机关党建工作总结
2015/05/22 职场文书
Python爬虫网络请求之代理服务器和动态Cookies
2022/04/12 Python
Redis实现分布式锁的五种方法详解
2022/06/14 Redis