Why is the output of 'movie2avi' not showing the movie properly?

1 view (last 30 days)
I'm trying to save a movie as .avi file using the command movie2avi. The code is as follows:
b=0.3;
h=0.5;
m=2;
n=0;
x=linspace(0,b,200);
y=linspace(0,h,200);
[X,Y]=meshgrid(x,y);
F=500;
for i=1:F
p_hat=cos(m*pi*(X-i/F)/b).*cos(n*pi*(Y-i/F)/h);
surf(Y,X,p_hat,'edgecolor','none');
M(i)=getframe(gcf);
end
movie2avi(M,'p(2,0).avi','compression','None');
When I open the file p(2,0), it shows the MATLAB window that was there in the background while the movie was running.
Please help to get rid of the issue.
Thanks
  2 Comments
Abin Krishnan
Abin Krishnan on 26 Oct 2015
What I meant was, when the movie file is played outside MATLAB, it shows a still frame with a portion of the MATLAB window showing the script,command history etc that was in the background when the movie was played when I ran the code. Luckingly, that issue is sorted out. I used the command set(gcf,'renderer','zbuffer'); before the for loop.
Thank You.

Sign in to comment.

Answers (1)

Jan
Jan on 26 Oct 2015
Try to insert a pause(0.02) before getframe. In some Matlab versions this helped to let the screen update correctly.

Categories

Find more on Animation in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!