Что делает cv2.COLOR_GRAY2RGB? - PullRequest
       20

Что делает cv2.COLOR_GRAY2RGB?

0 голосов
/ 13 марта 2020

Я столкнулся с этим API cv2.COLOR_GRAY2RGB. Я нахожу это странным, потому что не должно быть никакого способа преобразовать изображение в оттенках серого в изображение RGB. Итак, я попробовал что-то вроде этого: Я взял изображение, подобное этому:

enter image description here

Изображение показано с помощью plt.imshow (img) (с аргументами по умолчанию) ). Затем я конвертирую его в оттенки серого с помощью cv2.cvtColor (img, cv2.COLOR_BGR2GRAY) и получаю это:

enter image description here

Я знаю, что оно не выглядит серым -scale ищет потому, что imshow () по умолчанию не отображает серое изображение (я думаю, больше похоже на тепловую карту). Поэтому я использовал cv2.cvtColor (img, cv2.COLOR_GRAY2RGB) и получил это:

enter image description here

Он выглядит серым для глаз, несмотря на то, что теперь у него три канала , Итак, я пришел к выводу, что cv2.COLOR_GRAY2RGB - это обходной вариант для отображения полутонового изображения в оттенках серого без изменения настроек imshow ().

Теперь мой вопрос заключается в том, когда я использую cv2.cvtColor ( img, cv2.COLOR_BGR2GRAY) снова, чтобы преобразовать это трехканальное серое изображение обратно в один канал, значение пикселя точно такое же, как в первый раз, когда я преобразовал исходное изображение в один канал с помощью cv2.cvtColor (img, cv2.COLOR_BGR2GRAY) : enter image description here

Другими словами, cv2.COLOR_BGR2GRAY может выполнять сопоставление «многие к одному». Интересно, как это возможно?

1 Ответ

2 голосов
/ 13 марта 2020
Цветовой режим

COLOR_BGR2GRAY оценивает значение серого для каждого пикселя с использованием взвешенной суммы каналов B, G, R, w_R*R+w_G*G+w_B*B=Y на пиксель. Таким образом, любое 3-канальное изображение становится 1-канальным. Цветовой режим

COLOR_GRAY2BGR в основном заменяет все каналы B, G, R на значение серого Y, поэтому B=Y, G=Y, R=Y. Он преобразует одноканальное изображение в многоканальное путем репликации.

Более подробная информация о цветовых режимах здесь .

...