基于opencv的颜色识别检测

基于python写的一个opencv颜色识别,主要运用到了hsv色彩空间

import cv2 as cv
import numpy as np
lower_red=np.array([150,43,46])
upper_red=np.array([179,255,255])
lower_green=np.array([30,100,100])
upper_green=np.array([80,255,255])
lower_blue=np.array([100,100,100])
upper_blue=np.array([125,255,255])
lower_yellow=np.array([20,30,30])#ok
upper_yellow=np.array([70,255,255])
lower_purple=np.array([0,0,221])
upper_purple=np.array([160,30,255])
color_array=[[lower_red,upper_red],[lower_green,upper_green]]
capture1 = cv.VideoCapture(0)
font=cv.FONT_ITALIC

进行前期的一个工作准备,导入各个颜色的hsv的upper和lower值。接下来对读取的视频进行处理

def process(image):hsv = cv.cvtColor(image, cv.COLOR_BGR2HSV)line = cv.getStructuringElement(cv.MORPH_RECT, (15, 15), (-1, -1))#for (lower,upper) in color_array:mask_red = cv.inRange(hsv, lower_red, upper_red)mask_red = cv.morphologyEx(mask_red, cv.MORPH_OPEN, line)contours_red, hierarchy = cv.findContours(mask_red, cv.RETR_EXTERNAL, cv.CHAIN_APPROX_SIMPLE)index = -1max = 0for c in range(len(contours_red)):area = cv.contourArea(contours_red[c])if area > max:max = areaindex = c

首先进行视频每一帧的图片进行hsv空间变换,然后获取结构元素,并依次对每个颜色的hsv upper值和lower值进行判定,同时进行轮廓分析。然后进行轮廓的绘制。其他颜色的代码以此类推

# 绘制if index >= 0:rect = cv.minAreaRect(contours_green[index])cv.ellipse(image, rect, (0, 255, 0), 2, 8)cv.circle(image, (np.int32(rect[0][0]), np.int32(rect[0][1])), 2, (255, 0, 0), 2, 8, 0)cv.putText(image, 'green', (50,150), cv.FONT_HERSHEY_COMPLEX, 5, (0, 255, 0), 12)

最后是函数的实现与画面的输出

while(True):ret, frame = capture1.read()if ret is True:#cv.imshow("video-input", frame)result = process(frame)cv.imshow("result", result)c = cv.waitKey(50)print(c)if c == 27:  #ESCbreakelse:break
cv.waitKey(0)
cv.destroyAllWindows()

opencv-python的颜色检测追踪相关推荐

  1. OpenCV + python 实现人脸检测(基于照片和视频进行检测)

    OpenCV + python 实现人脸检测(基于照片和视频进行检测) Haar-like 通俗的来讲,就是作为人脸特征即可. Haar特征值反映了图像的灰度变化情况.例如:脸部的一些特征能由矩形特征 ...

  2. python实现颜色检测、轮廓检测、颜色追踪

    python-Opencv学习 准备工作 读取图像和视频 基础功能 裁剪图像 绘制图形和文本 视角转换 图像拼接 颜色检测 轮廓检测 颜色追踪 准备工作 python配置numpy和openCv库 读 ...

  3. 使用opencv python进行手检测和手指计数

    By seeing above image now you are very excited for implement it (like me). So not wasting too much t ...

  4. 基于Opencv+python的车流量检测项目

    目录 项目介绍 整体流程 调试环境 项目流程 1.预处理 2.汽车识别--去背景算法(KNN/MOG2) 3.统计车流量数目 结尾 源代码 测试视频资料 流程图 项目介绍 本次项目主要采用了传统视觉的 ...

  5. OpenCV+python:人脸检测

    1,人脸检测简介 人脸检测的模型主要有两类,一类是知识模型,根据眼睛.嘴.鼻子的相对位置或面部不同部位的颜色深度差异来检测人脸,另一类是统计模型,把海量的人脸数据转换成二维像素矩阵,从统计的观点出发构 ...

  6. OpenCV—python OCR文本检测

    文章目录 一.形态学文本区域检测 1.1 直接匹配 1.2 多尺度匹配 二.MSER+NMS文本区域检测 2.1 MSER 2.2 NMS 一.形态学文本区域检测 图像形态学操作,包括膨胀.腐蚀基本操 ...

  7. OpenCV+python:圆检测

    1,圆检测基本原理 对霍夫变换有了这样一种理解-----实际上就是坐标变换,是一种数学上的变换,然后再转换到参数坐标系进行讨论,最终确定待检测圆(或者其他形状)的数学方程.在极坐标系下,圆的数学表达式 ...

  8. C++/OpenCV:同颜色检测提取

    看到这个老哥写了一个类,但是没有demo,就使用这个类写了个例子 [OpenCV]OpenCV创建颜色识别类-class ColorDetector_Taily老段的专栏-CSDN博客 头文件 Col ...

  9. 树莓派:基于opencv+Python的颜色形状识别(红色、蓝色的圆形、矩形、三角形)

    要求 :分辨出一个随机颜色(红色,蓝色)的图形(圆形,矩形,三角形) 思路 : HSV色块识别+轮廓提取+同一高度面积识别 一.HSV模型 HSV(Hue, Saturation, Value)是根据 ...

  10. 基于opencv+python的车道检测技术

    针对自动驾驶系统的实际需求,我们需要一种能够兼顾速度.不同环境下高检测成功率和鲁棒性的车道识别算法.首先,因为停车场更多的是地下光线昏暗的情况需要提高车道线与周围环境的对比度,然后灰度化图像进行模糊降 ...

最新文章

  1. 【每日DP】day12、P1063 能量项链(区间DP又一模板,震惊,只需要4行代码?)难度⭐⭐⭐
  2. Java类加载机制:双亲委托模型
  3. [导入]Ms Ajax Lib- Object 类型扩展
  4. java异常应用_Java异常处理机制 —— 深入理解与开发应用
  5. apk、ipa包size优化晋级手段
  6. [转载] python 生成器读取文件
  7. Android 开机优化
  8. QTP自动化测试—用户登录
  9. csharp基础练习题:过滤列表【难度:1级】--景越C#经典编程题库,不同难度C#练习题,适合自学C#的新手进阶训练
  10. java中接口(interface)及使用方法和注意事项
  11. HIVE SQL分位数percentile使用方法案例
  12. 第一章 Python初探
  13. 如何利用SUM函数合并单元格求和
  14. 《Test-Driven Development for Embedded C》读书笔记(三)
  15. 在Ubuntu安装和使用Anbox完整说明(一种在Linux使用Android应用的方法)
  16. 洛谷3238 HNOI2014 道路阻塞 最短路 线段树(无代码)
  17. MacBook不接电源实现外接显示器功能
  18. android 严振杰权限管理,MyAndroidFrameWork
  19. 我的世界服务器整人系列,我的世界:整人还在用TNT?老玩家用这7个道具简直谁见谁怕!...
  20. 编码训练营 vs 大学:哪个将帮助您获得科技行业最有声望的工作?

热门文章

  1. 桌面运维常见问题解决办法②
  2. SAP系统PP模块常用事务代码
  3. 2019 计蒜之道 初赛 第一场 商汤的AI伴游小精灵
  4. 用PYTHON做一个动态钟表
  5. 解决IDEA启动失败 Improperly specified VM option...问题
  6. React-滑条组件使用
  7. linux twm 窗口调节,CENTOS5.1怎样在命令行模式下改变X窗口启动的方式(TWM)
  8. Aerial for Mac(mac最美的鸟瞰屏幕保护程序)支持big
  9. PyAutoGUI库-模拟鼠标键盘操作
  10. springboot和druid的整合