Документация 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 в документации.