IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 【Opencv小项目 1】Opencv实现简单颜色识别 -> 正文阅读

[人工智能]【Opencv小项目 1】Opencv实现简单颜色识别

参考

  1. Pysource Youtube教学视频
  2. BGR HSV颜色模型

步骤

一、 BGR 和 HSV 颜色模型

BGR Model
BGR模型表示三种颜色通道:红、绿、蓝,采用BGR模型的图像的颜色就是由红绿蓝三种颜色加权和混合而成。
此类模型的缺点显而易见,就是很难去表达一种颜色。比如你修改了如下BGR中的B值,间接地, G和R通道的颜色也会被改变掉。
在这里插入图片描述
在这里插入图片描述

HSV Model
H表示Hue颜色;S表示Saturation饱和度;V表示Value明度。
简单理解就是
H指定一种颜色,从0到360;
S是白光所占程度,从0到1, 0表示饱和度最高,就是白光最多;
V表示明度,从0到1, 0表示最暗
在这里插入图片描述

二、使用摄像头,利用HSV实现颜色识别

1. 思路
读取摄像头视频流,取窗口中间一点,将其像素值(BGR)转换为HSV,然后根据Hue来简单判断颜色。然后显示到窗口上。

2.代码

import cv2

cap = cv2.VideoCapture(0)
cap.set(cv2.CAP_PROP_FRAME_WIDTH,1080) #set window's width and height
cap.set(cv2.CAP_PROP_FRAME_HEIGHT,780) 

while True:
    _, frame = cap.read()
    hsv_frame = cv2.cvtColor(frame, cv2.COLOR_BGR2HSV)
    height,width,_ = hsv_frame.shape

    wx = int(width/2) # center 
    wy = int(height/2)

    center_color = hsv_frame[wy,wx] #中心点HSV像素值
    hue_value = center_color[0] #取Hue

    if hue_value < 5:
        color = 'RED'
    elif hue_value < 22:
        color = 'ORANGE'
    elif hue_value < 33:
        color = 'YELLOW'
    elif hue_value < 78:
        color = 'GREEN'
    elif hue_value <131:
        color = 'BLUE'
    elif hue_value < 167:
        color = 'VIOLET'
    else:
        color ='RED'
        
    bgr_color = frame[wy,wx]
    b,g,r = int(bgr_color[0]),int(bgr_color[1]),int(bgr_color[2])

    cv2.circle(frame,(wx,wy),5,(0,255,0),3) # center (x,y)
    cv2.putText(frame,color,(10,50),0,1,(b,g,r),2)
    cv2.imshow('frame',frame)
    key = cv2.waitKey(1)
    if key ==27:
        break

cap.release()
cv2.destroyAllWindows()

3.效果
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2022-06-29 19:04:19  更:2022-06-29 19:06:12 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/29 8:57:25-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码
数据统计