Line 36: | Line 36: | ||
imshow(res1); | imshow(res1); | ||
I wrote a function grs2rgb(image,MAP);which can change any gray image to any desirable shade.Some example are as following:[[Image:hot.jpg]][[Image:hsv.jpg]][[Image:prism.jpg]][[Image:autumn.jpg]] | I wrote a function grs2rgb(image,MAP);which can change any gray image to any desirable shade.Some example are as following:[[Image:hot.jpg]][[Image:hsv.jpg]][[Image:prism.jpg]][[Image:autumn.jpg]] | ||
+ | The above image is 94x94pixel.But the above processes also worked for a high resolution image which was 1024x768 pixel.It looks like the following:[[Image:copper.jpg]][[Image:bone.jpg]] |
Revision as of 21:38, 22 September 2009
IMAGE DISINTEGRATION
An RGB image is 3 dimensional in nature.First dimension represents R(Red) ,Second dimension-G(Green),Third dimension-B(Blue) respectively.My objective behind this page,was to see that,when an image is disintegrated into the above 3 dimensions and then on recombining the separated parts,will it result in the orgininal image or not.
Tools used : Images(JPEG- format) in 2 different dimensions 94x94 & 1024x768.
Operation :Using Matlab,i got the vector matrix of the image and then separated each dimension's vector matrix and plotted.The datatype of the matrices was uint8 whose range 0-255.On plotting each dimension,this is how the image looks like.
Now i added all the 3 dimentions together,so that i can get my original image.But the result wasnt cohernt with my assumption.The final image after combining looked like the following:
The final image doesnt look like the original image.All the colour information is lost and the image looks whitish.It looks white because ,on adding all the matrices which are uint8 in type,exceeds 255 and are rounded to 255 which characterizes white.Hence the image looks white.
Alternative : Changing the datatype from uint8 -> double.So that on adding the matrices,i can the correct information about the pixel,without rounding it.
Now on adding the individual dimensions,using linear combination function in matlab,we can get the orginal image,but in grayscale.It looks like the following:
I tried various functions like indrgb,to convert my grayscale image to RGB.But ,none of the functions helped me to retrieve the RGB format.Then i came to know from hector(our assistant instructor) ,that all the pixels in an image are connected to each other .The pixels share a connection with the pixel of the next dimension.Pixels of R are connected to the pixels of G.Hence the moment ,an image is broken down into its individual dimensions,all the colour information is lost and recombination of the separate dimensions wont create the original RGB scale.One possible solution is taking the average of all the 3 dimensions,which may help to recreate the original image.
Next,there are myriad colour shades in matlab viz.
autumn bone colorcube cool copper flag gray hot hsv jet lines pink prism summer white winter imshow(res1);
I wrote a function grs2rgb(image,MAP);which can change any gray image to any desirable shade.Some example are as following:
The above image is 94x94pixel.But the above processes also worked for a high resolution image which was 1024x768 pixel.It looks like the following: