Каковы рекомендуемые цветовые пространства для определения оранжевого цвета в открытом резюме?

Мне нужно подходящее цветовое пространство для определения оранжевого цвета над очень похожими цветами, такими как красный и желтый. Я уже пробовал некоторые цветовые пространства, такие как:RGB HSV и YUV, но объект, который я хочу обнаружить, меняет свое положение, что означает изменение освещения окружающей среды. Со временем это моя главная проблема.

2 ответа

HSV - хорошее цветовое пространство для определения цвета. Это цветовая карта hsv для справки:

Ось X представляет оттенок в [0,180), ось Y1 представляет насыщенность в [0,255], ось Y2 представляет S = 255, в то время как V = 255.

Чтобы найти цвет, обычно просто ищите диапазон H и S и установите v в диапазоне (20, 255).


Например:

  1. обнаружить оранжевый

Подробности из моего другого ответа: Выбор правильной верхней и нижней границ ВПГ для определения цвета с помощью `cv::inRange` (OpenCV)

Чтобы найти оранжевый цвет, мы ищем карту и находим наилучший диапазон: H:[10, 25], S: [100, 255] и V: [20, 255]. Таким образом, маска cv2.inRange(hsv,(10, 100, 20), (25, 255, 255))

#!/usr/bin/python3
# 2018.01.21 20:46:41 CST
import cv2

img = cv2.imread("test.jpg")
hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)
mask = cv2.inRange(hsv,(10, 100, 20), (25, 255, 255) )
cv2.imshow("orange", mask);cv2.waitKey();cv2.destroyAllWindows()

Результат:

  1. определить зеленый / желтый / синий

Как определить пороговое значение для обнаружения только объектов зеленого цвета на изображении:Opencv

  1. обнаружить два разных цвета

Как обнаружить два разных цвета, используя `cv2.inRange` в Python-OpenCV?

Случайный выбор цветовой системы может быть не лучшим подходом.

Более систематический подход мог бы заключаться в рассмотрении цветовой гистограммы, такой как ниже, которая показывает все пиксели изображения в кубе RGB.

Затем вы заполняете эту гистограмму образцами оранжевого цвета, взятыми из различных изображений, таким образом, чтобы покрыть все "апельсины", о которых вы думаете.

Это ограничит область в пространстве RGB, а форма области подскажет вам наиболее подходящую цветовую систему, зная, как другие цветовые системы отображаются на куб. Например, HLS может быть представлен в виде биконуса или бипирамиды с его осями вдоль главной диагонали куба.

Правда, это сложная задача.

Другие вопросы по тегам