import numpy as np
import cv2font = cv2.FONT_HERSHEY_SIMPLEX
lower_red = np.array([0, 150, 150])
higher_red = np.array([10, 255, 255])
lower_green = np.array([35, 110, 106])  # 绿色阈值下界
higher_green = np.array([77, 255, 255])  # 绿色阈值上界
lower_black = np.array([0, 0, 0])
higher_black = np.array([25, 35, 46])
cap = cv2.VideoCapture(0)  # 打开电脑内置摄像头if cap.isOpened():while 1:ret, frame = cap.read()  # 按帧读取,这是读取一帧img_hsv = cv2.cvtColor(frame, cv2.COLOR_BGR2HSV)mask_red = cv2.inRange(img_hsv, lower_red, higher_red)  # 可以认为是过滤出红色部分,获得红色的掩膜,去掉背景mask_red = cv2.medianBlur(mask_red, 7)  # 中值滤波(把数字图像中的一点的值用该点的邻域各点的中值代替,让 周围像素值接近真实值,从而消除孤立的噪声点)mask_green = cv2.inRange(img_hsv, lower_green, higher_green)  # 获得绿色部分掩膜mask_green = cv2.medianBlur(mask_green, 7)  # 中值滤波mask_black = cv2.inRange(img_hsv, lower_black, higher_black)  # 获得绿色部分掩膜mask_black = cv2.medianBlur(mask_black, 7)  # 中值滤波# mask = cv2.bitwise_or(mask_red, mask_red)  # 三部分掩膜进行按位或运算cnts1, hierarchy1 = cv2.findContours(mask_red, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_NONE)  # 轮廓检测cnts2, hierarchy2 = cv2.findContours(mask_black, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_NONE)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 - 20), (x + w, y + h), (0, 0, 255), 2)  # 将检测到的颜色框起来cv2.putText(frame, 'red', (x, y - 20), font, 0.7, (0, 0, 255), 2)for cnt in cnts2:(x, y, w, h) = cv2.boundingRect(cnt)  # 该函数返回矩阵四个点cv2.rectangle(frame, (x, y), (x + w, y + h), (0, 0, 0), 2)  # 将检测到的颜色框起来cv2.putText(frame, 'black', (x, y - 1), font, 0.7, (0, 0, 0), 2)for cnt in cnts3:(x, y, w, h) = cv2.boundingRect(cnt)  # 该函数返回矩阵四个点cv2.rectangle(frame, (x, y - 50), (x + w, y + h), (0, 255, 0), 2)  # 将检测到的颜色框起来cv2.putText(frame, 'green', (x, y - 50), font, 0.7, (0, 255, 0), 2)cv2.imshow('frame', frame)k = cv2.waitKey(20) & 0xFF  # 引用&0xff,为了只取按键对应的ASCII值后8位来排除不同按键的干扰进行判断按键是什么if k == 27:breakcv2.waitKey(0)  # time.sleep()
cv2.destroyAllWindows()

使用opencv调用摄像头识别颜色(python版)相关推荐

  1. python人脸识别截图_Python OpenCV调用摄像头检测人脸并截图

    本文实例为大家分享了Python OpenCV调用摄像头检测人脸并截图的具体代码,供大家参考,具体内容如下 注意:需要在python中安装OpenCV库,同时需要下载OpenCV人脸识别模型haarc ...

  2. python调用摄像头人脸识别代码_利用face_recognition,dlib与OpenCV调用摄像头进行人脸识别...

    用已经搭建好 face_recognition,dlib 环境来进行人脸识别 未搭建好环境请参考: 使用opencv 调用摄像头 import face_recognition import cv2 ...

  3. 使用OpenCV调用摄像头检测人脸并截图-Python

    注意:需要在python中安装OpenCV库,同时需要下载OpenCV人脸识别模型haarcascade_frontalface_alt.xml,模型可在https://github.com/Time ...

  4. python打开摄像头获取图片_Python基于opencv调用摄像头获取个人图片的实现方法

    接触图像领域的应该对于opencv都不会感到陌生,这个应该算是功能十分强劲的一个算法库了,当然了,使用起来也是很方便的,之前使用Windows7的时候出现多该库难以安装成功的情况,现在这个问题就不存在 ...

  5. 2021-01-07 python opencv实现车牌识别 颜色定位

    python opencv实现车牌识别 颜色定位 主要代码参考https://blog.csdn.net/wzh191920/article/details/79589506 GitHub:https ...

  6. python+opencv打开摄像头、拍摄指定次数的照片_python+openCV调用摄像头拍摄和处理图片的实现...

    在深度学习过程中想做手势识别相关应用,需要大量采集手势图片进行训练,作为一个懒人当然希望飞快的连续采集图片并且采集到的图片就已经被处理成统一格式的啦..于是使用python+openCV调用摄像头,在 ...

  7. Python+opencv调用摄像头实现拍照并保存

    Python+opencv调用摄像头实现拍照并保存 安装 OpenCV库 详细源码 注意事项 安装 OpenCV库 pip install opencv-python 详细源码 调用外接摄像头实现拍照 ...

  8. Python进阶,使用 opencv 调用摄像头进行拍照

             opencv 支持 Python 版本的模块叫作 opencv-p hon ,可直接使用 pip install opencv-python 令进行安装,但常常会因为网络等问题导致失 ...

  9. python+openCV调用摄像头拍摄和处理图片

    在深度学习过程中想做手势识别相关应用,需要大量采集手势图片进行训练,作为一个懒人当然希望飞快的连续采集图片并且采集到的图片就已经被处理成统一格式的啦..于是使用python+openCV调用摄像头,在 ...

最新文章

  1. java的jps命令怎么使用_jps命令的使用方法
  2. 深入浅出 ASP.NET Core 与 Docker 入门课程说明
  3. weblogic jms消息 删除_利用 Kafka 设置可靠的高性能分布式消息传递基础架构
  4. 逻辑回归线性支持向量机
  5. 软件开发模式之敏捷开发
  6. JavaScript浏览器对象Window对象常用方法(3)
  7. 高通camera结构(转)
  8. 图书馆管理系统代码html语言,图书管理系统html - WEB源码|源代码 - 源码中国
  9. NRF52840 DFU升级(一): 按键升级
  10. 条码打印软件如何制作二维码
  11. html入门:网页字体的设置
  12. 数模论文写作方法2|摘要的技巧
  13. 上传本地网页到github网址完整详细步骤
  14. VS_设置护眼背景色
  15. 苹果Mac合上屏幕怎样才能不休眠?
  16. 互联网跟移动互联网_互联网如何变坏
  17. FPGA学习: Verilog刷题记录(15)
  18. 我的世界服务器卡屏无响应,我的世界卡屏死机不流畅解决方法_蚕豆网攻略
  19. vs2019 无法打开包括文件:“SDKDDKVer.h”: No such file or directory的有效解决方案
  20. 万象更新·无锁不成|揭秘中科易安2021全新人才战略

热门文章

  1. Json格式字符串转字典
  2. 关于js join 方法介绍
  3. 算法题:将十进制转化为其他进制
  4. 软件测试用例篇(1)-------针对非软件产品进行测试
  5. GMS/EDLA认证
  6. erlang json: jsx,rfc4627,mochijson2,jsonx 简单比较
  7. DataView 构造
  8. 如何在CMD命令行下批量ping多个ip并且将结果输出
  9. 职业生涯规划之自我探索论文
  10. axure低保真原型_如何在Google表格中创建低保真原型