Каков диапазон значений пикселей в цветовых пространствах HSV, YCrCb и LAB для каждого канала в opencv python - PullRequest
0 голосов
/ 21 ноября 2018

Каков диапазон значений в цветовых пространствах HSV, YCrCb и LAB в opencv python.Например, в RGB, R -> 0-255, G -> 0-255 и B -> 0-255.Каков допустимый диапазон для указанных цветовых пространств.

Спасибо

1 Ответ

0 голосов
/ 21 ноября 2018

Документация OpenCV полностью охватывает это.Напомним, что для ваших конкретных вопросов, для 8-битного изображения преобразование из изображения BGR со следующими кодами преобразования даст вам следующие максимальные значения для каждого канала:

  • COLOR_BGR2HSV --> [180, 255, 255]
  • COLOR_BGR2Lab --> [255, 255 255]
  • COLOR_BGR2YCrCb --> [255, 255 255]

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

Например, цветовые пространства HLS и HSV обычно дают значения канала H (оттенка) в [0, 360) для отображения 360 градусов цвета на цветовом круге.Однако вы не можете вписать эти значения в тип uint8, поэтому вместо этого OpenCV делит это значение на 2 с COLOR_BGR2HSV или COLOR_BGR2HLS, чтобы оно соответствовало, но это означает, что вы можете указать только 180 отдельных оттенков в uint8образ.Но вы можете выбрать 255 различных значений, поэтому вместо этого существуют опции COLOR_BGR2HSV_FULL и COLOR_BGR2HLS_FULL (и наоборот), чтобы указать использование полного диапазона 255 для канала оттенка;так что 0 отображает на 0, 255 отображает на 360 градусов, и линейно разнесены между ними.

Все доступные цветовые коды можно увидеть под ColorConversionCodes в документации.

...