Video from 3D matrix

1 visualización (últimos 30 días)
Alexandr Lozak
Alexandr Lozak el 26 de Feb. de 2019
Comentada: Alexandr Lozak el 5 de Mzo. de 2019
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 comentario
Alexandr Lozak
Alexandr Lozak el 26 de Feb. de 2019
Editada: Alexandr Lozak el 5 de Mzo. de 2019
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);

Iniciar sesión para comentar.

Respuesta aceptada

Pinkesh Narsinghani
Pinkesh Narsinghani el 5 de Mzo. de 2019
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 :
  1 comentario
Alexandr Lozak
Alexandr Lozak el 5 de Mzo. de 2019
Yes.You are right.
Thank you for answer

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Convert Image Type en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by