What is the actual ratio of color channels used in function rgb2gray?
4 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Abinas
el 23 de Abr. de 2025
Movida: Cris LaPierre
el 23 de Abr. de 2025
I was curious to know the actual ratio of color channels used in rgb2gray function. The documentation mentioned about the ratio used in the function i.e.
(0.298936021293775 * R + 0.587043074451121 * G + 0.114020904255103 * B)
(0.299 * R + 0.587 * G + 0.114 * B)
To confirm it I wrote a script. Two gray image histogram are compared where one gray image is generated using inbuilt rgb2gray function and other gray image is generated using the mentioned ratio of color channels.
path = "OG/550_img_.png";
img = imread(path);
gray1 = rgb2gray(img);
gray2 = 0.298936021293775 * img(:,:,1) ...
+ 0.587043074451121 * img(:,:,2) ...
+ 0.114020904255103 * img(:,:,3) ;
plot(imhist(gray1),color='r');
hold on;
plot(imhist(gray2),Color='b');

As you can can see from the figure the histogram is not matching. So what is the actual ratio used by rgb2gray function?
0 comentarios
Respuesta aceptada
Constantino Carlos Reyes-Aldasoro
el 23 de Abr. de 2025
Movida: Cris LaPierre
el 23 de Abr. de 2025
This is interesting, it looks like rgb2gray is rounding or filtering in some way.
1 comentario
Más respuestas (0)
Ver también
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!