Borrar filtros
Borrar filtros

Matlab locks avi movie.

1 visualización (últimos 30 días)
David Pesetsky
David Pesetsky el 12 de Jul. de 2016
Comentada: David Pesetsky el 12 de Jul. de 2016
I am just executing the following example to create a avi movie. After it's done, I cannot rename the file because Windows claims Matlab still has it "open".
Z = peaks;
surf(Z)
axis tight manual
ax = gca;
ax.NextPlot = 'replaceChildren';
loops = 40;
F(loops) = struct('cdata',[],'colormap',[]);
for j = 1:loops
X = sin(j*pi/10)*Z;
surf(X,Z)
drawnow
F(j) = getframe(gcf);
end
fig = figure;
movie(fig,F,2);
movie2avi(F, 'awesomeMovie', 'compression', 'None');
What's a good way to break that connection?
Thank you. Dave

Respuesta aceptada

Adam
Adam el 12 de Jul. de 2016
Are you using a pre 2010b version of Matlab?
If not then you should be able to use VideoWriter instead as movie2avi will be removed in a future release (according to the help).
e.g.
v = VideoWriter('newfile.avi');
% set properties of VideoWriter
open(v)
writeVideo(v,rand(300))
close(v)
This includes a clear instruction to close the VideoWriter.
I guess in your case just doing an
fclose( 'awesomeMovie' )
ought to work.
  6 comentarios
David Pesetsky
David Pesetsky el 12 de Jul. de 2016
Not sure movie2avi returns a pointer to an open file...
David Pesetsky
David Pesetsky el 12 de Jul. de 2016
Ah! Guillaume, I just used VideoWriter to write a compact mp4 directly, rather than an avi and then compress it. Perfect. Thank you.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Animation en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by