Create a movie by a matrix (512*512*30)
1 次查看(过去 30 天)
显示 更早的评论
I hade to create a movie in Matlab as temporal sequence of images of a matrix I(512*512*30) double , because I have 30 images(512*512). I tried to apply this code, but it doesn't work, and I don't know how to solve the problem
map=colormap(gray); [X,map]=gray2ind(I); mov=immovie(X,map) movie(X,n_rip,fps)
this is the error: %Error using immovie>parse_inputs (line 84) %Indexed image has to be an M-by-N-by-1-by-K array.
0 个评论
采纳的回答
Image Analyst
2015-4-7
See my two attached demos on how to make a movie/video.
3 个评论
Image Analyst
2015-4-8
The second line of your code starting with an equal sign won't execute. You say that you have a 3D image I (512,512,n_image) which is probably a color image. So in I(:,:,1,frame) the third dimension is the red channel. But what is frame? I is just a color image - it is not a video so it has no frame. Plus that assignment just won't work
[Im(:,:,:,frame),map] = I(:,:,1,frame);
because I is an array, not a function so you can't take something from teh I image/video and assign it to two things.
Tell me what are you trying to make a video of? What is changing as the frames go on?
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Convert Image Type 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!