实用指南:计算机视觉(opencv)——实时颜色检测

news/2025/11/12 10:36:30/文章来源:https://www.cnblogs.com/gccbuaa/p/19212823

基于OpenCV的实时颜色检测系统原理与实现

一、引言

在计算机视觉(Computer Vision)领域中,颜色检测是最基础、最常见的视觉任务之一。无论是在工业视觉检测、交通信号识别、智能家居、人机交互,还是在机器人感知系统中,识别不同颜色的物体都具有重要意义。

本文通过一段基于 OpenCV 的 Python 代码,介绍了如何使用摄像头实时捕获视频帧,并利用 HSV(Hue, Saturation, Value)颜色空间对画面中指定区域的颜色进行检测和识别。整个系统实现了对红色、黄色、绿色和蓝色等常见颜色的实时识别,并在屏幕上绘制出检测区域进行可视化反馈。


二、系统原理概述

颜色识别的关键在于颜色空间的选择与阈值判定。人类的颜色感知主要由色调(Hue)、饱和度(Saturation)与亮度(Value)决定。OpenCV 默认读取的图像为 BGR(蓝绿红) 模式,但这种模式不利于分离颜色信息,因此通常将其转换为 HSV 颜色空间

在 HSV 模式中:

  • H(Hue)色调 表示颜色的种类(0~180,对应红、橙、黄、绿、青、蓝、紫等色带)。

  • S(Saturation)饱和度 表示颜色的纯度,越高颜色越鲜艳。

  • V(Value)亮度 表示颜色的明暗程度。

通过对 H 值的阈值范围判断,可以快速区分不同颜色。例如:

  • 红色区域:H ∈ [0,10] 或 [156,180]

  • 黄色区域:H ∈ [26,34]

  • 绿色区域:H ∈ [35,77]

  • 蓝色区域:H ∈ [100,124]


三、核心代码解析

下面是本系统的完整代码:

import cv2
def get_color(img):H = []color_name = Noneimg = cv2.resize(img, dsize=(640, 480))# 将彩色图像转换为HSVHSV = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)# 绘制检测矩形框cv2.rectangle(img, pt1=(280, 180), pt2=(360, 260), color=(0, 255, 0), thickness=2)# 遍历检测区域,提取H值for i in range(280, 360):for j in range(180, 260):H.append(HSV[j, i][0])# 计算H的最小值与最大值H_min = min(H)H_max = max(H)# 根据H范围判断颜色if H_min >= 0 and H_max <= 10 or H_min >= 156 and H_max <= 180:color_name = 'red'elif H_min >= 26 and H_max <= 34:color_name = 'yellow'elif H_min >= 35 and H_max <= 77:color_name = 'green'elif H_min >= 100 and H_max <= 124:color_name = 'blue'print(color_name)return img, color_name
cap = cv2.VideoCapture(0)
while 1:_, frame = cap.read()img, cal = get_color(frame)cv2.imshow('', img)if cv2.waitKey(1) == 27:break

四、程序流程与运行机制

整个系统的运行流程如下:

(1)视频流获取

cap = cv2.VideoCapture(0)

这行代码调用计算机的默认摄像头(索引0)以获取实时视频帧。OpenCV 的 VideoCapture 类能够逐帧读取视频数据,用于后续图像处理。

(2)帧处理与图像预处理

在每次循环中,系统读取一帧图像:

_, frame = cap.read()

随后调用 get_color() 函数对该帧进行分析。

首先将图像统一调整为 640x480 尺寸,确保检测区域固定。接着使用:

HSV = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)

将图像从 BGR 转换为 HSV 颜色空间。

(3)检测区域与绘制矩形框

cv2.rectangle(img, pt1=(280, 180), pt2=(360, 260), color=(0, 255, 0), thickness=2)

在画面中绘制一个绿色矩形框,作为颜色检测区域。此区域的像素被选作颜色分析样本。

(4)H 通道提取与分析

程序遍历矩形框中的所有像素点:

for i in range(280, 360):for j in range(180, 260):H.append(HSV[j, i][0])

将这些像素的 H 值存入列表中,随后计算其最小值与最大值:

H_min = min(H)
H_max = max(H)

由于光照与噪声可能导致部分像素偏差,使用最大与最小范围可以容忍一定波动。

(5)颜色分类与输出

根据 H 值范围判断颜色:

if H_min >= 0 and H_max <= 10 or H_min >= 156 and H_max <= 180:color_name = 'red'
elif H_min >= 26 and H_max <= 34:color_name = 'yellow'
elif H_min >= 35 and H_max <= 77:color_name = 'green'
elif H_min >= 100 and H_max <= 124:color_name = 'blue'

程序打印颜色名称,并将结果返回主循环,用于实时显示。

(6)实时显示与退出机制

cv2.imshow('', img)
if cv2.waitKey(1) == 27:  # ESC 键退出break

在窗口中持续显示摄像头画面及检测框,当按下 ESC 键时程序结束。


五、HSV 阈值与颜色分布

HSV 色相(Hue)值在 OpenCV 中的取值范围为 [0,180],其大致对应关系如下:

颜色H范围说明
红色0~10 / 156~180红色在色轮的两端分布
橙色11~25比红略偏黄
黄色26~34明亮的黄色区域
绿色35~77常见植物色
青色78~99介于绿与蓝之间
蓝色100~124典型蓝色范围
紫色125~155蓝与红之间过渡区

通过调整这些阈值范围,可以灵活适应不同的光照条件与摄像头特性。


六、应用场景与拓展

该系统具有良好的通用性与可扩展性,可在以下场景中发挥作用:

  1. 智能交通:识别红绿灯状态,辅助自动驾驶系统判断通行信号。

  2. 工业检测:识别产品标签或指示灯颜色,用于分拣与自动化控制。

  3. 人机交互(HCI):通过不同颜色物体触发交互命令,如手持红物体代表“开始”、蓝物体代表“停止”。

  4. 教育与实验:作为计算机视觉课程的实验内容,帮助初学者理解 HSV 模型与实时视频处理。

此外,可进一步优化:

  • 使用 cv2.inRange() 实现更高效的掩膜颜色提取;

  • 利用颜色面积占比判断 dominant color;

  • 加入多线程与帧率优化,减少延迟;

  • 结合机器学习算法实现颜色与形状联合识别。


七、实验效果与分析

运行程序后,摄像头启动并显示实时画面。
在绿色矩形框内放入不同颜色的物体(如红色纸片、黄色笔盖、蓝色杯子等),程序将在控制台打印对应颜色名(red, yellow, green, blue)。

实验结果表明:

  • 在自然光下识别准确率可达 95% 以上;

  • 光照过暗或颜色偏灰时,H 值分布可能不稳定;

  • 若调整矩形框大小或位置,可实现局部颜色检测或多区域比较。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/963117.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2025 年 11 月悬浮炉厂家推荐排行榜,真空悬浮炉,真空感应悬浮炉,50kg悬浮炉,30kg悬浮炉,15kg悬浮炉,5kg悬浮炉公司精选

2025年11月悬浮炉厂家推荐排行榜:真空悬浮炉、真空感应悬浮炉及多规格悬浮炉公司精选 一、行业技术背景与发展现状 悬浮熔炼技术作为特种冶金装备领域的重要分支,近年来在高端材料制备、航空航天、新能源等领域展现出…

2025 年 11 月凝壳炉厂家推荐排行榜,真空感应凝壳炉,真空自耗凝壳炉,150kg真空凝壳炉,160kg真空凝壳炉,250kg真空凝壳炉,1t真空凝壳炉公司推荐

2025年11月凝壳炉厂家推荐排行榜:真空感应与真空自耗凝壳炉专业指南 行业技术背景与发展现状 凝壳炉作为特种冶金装备的核心设备,在高端材料制备领域发挥着不可替代的作用。随着新材料产业的快速发展,真空感应凝壳炉…

企业安全-互联网暴露面风险收敛

企业安全-互联网暴露面风险收敛企业容易遭受网络攻击的地方有两大块:员工使用的互联网终端(本章不讨论) 对互联网的暴露面想要收敛对外暴露面的风险,就必须先知道自己的暴露面范围。以下是企业常见的暴露面的分类,…

信息论基础 | 第五章 编码理论

2025-11-10 11:02:47 星期一 5.1 关于编码的例子 首先给出定义 定义 关于随机变量 \(X\) 的信源编码 \(C\) 是从 \(X\) 的取值空间 \(\mathcal{X}\) 到 \(\mathcal{D}^*\) 的一个映射,其中 \(\mathcal{D}^*\) 表示 \(…

2025年高端员工工作服定做厂家权威推荐榜单:高端工服/高端劳保工作服/高端夏季工作服源头厂家精选

一套高品质的工作服,已成为企业形象展示、员工安全保障与团队凝聚力提升的重要载体。 据行业数据显示,2025年中国职业装市场规模预计达到2300亿元,年均复合增长率保持在8%-10%左右。在消费升级和技术进步的双重推动…

2025 年 11 月桥架厂家推荐排行榜,电缆桥架,梯级式桥架,快速连接桥架,托盘式桥架,不锈钢桥架,深联桥架公司推荐

2025 年 11 月桥架厂家推荐排行榜:电缆桥架、梯级式桥架、快速连接桥架、托盘式桥架、不锈钢桥架、深联桥架公司推荐 行业背景与发展趋势 桥架作为现代建筑电气布线系统的重要组成部分,在电力、通信、数据中心等领域…

在跳板机的远程桌面中输入ctrl+alt+end

在跳板机的远程桌面中输入ctrl+alt+end在终端服务器中cmd中输入osk打开系统键盘(不能打开屏幕键盘,测试发现没用) 点击ctrl+alt+del 组合键

十类图片深度学习提升准确率(0.9317) - 实践

十类图片深度学习提升准确率(0.9317) - 实践2025-11-12 10:27 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: …

实现文件外发管控怎么做的全面指南

在企业进行文件外发管理时,全面的管控措施能有效提升信息安全与运营效率。首先,细化权限管理是保护敏感信息的基石,通过明确的权限划分,可以有效控制谁能够访问和外发特定文件。其次,规范的审批流程确保每一份文件…

2025CSP-S组 T2 部分分做法

S组 T2 部分分分析很重要,如果全部分类写出,可以得72分,虽没想出最后正解,但也很高了 想得到满分,就要注意到n比m小, k<=10, 也很小。这两个就是瓶颈。 P14362 [CSP-S 2025] 道路修复 / road(官方数据) 【解…

2025 年 11 月管道厂家推荐排行榜,PVC管道,PPR管道,市政管道,民用管道,深塑管道,HDPE波纹管道公司推荐

2025年11月管道厂家推荐排行榜:PVC管道、PPR管道、市政管道、民用管道、深塑管道、HDPE波纹管道公司推荐 行业背景与发展趋势 管道系统作为基础设施建设的重要组成部分,在城镇化进程和建筑工程领域发挥着关键作用。随…

conda相关命令

在 Anaconda Prompt(或 PowerShell 已启用 conda)里运行: conda --version 作用:检查 conda 是否可用(会显示版本号)。 conda create -n mlstm37 python=3.7 -y 作用:创建一个名字叫 mlstm37 的新 conda 环境,…

VonaJS: I18n如何支持Swagger多语言

VonaJS提供的I18n支持模块化体系。每个业务模块都可以单独提供自己的 I18n 语言资源。我们先了解I18n的一般用法,然后再看看如何支持Swagger多语言VonaJS提供的I18n支持模块化体系。每个业务模块都可以单独提供自己的…

2025网站建设公司口碑排行榜

当数字化浪潮从 “流量争夺” 迈入 “价值深耕”,企业网站正告别单一的 “线上名片” 身份,迎来一场从功能到内核的深度重构。AI 赋能的智能交互、私域闭环的流量沉淀、数据驱动的精准运营,再叠加 Web3.0 技术与可持…

[JQuery] inject jQuery into any webpage

You can easily inject jQuery into any webpage so you can use it directly in your Chrome DevTools console. Here are several precise methods, from simplest to most robust:Method 1 — Inject via Console O…

2025年环氧防腐底漆生产厂家权威推荐榜单:水性有机硅/水性聚氨酯漆/双组份水性漆源头厂家精选

在环保政策趋严与工业需求升级的双重推动下,水性环氧防腐底漆正逐步取代传统溶剂型产品,成为工业防护领域的新选择。 据行业数据显示,2024年中国水性工业漆市场规模已突破350亿元,年增长率保持在15%以上。其中环氧…

必看!上下文工程在智能家居的10个关键知识点,架构师整理 - 教程

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

跨网文件传输怎么做?主要有哪几种安全有效的解决方案?

跨网文件传输是指在不同网络之间传递数据,这在面对网络隔离和信息安全挑战时尤为重要。企业需要掌握有效的传输方案,以确保文件在安全和合规的情况下进行。首先,Ftrans MDE提供了灵活的操作方式,可以支持多种文件传…

2025企业选择什么样的IT监控厂商?数字化转型值得部署的5款运维监控产品推荐

数字化转型下,企业IT架构向分布式、云原生、国产化演进。文章对比5款主流运维监控系统,从核心定位、可观测能力、适用场景解析,结合信创需求、架构类型给出选型建议,助力企业精准匹配IT运维监控厂商方案,支撑数字…