필터 지우기
필터 지우기

Create a movie by a matrix (512*512*30)

조회 수: 2 (최근 30일)
Silvia Caruso
Silvia Caruso 2015년 4월 7일
편집: Silvia Caruso 2015년 4월 8일
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.

채택된 답변

Image Analyst
Image Analyst 2015년 4월 7일
See my two attached demos on how to make a movie/video.
  댓글 수: 3
Image Analyst
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?
Silvia Caruso
Silvia Caruso 2015년 4월 8일
편집: Silvia Caruso 2015년 4월 8일
I selected from a folder 30 rmi images dicom and I put all this 30 images in I, because I need to order images according to istance number, so now I have this matrix 512*512*30 and I should create the movie with all 30 images.I thought to create a 4-D matrix whit the command
A=cut(4,X(:,:,1),X(:,:,2),X(:,:,3),..,X(:,:,30))
and then
mov = immovie(A,map);
implay(mov,n_rip,fps)
but doesn't work..

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Convert Image Type에 대해 자세히 알아보기

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by