Использование распознавания цветов в приложениях компьютерного зрения
Узнай, как распознавание цветов соединяет человеческое и компьютерное зрение, используя цветовые пространства 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 продолжают развиваться, обнаружение цветов остаётся простым и эффективным решением, особенно в контролируемых средах. По мере развития технологий оно, вероятно, продолжит играть ключевую роль в совершенствовании приложений реального мира.
Узнай больше об AI, изучив наше сообщество и репозиторий GitHub. Узнай о новых разработках в области AI в производстве и компьютерного зрения в здравоохранении, а также о том, как начать использовать AI для работы со зрением с помощью наших вариантов лицензирования.









