Я хочу найти доминирующий цвет в изображении в Opencv C ++ - PullRequest
0 голосов
/ 30 января 2020

Я новичок в openCV и в поиске за последние две недели, но все ответы либо в python, либо не настолько точны. Я просто хочу найти максимальное количество цветов в любом изображении. Я попытался преобразовать в плоскость HSV, а затем зацикливая изображение и извлекая канал оттенка, а затем увеличивая количество каждого цвета, который находится в диапазоне. но этот метод не был точным вообще. Так что в поисках лучшего решения.

1 Ответ

0 голосов
/ 30 января 2020

Глядя на преобразование цвета из RGB в HSV , я думаю, что вы можете сделать следующее:

Черный: V ниже 25 и S ниже 100
Белый: V выше 230, а S ниже 30
Красный: H ниже 15 или выше 165
Желтый: H между 15-45
Зеленый: H между 45-75
Голубой: H между 75-105
Синий: H между 105-135
Пурпурный: H между 135-165

Можно добавить больше цветов, сузив канал H или указав оттенки для цветов, например, если 45 < H < 75, темно-зеленый для V < 128 и светло-зеленый для 128 < V. Вы должны относиться к черному и белому по-разному в любом случае. Эти значения S и V являются только примерами, вы даже можете иметь функции для них. Другие цвета проверяются по оттенкам серого.

...