利用颜色检测实现计算机视觉应用
探索颜色检测如何连接人类视觉与计算机视觉,并利用 RGB 和 HSV 色彩空间自动化计算机视觉解决方案。

颜色在人类感知世界的方式中发挥着至关重要的作用,帮助我们识别、理解并与周围环境建立联系。然而,与我们不同,机器并不会“看见”颜色——它们会将颜色作为数据进行处理,把不同的色调和明暗转换为数值。
一辆自动驾驶汽车看到的并不只是一盏红色交通信号灯——它会将这种颜色作为停车信号进行处理。识别和解读颜色的能力有助于弥合人类视觉与计算机视觉之间的差距。
计算机视觉是 AI 的一个分支,能够让机器分析和理解视觉数据。其中一个关键方面就是颜色检测,它可以让机器根据颜色识别和区分物体。通过分析不同颜色空间中的像素值,颜色检测可应用于目标跟踪、医学成像和自动化等领域。
在本文中,我们将深入了解颜色检测的工作原理、它的重要性,以及它在计算机视觉应用中的使用方式。让我们开始吧!
什么是颜色检测?#
颜色检测可以帮助机器根据颜色识别物体并理解场景。与其他计算机视觉任务结合后,它能够提高准确率并增强实际应用效果。在深入了解颜色检测的工作原理之前,先了解颜色如何以数字形式表示会很有帮助。
数字图像由称为像素的微小方块组成,每个像素都包含颜色信息。例如,对于 RGB(红、绿、蓝)颜色模型,颜色由不同比例的红光、绿光和蓝光混合而成。
每种颜色由三个取值范围为 0 到 255 的数值定义,其中 0 表示没有该颜色,255 表示最高强度。例如,纯红色是 (255, 0, 0),因为红色值最高,而绿色和蓝色值为零。白色是 (255, 255, 255),因为三种颜色都处于最高强度。

图 1. 计算机眼中的苹果颜色示例。
如果你熟悉Ultralytics YOLO11这类计算机视觉模型,可能会想知道,为什么颜色检测是区别于目标检测的独立技术。虽然二者都会分析图像,但用途不同。
颜色检测专注于识别图像中的特定颜色,而目标检测则会识别和分类物体,无论物体是什么颜色。在自动驾驶汽车的场景中,颜色检测会检测交通信号灯中的红色,而目标检测会识别交通信号灯本身,帮助汽车做出安全驾驶决策。
颜色空间简介#
颜色模型或颜色空间是用于表示数字图像中颜色的系统,也是颜色检测的重要组成部分。它为颜色分配数值,使计算机能够在不同设备之间一致地解释颜色。颜色空间为数字系统中的颜色存储、调整和显示提供了结构化方式。
常用的颜色空间包括用于数字显示的 RGB、用于图像处理的 HSV(色相、饱和度、明度),以及用于印刷的 CMYK(青色、品红色、黄色、黑色)。RGB 和 HSV 是颜色检测中最常用的颜色空间。下面让我们深入了解它们的工作方式。
RGB 颜色空间概览#
RGB 颜色空间广泛用于数字成像,常见于屏幕、相机和显示设备中。它通过组合不同强度的红光、绿光和蓝光来生成各种颜色。当三种颜色都处于最高强度时,结果为白色;当三种颜色都不存在时,则显示为黑色。
这种颜色空间通常用一个颜色立方体表示,其中每条轴分别代表一种原色。立方体的顶点表示纯红色、纯绿色和纯蓝色及其组合,而立方体内部包含所有可能的色调。
RGB 简单且应用广泛,但也存在一些局限性。颜色在人眼中不一定总是看起来相同,因为 RGB 无法均匀地匹配人类感知颜色差异的方式。此外,它还会受到光照条件的影响,这意味着颜色可能因亮度和环境不同而发生变化。

图 2. RGB 颜色立方体。
HSV 颜色空间概览#
HSV(色相、饱和度、明度)颜色空间根据三个组成部分表示颜色:色相(颜色的类型)、饱和度(颜色的强度)和明度(颜色的亮度)。与混合光线强度的 RGB 不同,HSV 更接近人类感知颜色的方式,因此在许多图像处理任务中更为实用。
具体来说,色相表示实际颜色,以色轮上的角度为单位进行测量,其中红色为 0°,蓝色为 240°。饱和度则控制颜色看起来鲜艳还是暗淡,0% 表示完全灰色,100% 表示完全鲜艳。另一方面,明度决定亮度,范围从 0%(黑色)到 100%(最高亮度)。
有趣的是,HSV 颜色空间通常用圆锥体表示,其中色相环绕在边缘,饱和度向外延伸,亮度则从底部向顶部增加。由于 HSV 将颜色与亮度分离,因此被广泛用于计算机视觉应用。

图 3. HSV 圆锥体。
比较 RGB 和 HSV 颜色空间#
为了并列比较 RGB 和 HSV,我们以橙色为例。在 RGB 颜色空间中,橙色由特定强度的红色和绿色混合而成,通常表示为 (255, 165, 0)——这意味着红色为最高强度、绿色为一定强度,而没有蓝色。不过,由于 RGB 不会将颜色与亮度分离,因此对于需要精确调整颜色的任务来说可能不够直观。
在 HSV 中,橙色的定义方式不同。它的色相约为 30°,决定了它在色轮上的位置。它的饱和度接近 100%,表示这是一种鲜艳、纯粹的颜色;它的明度同样为 100%,表示亮度最高。由于 HSV 将颜色与亮度分离,因此在光照条件可能发生变化的颜色检测应用中通常更有用。

图 4. RGB 和 HSV 值的比较。图片由作者提供。
颜色检测的工作原理#
通常,颜色检测被视为一种图像处理技术,用于从图像或视频中识别并分离颜色。使用图像处理检测图像中的颜色时,依靠颜色空间和阈值处理技术来区分特定的色相、色调和强度。
下面快速概览使用图像处理进行颜色检测时涉及的关键步骤:
- 图像采集: 首先使用相机捕获图像或视频帧。图像通常以 RGB 格式存储为像素矩阵。
- 颜色空间转换: 由于 RGB 并不总是适合颜色检测,因此会将图像转换到 HSV 颜色空间。这有助于将颜色与亮度分离,使检测在不同光照条件下更加稳定。
- 颜色阈值处理: 在 HSV 格式中为目标颜色定义一个特定范围。此步骤会创建一个二值掩码,其中处于所选颜色范围内的像素显示为白色,其他像素显示为黑色。
- 掩码处理: 将二值掩码应用于原始图像,以分离检测到的颜色并滤除其他内容。这样只会突出显示与目标颜色匹配的区域。
检测并分离出颜色后,可以将其用于各种计算机视觉任务,例如目标跟踪、图像分割,以及机器人、医学成像和自动驾驶汽车等应用中的自动决策。
颜色检测在计算机视觉中的作用#
现在我们已经了解了颜色检测的工作原理,接下来探索它如何支持计算机视觉应用。
在某些情况下,颜色检测可以作为计算机视觉模型的更简单替代方案,尤其是在颜色是区分物体主要因素的受控环境中。无需使用海量数据集训练模型,颜色检测即可提供快速高效的解决方案,也不需要大量标注或强大的计算能力。
例如,在自动苹果分拣系统中,可以训练 Ultralytics YOLO11 这样的计算机视觉模型根据苹果的成熟度进行分类,但为了处理光照、纹理和苹果品种的差异,就需要一个包含标注图像的数据集。
一种更直接的方法是先使用目标检测检测苹果,然后分析其颜色来确定成熟度。由于这种方法依赖预先定义的颜色阈值,而不是训练模型,因此在光照和背景不会发生剧烈变化的稳定环境中表现良好。
对于更复杂且变化多端的环境,定制训练的模型可能更合适,但颜色检测是实时应用中快速、实用且易于使用的解决方案。对于正在学习图像处理和计算机视觉的人来说,在转向更高级的解决方案之前,它也是一个很好的起点。
颜色检测的实际应用#
颜色检测应用于众多行业和各种场景。下面让我们简要了解一些实际应用案例。
颜色检测在织物质量评估中的应用#
颜色检测在织物和纺织品生产中至关重要。它通常用于自动化质量控制和缺陷识别系统。与耗时且容易出现人为错误的人工检查不同,自动化系统能够准确地实时检测缺陷。
具体来说,通过分析织物图像,计算机视觉系统可以识别染料分布不均、褪色和污染等缺陷。先进的颜色检测技术可以通过测量不同批次之间的颜色一致性,实现更精确的质量控制。

图 5. 颜色检测在制作彩色织物中发挥着关键作用。
颜色检测在农业中的应用#
如前文所述,颜色是判断成熟度的关键指标,颜色检测技术可用于农业,以监测作物健康状况并改进收获工作。
通过分析颜色变化,农民可以评估植物健康状况、检测疾病,并确定作物何时适合收获。配备颜色传感器和计算机视觉系统的先进机器人可以确保只采摘成熟作物,从而实现流程自动化。这些系统能够提高效率和生产力,尤其是在劳动力短缺的地区。

图 6. 不同成熟度的芒果:(a) 腐烂,(b) 成熟,(c) 未成熟。
要点总结#
颜色检测是一种创新的计算机视觉技术,应用于农业、制造业、医疗保健和自动化等领域。它可以帮助机器识别和解读颜色,用于目标跟踪、质量控制和决策。
虽然先进的 AI 模型仍在持续发展,但颜色检测依然是一种简单有效的解决方案,尤其适用于受控环境。随着技术进步,它可能会继续在改善实际应用方面发挥关键作用。
通过探索我们的社区和GitHub 代码仓库,进一步深入了解 AI。了解制造业中的 AI和医疗保健领域的计算机视觉方面的创新,并通过我们的许可选项了解如何开始利用视觉 AI。









