I have some code that produces a series of grayscale images. I am then able to save the images individually in a loop and save them with a colormap applied. i.e.
file = sprintf('image_%04d.png',x);
imwrite(image1,jet,file,'png');
So i get my images out the other end and they have the correct colormapping which is colormap(jet).
However, when in my next program, I try to cobble these images together to form a short animation (yes I know I should just make the movie in the same loop as above), I get a grayscale movie!!! How does that happen when the source images are color?
Further more I notice that if I load an individual image and then type:
imshow(A)
i get a grayscale image too! but if I type:
image(A)
it gives me what I wanted, which is the colormapped image.
Why does it do this? how can I get it to make a movie with the correct colormap? and is there a way I can add the colormap to the image before saving it (as above I add the map during imwrite)?
p.s. I have tried using :
video = videowriter(VideoFileName,'MPEG-4')
video.Colormap = jet (or) colormap(jet) or 'jet'
matlab doesnt like that. :(