Video from 3D matrix

3 次查看(过去 30 天)
Hi all, i have problem with making video from 3D matrix. I read other people examples and i tried to repeat them.
but Matlab gives me error:
v = VideoWriter('TeAc.avi');
open(v);
%% initial frame
Z = Di3(:,:,1);
Z=surf(Z);
Z.LineStyle='none';
axis tight manual
colormap jet
set(gca,'nextplot','replacechildren');
%% Loop of images
for k = 1:2550
Z=surf(Di3(:,:,k));
Z.LineStyle='none';
axis tight manual
colormap jet
set(gca,'nextplot','replacechildren');
frame = getframe;
writeVideo(v,frame);
end
close(v);
Error using VideoWriter/writeVideo (line 356)
Frame must be 435 by 343
frame.cdata is 344*435*uint8
  1 个评论
Alexandr Lozak
Alexandr Lozak 2019-2-26
编辑:Alexandr Lozak 2019-3-5
I found part of code that helped me
%% Loop of images
for k = 1:2550
Z=surf(Di3(:,:,k));
Z.LineStyle='none';
axis tight manual
colormap jet
set(gca,'nextplot','replacechildren');
set(gcf,'Renderer','zbuffer'); % addition of this line helped me
frame = getframe(gcf); % and change in getframe
writeVideo(v,frame);
end
close(v);

请先登录,再进行评论。

采纳的回答

Pinkesh Narsinghani
From the above information , It seems like you are facing this error because frame size is changing on an iteration of your for loop .I would suggest you to refer the following MATLAB Answer and make changes in your code accordingly :

更多回答(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