3D matrix to Video
51 次查看(过去 30 天)
显示 更早的评论
Hello all, I have been having a lot of trouble trying to export a video from Matlab from a 3D matrix. The matrix dimensions indicate frame height, width and frame number. The element values are what is being used to form images with commands such as imagesc or imshow. I can create a video in Matlab by putting the imshow or imagesc command in a for loop but I want to extract something equivalent from Matlab to put in youtube or imbed in a powerpoint or soemthing. Here's an example of the situation:
IM % an mxnxz matrix
for i = 1:size(IM,3);
imshow(IM(:,:,i))
pause(.001);
end
Since the matrix has no color information after processing I have run into problems using WriteVideo or im2frame command. Thanks for any help.
0 个评论
采纳的回答
Stephen23
2017-2-24
编辑:Stephen23
2017-2-24
It is easy to use getframe and videoWriter object. Here is an example from the videoWriter object help:
v = VideoWriter('peaks.avi');
open(v);
Generate initial data and set axes and figure properties.
Z = peaks;
surf(Z);
axis tight manual
set(gca,'nextplot','replacechildren');
Create a set of frames and write each frame to the file.
for k = 1:20
surf(sin(2*pi*k/20)*Z,Z)
frame = getframe;
writeVideo(v,frame);
end
close(v);
更多回答(1 个)
Guangxu Li
2020-3-9
编辑:Guangxu Li
2020-5-9
Video to 3D image (single channel)
filename="./*.avi";
obj = VideoReader(filename);
vid = read(obj);
mImage=obj.Width;
nImage=obj.Height;
frames = obj.NumberOfFrames;
Image3D=zeros(nImage,mImage,frames,'uint8');
for x = 1 : frames
Image3D(:,:,x)=vid(:,:,1,x);
end
niftiwrite(Image3D,filename);
2 个评论
Melika Bahmanabasdi
2020-5-6
Hi Guangxu Li ,
Thankyou for your answer. I have a question. Why we should use rote90 in Image3D=rot90(Image3D); ?
I can`t understand the reason.
many thanks
Guangxu Li
2020-5-9
Dear Bahmanabasdi,
I am very sorry. Please ignore the rotation and flipud lines. That is for my case.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Audio and Video Data 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!