敬请关注 YOLO Vision 2025!
2025年9月25日
英国夏令时 10:00 - 18:00
混合活动
Yolo Vision 2024

在计算机视觉应用中利用颜色检测

Abirami Vina

5 分钟阅读

2025年2月28日

探索颜色检测如何桥接人类视觉和计算机视觉,使用 RGB 和 HSV 颜色空间来自动化计算机视觉解决方案。

颜色在人类体验世界的方式中起着至关重要的作用,帮助我们识别、理解和连接周围环境。然而,与我们不同,机器看不到颜色——它们将颜色作为数据处理,将阴影和色调转换为数值。

自动驾驶汽车不仅仅是看到红色的交通灯——它将颜色处理为停止的信号。这种识别和解释颜色的能力有助于弥合人类视觉和计算机视觉之间的差距。

计算机视觉是 AI 的一个分支,使机器能够分析和理解视觉数据。其中的一个关键方面是颜色检测,它允许机器根据颜色识别和区分物体。通过分析不同颜色空间中的像素值,颜色检测可用于物体跟踪、医学成像和自动化等应用。

在本文中,我们将仔细研究颜色检测的工作原理、重要性以及它在计算机视觉应用中的使用方式。让我们开始吧!

什么是颜色检测?

颜色检测帮助机器识别物体并根据颜色理解场景。当与其他 计算机视觉任务 结合使用时,它可以提高准确性并增强实际应用。在深入研究颜色检测的工作原理之前,了解颜色如何在数字中表示是有帮助的。

数字图像由称为像素的微小正方形组成,每个像素都包含颜色信息。例如,对于 RGB(红、绿、蓝)颜色模型,颜色是通过混合不同强度的红色、绿色和蓝色来创建的。 

每种颜色由三个值定义,范围从 0 到 255,其中 0 表示没有颜色,255 表示全强度。例如,纯红色是 (255, 0, 0),因为它具有最高的红色值,而没有绿色或蓝色。白色是 (255, 255, 255),因为所有三种颜色都处于全强度。

__wf_reserved_inherit
图 1. 计算机如何看到苹果颜色的示例。

如果您熟悉像 Ultralytics YOLO11 这样的计算机视觉模型,您可能想知道为什么颜色检测是一种独立于目标检测的技术。虽然两者都分析图像,但它们服务于不同的目的。

颜色检测侧重于识别图像中的特定颜色,而目标检测识别和分类物体,而不管其颜色如何。在自动驾驶汽车场景中,颜色检测检测交通灯中的红色,而 目标检测 识别交通灯本身,帮助汽车做出安全的驾驶决策。

颜色空间简介

颜色模型或颜色空间是一种用于表示数字图像中颜色的系统,是颜色检测的关键部分。它为颜色分配数值,使计算机能够在不同的设备上一致地解释它们。颜色空间提供了一种结构化的方式来存储、调整和显示数字系统中的颜色。

一些常用的颜色空间包括用于数字显示的 RGB、用于图像处理的 HSV(色调、饱和度、值)和用于打印的 CMYK(青色、品红色、黄色、黑色)。RGB 和 HSV 是用于检测颜色最常用的颜色空间。让我们深入了解它们的功能。

RGB 颜色空间概述

RGB颜色空间广泛应用于数字成像领域,常见于屏幕、相机和显示设备中。它通过组合不同强度的红色、绿色和蓝色光来创建各种颜色。当所有三种颜色都达到最大强度时,结果是白色;当所有颜色都不存在时,结果是黑色。

这种颜色空间通常被可视化为一个颜色立方体,其中每个轴代表一种原色。立方体的角显示纯红色、绿色和蓝色,以及它们的组合,而内部包含所有可能的色调。

虽然RGB简单且流行,但它也有一些局限性。由于RGB不能均匀地匹配我们感知颜色差异的方式,因此颜色对人眼来说并不总是看起来相同。它也受到光照条件的影响,这意味着颜色会因亮度和环境的不同而呈现出不同的效果。

__wf_reserved_inherit
图2. RGB颜色立方体。

HSV颜色空间概述

HSV(色相、饱和度、明度)颜色空间基于三个分量来表示颜色:色相(颜色的类型)、饱和度(颜色的强度)和明度(颜色的亮度)。与混合光强度的RGB不同,HSV更接近于人类感知颜色的方式,使其成为许多图像处理任务的更实用选择。

具体来说,色相代表实际颜色,并在色轮上以度数测量,红色为0°,蓝色为240°。同时,饱和度控制颜色看起来有多鲜艳或多暗淡,0%为完全灰色,100%为完全鲜艳。另一方面,明度决定亮度,范围从0%(黑色)到100%(全亮度)。

有趣的是,HSV颜色空间通常被可视化为一个锥体,其中色相环绕边缘,饱和度向外移动,亮度从底部到顶部增加。由于它将颜色与亮度分离,因此HSV广泛应用于计算机视觉应用中。

__wf_reserved_inherit
图3. HSV锥体。

RGB和HSV颜色空间比较

为了并排比较RGB和HSV,让我们以橙色为例。在RGB颜色空间中,橙色是通过以特定强度混合红色和绿色来创建的,通常表示为(255, 165, 0)——这意味着全红色、一些绿色和没有蓝色。但是,由于RGB没有将颜色与亮度分离,因此对于需要精确颜色操作的任务来说,它可能不太直观。

在HSV中,橙色的定义不同。它的色相约为30°,这决定了它在色轮上的位置。它的饱和度接近100%,这意味着它是一种鲜艳、纯粹的颜色,并且它的明度也是100%,表示完全亮度。由于HSV将颜色与亮度分离,因此它在光照条件可能变化的颜色检测应用中通常更有用。

__wf_reserved_inherit
图4. RGB和HSV值比较。图片由作者提供。

颜色检测的工作原理

通常,颜色检测被视为一种图像处理技术,用于识别和分离图像或视频中的颜色。使用图像处理在图像中检测到的颜色依赖于颜色空间和阈值技术来区分特定的色调、阴影和强度。 

以下是使用图像处理进行颜色检测所涉及的关键步骤的快速概述:

  • 图像采集: 该过程首先使用相机捕获图像或视频帧。图像通常以RGB格式存储为像素矩阵。
  • 颜色空间转换: 由于RGB并不总是颜色检测的理想选择,因此图像将转换为HSV颜色空间。这有助于将颜色与亮度分离,从而使检测在不同的光照条件下更加稳定。
  • 颜色阈值处理: 在HSV格式中为目标颜色定义特定范围。此步骤创建一个二进制掩码,其中所选颜色范围内的像素显示为白色,所有其他像素显示为黑色。
  • 掩蔽: 二进制掩码应用于原始图像以隔离检测到的颜色,从而滤除所有其他内容。这仅突出显示与所需颜色匹配的区域。

一旦检测到并隔离了颜色,它就可以用于各种计算机视觉任务,例如对象跟踪、图像分割以及机器人技术、医学成像和自动驾驶汽车等应用中的自动决策。

颜色检测在计算机视觉中的作用

现在我们已经了解了颜色检测的工作原理,让我们探讨一下它如何支持计算机视觉应用。 

在某些情况下,颜色检测可以作为计算机视觉模型的更简单替代方案,尤其是在受控环境中,颜色是区分对象的主要因素。颜色检测无需使用大量数据集训练模型,而是提供了一种快速有效的解决方案,无需进行广泛的标记或高计算能力。

例如,在自动苹果分拣系统中,可以训练像YOLO11这样的计算机视觉模型来按成熟度分类苹果,但这需要一个标记图像的数据集来处理光照、纹理和苹果类型的变化。 

一种更直接的方法是首先使用目标检测来检测苹果,然后分析它们的颜色以确定成熟度。由于此方法依赖于预定义的颜色阈值,而不是训练模型,因此它在光照和背景变化不大的稳定条件下效果良好。

虽然定制训练的模型可能更适合复杂和多变的环境,但颜色检测对于实时应用来说是一种快速、实用且易于实现的解决方案。对于那些在转向更高级的解决方案之前学习图像处理和计算机视觉的人来说,这也是一个很好的起点。

颜色检测的实际应用

颜色检测被广泛应用于各个行业的各种应用中。让我们来看看一些实际的用例。

用于织物质量评估的颜色检测

颜色检测在织物和纺织品生产中至关重要。它通常用于自动化质量控制和缺陷识别系统。与耗时且容易出现人为错误的手动检测不同,自动化系统提供准确的实时缺陷检测。 

具体来说,通过分析织物图像,计算机视觉系统可以识别诸如不均匀的染料分布、褪色和污染等缺陷。先进的颜色检测技术通过测量不同批次之间的颜色一致性,使更精确的质量控制成为可能。

__wf_reserved_inherit
图 5. 颜色检测在创造色彩鲜艳的织物方面起着关键作用。

在农业中使用颜色检测

如前所述,颜色是成熟度的关键指标,颜色检测技术可用于农业中,以监测作物健康并改进收割。 

通过分析颜色变化,农民可以评估植物健康状况、检测疾病并确定作物何时可以收割。配备颜色传感器和计算机视觉的先进机器人通过确保只采摘成熟的作物来帮助自动化该过程。这些系统可以提高效率和生产力,尤其是在劳动力短缺的地区。

__wf_reserved_inherit
图 6. 不同成熟度的芒果:(a)腐烂,(b)成熟,和(c)未成熟。

主要要点

颜色检测是一种创新的计算机视觉技术,可应用于农业、制造业、医疗保健和自动化领域。它可以帮助机器识别和解释颜色,以进行物体跟踪、质量控制和决策。 

虽然先进的 AI 模型在不断发展,但颜色检测仍然是一种简单有效的解决方案,尤其是在受控环境中。随着技术的进步,它可能会继续在改善实际应用方面发挥关键作用。

通过浏览我们的社区GitHub存储库,更深入地了解 AI。 了解制造业中的 AI医疗保健中的计算机视觉的创新,并了解如何通过我们的许可选项开始利用视觉 AI。

让我们一起构建人工智能的未来!

开启您的机器学习未来之旅

免费开始
链接已复制到剪贴板