本文实例为大家分享了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实现简单颜色识别程序相关推荐

  1. Python三十行代码实现简单人脸识别

    Python三十行代码实现简单人脸识别 一.库介绍 opencv,face_recognition,numpy,以及dlib 注意: 安装opencv速度可能过慢,需要更换国内镜像源,参考:https ...

  2. python种颜色循环_Python 实现一个颜色色值转换的小工具

    需求说明 公司的 UI 设计小哥,已经转用 Zeplin 很久了.Zeplin 的设计稿展示页面的颜色色值使用十进制的 RGB 表示的,在 Android 中的颜色表示大多情况下都需要十六进制的 RG ...

  3. 用python做一个木马_Python编程简单的木马程序(转载于乌云中)

    Python编程简单的木马程序 light·2015/01/26 10:07 0x00准备好了 本文的内容仅用于研究和研究,不得用于非法目的! 这一次,我们使用Python编写了一个简单的木马,它具有 ...

  4. python语音分割_Python 牺牲性能以提升程序员的工作效率

    1.项目名称:基于 Python3 的信息发送系统 项目简介:lykchat 信息发送系统是 Python3 开发的,通过模拟微信网页端,基于个人微信号,为系统管理人员提供信息发送工具,实现的功能有用 ...

  5. python模拟手写_Python实现简单可学习的手写体识别

    ''' LearningUI类 功能:生成UI界面,以及定义事件处理方法 作者:PyLearn 博客: http://www.cnblogs.com/PyLearn/ 最后修改日期: 2017/10/ ...

  6. python实现验证码识别_python实现图文验证码识别

    一,验证码类别 以下为网站常见的验证码: 1.图片验证码:常见的为英文.数字.汉字,计算题等类型的验证码. 2.行为式验证码: 常见的有滑动拼图,文字点选,图标点选,推理拼图等类型的验证码. 3.手机 ...

  7. python颜色库_Python可视化_matplotlib08-palettable颜色库(四)

    本文细介绍python palettable颜色库种colormap使用. 本文将学到什么? 1. palettable中colormap名称 16大类 1587类 2. palettable中col ...

  8. python代码颜色不同_Python填充任意颜色,不同算法时间差异分析说明

    我就废话不多说了,大家还是直接看代码吧! import time import numpy as np import cv2 #方法一 start = time.time() for i in ran ...

  9. python美化输出模块_Python 格式化输出 ( 颜色 )

    In [1]: from termcolor import colored # 只导入这一个方法,因为别的用不到 In [2]: colored??# 查看支持哪些参数,当然下面还有程序提供的示例,这 ...

  10. python 百度ocr识别_Python使用百度Ocr识别文字保存CSV

    1.准备: 1)Python开发环境, 笔者用的是3.7; 工具用的是Pycharm 2)百度云后台创建文字识别的应用, 获取AppID, API key, Secret Key 百度云后台创建文字识 ...

最新文章

  1. Kettle使用_14 文件操作复制移动删除结合JS
  2. javascript --- typeof方法和instanceof方法
  3. MFC程序执行过程剖析
  4. 在linux下如何进行mysql命令行 创建数据库
  5. 让我们在退烧中更清醒:谨慎投机性创业和投资的危害
  6. Python可视化库
  7. PTA程序设计类实验辅助教学平台-基础编程题--JAVA--7.2 然后是几点
  8. php中合并图片并添加水印,php通过imagecopymerge 函数给图片制作水印
  9. [Linux] Linux中/tmp目录下文件莫名丢失
  10. Android studio百度地图之定位到国外
  11. RNA-seq 详细教程:分析流程介绍(1)
  12. 自动生成python接口文档_Django自动生成Swagger接口文档
  13. 【Rust日报】2022-02-09 热议帖 - 我TM的做开源没有得到任何资助
  14. 专题一:Labview表格控件 及 应用(一)
  15. 京东物流王梓晨:打造全栈团队,你要避开这些大坑
  16. 当年锥子的大爆炸,如今12个语言版本都可轻松搞定!
  17. 初学Java常用设计模式之——工厂模式
  18. keras:神经网络的中间层输出
  19. 【5. ROS机器人的运动控制】
  20. 访问认证(三):Bearer

热门文章

  1. Unity Shader 假光源效果
  2. JDK源码阅读之Long
  3. 大数据可视化平台Demo
  4. 项目开发中DEV、QAS、PRD是什么意思
  5. Android 获取外网IP地址
  6. nginx通过url跳转到另外的一个url上
  7. 批量去除Word的向下小箭头
  8. 浙江省高校教师职称计算机考试成绩查询系统,浙江省高校招生考试信息管理系统...
  9. LAMMPS生成粗糙表面的in文件脚本(可调节微结构高、长和宽)
  10. Unity获取IOS端相机权限的状态