make a movie from grayscale frames
14 views (last 30 days)
Show older comments
Hi,
I want to make a movie from grayscale frames after I perform a graphics on them. I put each frame in 4D matrix and I tried to use in "immovie" command but i got this eror message:
"Error using immovie>parse_inputs (line 75)
Truecolor RGB image has to be an M-by-N-by-3-by-K array.
Error in immovie (line 40)
[X,map] = parse_inputs(varargin{:});
Error in main_2 (line 34)
mov=immovie(images,[]);"
How can I make a film from the frames after I painted on them graphics?
Thanks, Itai
1 Comment
Adam
on 11 Aug 2014
Have you tried passing 'grey' as the second argument to immovie? I'm not sure what it does with an empty second argument but judging from the error message it reverts to the single input argument overload which expects an RGB input.
Answers (2)
Joseph Cheng
on 11 Aug 2014
Just as Adam suggests, I would also agree it looks like you should be passing the grey scale map in the second argument however I do not think just putting 'grey' will work. what you can do is create a map by using
map = colormap(gray(256));%256 as an example.
and then call your the immovie
mov = immovie(images,map);
3 Comments
Adam
on 11 Aug 2014
Try something like
map = uint8( 256 * gray(256) );
although I'm sure there's a neater way of achieving that! From the error message it seems to be expecting an unsigned 8-bit colourmap rather than a 0-1 range colourmap such as that gives you.
Image Analyst
on 11 Aug 2014
3 Comments
Image Analyst
on 11 Aug 2014
Are your graphics in color, and you want them to remain in color while the movie is playing? How did you create your 4D stack of color images? Did you use export_fig() to create your color image?
See Also
Categories
Find more on Convert Image Type in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!