IMAGE PROCESSING

" Two roads diverged in a wood, and I,
I took the one less traveled by,
And that has made all the difference "-Robert Frost

RGB Image to Grayscale Image without using rgb2gray function

A gray-scale image is composed of different shades of grey color.
A true color image can be converted to a gray scale image by preserving the luminance(brightness) of the image.

Here the RGB image is a combination of RED, BLUE AND GREEN colors.
The RGB image is 3 dimensional. In an image ,
at a particular position say  ( i,j)
Image(i,j,1) gives the value of RED pixel.
Image(i,j,2) gives the value of BLUE pixel.
Image(i,j,3) gives the value of GREEN pixel.
The combination of these primary colors are normalized with R+G+B=1;
This gives the neutral white color.

The grayscale image is obtained from the RGB image by combining 30% of RED , 60% of GREEN and 11% of BLUE.
This gives the brightness information of the image. The resulting image will be two dimensional. The value 0 represents black and the value 255 represents white. The range will be between black and white values.

MATLAB CODE:

figure,imshow(Im);
title('Original Image');

%0.2989 * R + 0.5870 * G + 0.1140 * B
GIm=uint8(zeros(size(Im,1),size(Im,2)));
for i=1:size(Im,1)
for j=1:size(Im,2)
GIm(i,j)=0.2989*Im(i,j,1)+0.5870*Im(i,j,2)+0.1140*Im(i,j,3);
end
end

%Without using for loop:
%GIm=0.2989*Im(:,:,1)+0.5870*Im(:,:,2)+0.1140*Im(:,:,3);

figure,imshow(GIm);
title('Grayscale Image');

Check out : Partially colored gray scale image - MATLAB CODE
Like "IMAGE PROCESSING" page

Søren Trangbæk said...

This looks nice.
How do you show just one of the colours? Let's say that you turn a picture into grayscale, but want to keep the blue color?

how to convert gray scale image back to original true color???????????

how to convert gray scale image back to original image's true color?????????

bvbcet news ana fun msg said...

thanks too much.....after convertng how to plot histogram and cumulative histogram and how to verify that we got correct results by ensuring that final value in the cumulative histogram equals to the number of pixels in the image

Ammayi Telugu said...

GIm(i,j)=0.2989*Im(i,j,1)+0.5870*Im(i,j,2)+0.1140*Im(i,j,3);----------------i coudnt get this can any can one can explain this........