Какое цветовое пространство использовать для яркости, YUV или HSL? - PullRequest
0 голосов
/ 17 мая 2018

Предположим, у нас есть фотография, сделанная при недостаточном освещении. Изображение темнее обычного, но все же узнаваемо.

Теперь мы хотим сделать его ярче, чтобы оно выглядело как сделанное при достаточном освещении.

Должны ли мы преобразовать изображение в YUV и настроить канал Y (яркость) или преобразовать в HSL и настроить канал L (яркость)?

Формулировка мне кажется похожей, а их формула сильно отличается:

Y: 0,299 * R + 0,587 * G + 0,114 * B

L: 0,5 * (max + min), в то время как max / min является значением max / min среди RGB

EDIT:

Более конкретно, я собираюсь использовать opencv, cv2.cvtColor (), но не уверен, какой входной аргумент лучше подходит для моих нужд: BGR2YUV или BGR2HLS

1 Ответ

0 голосов
/ 17 мая 2018

Настройка только Y и L (в YCbCr и HSL) приведет к потере информации, такой как контраст между высокими значениями пикселей. Я предложу использовать какое-либо аффинное преобразование на Y или L

255 * (Y (х, у) - мин (Y)) / (макс (Y) - мин (Y))

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

...