Как значение триплета RBG преобразуется в одно значение? одно значение находится в диапазоне от 0 до 255. как одно значение отображается в цветное изображение?

Используя OpenCV, было прочитано входное изображение (синее фоновое изображение рождественской елки внутри).

Изображение ниже - входное изображение.

введите описание изображения здесь

вывод считанного изображения изменится с синего фона на красный.

введите описание изображения здесь

когда я просмотрел значение переменной 'image' в spyder. Здесь 3 - канал RGB

введите здесь описание изображения При двойном щелчке по значению отображается с осью = 0. то, что я понял, это значение BGR

введите описание изображения здесь

Ось = 1 здесь to0 BGR

введите описание изображения здесь

Ось = 2. Я застрял здесь. Я бы не понял, как тройное значение (пикселя) значения RBG преобразуется в одно значение каждого пикселя и как этот пиксель (0,0) = 254 представляет здесь красный цвет.

введите описание изображения здесь

Я понял для черного и белого значения варьируются от 0 до 255. Но вот как ось = 2 (пиксель (0,0) = 254) представляет красный цвет (угадывая из вывода прочитанного изображения).


person Ramisha Rani K    schedule 18.04.2019    source источник


Ответы (1)


Вы читаете изображение с помощью OpenCV, в котором используется матрица цветовых каналов BGR. Однако вы отображаете его с помощью другой библиотеки, которая принимает матрицу цветовых каналов как RGB. Преобразуйте ваше изображение в RGB с помощью cv2.cvtColor(image, cv2.BGR2RGB), и оно затем отобразит его.

person Jazz    schedule 19.04.2019
comment
Спасибо за ваш ответ. мой вопрос - это математика за каждым пикселем. Я понял твой ответ. Для черно-белого изображения каждый пиксель варьируется от 0 до 255 от черного до белого. Что я хотел бы знать, так это для цветного изображения, как они конвертируют триплет BGR или RGB в одно значение (которое варьируется от 0 до 255). Обратитесь к изображению Asix = 2. - person Ramisha Rani K; 19.04.2019
comment
Я читал изображение с помощью OpenCv image=cv2.imread('bluebackground.jpg'). - person Ramisha Rani K; 20.04.2019
comment
Я читал изображение с помощью OpenCv image=cv2.imread('bluebackground.jpg'). Объясните, пожалуйста, скриншот, который я показал. Я прочитал (R, G, B)=image[0,0] вывод R=254, G= 0, B=0. Axis = 2 screenshot '(0,0) = 254', который красный. Если мы видим значение каждого пикселя, оно показывает значение R только в Axis = 2. Что такое Axis = 0,1? - person Ramisha Rani K; 20.04.2019
comment
Ось 0,1 представляет синий и зеленый цвета, а ось 2 представляет канал красного цвета. если ось 0,1 равна нулю, это означает, что в изображении нет синего и зеленого цветов. (0, 0, 254) означают, что на изображении есть только красный цвет. - person Jazz; 22.04.2019
comment
отобразить изображение с помощью функции cv2.imshow и проверить значения пикселей RGB. Тогда вы это поймете. - person Jazz; 22.04.2019