Get figures and use them to build a video.avi
682 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Davide Magnelli
le 26 Fév 2018
Réponse apportée : Leostar90
le 31 Mar 2022
Hello, I have developed an algorithm that shows at every iteration a figure as follow:
figure
imshow(processo(:,:,1,i))
hold on
plot(X,Y,'o')
plot(X0,Y0,'o')
plot(X1,Y1,'o')
plot(X2,Y2,'o')
plot(X3,Y3,'o')
end
What I need is to save in an array each figure (i.e. imshow with each plot) and build an .avi video from them. Any suggestions?
Thanks in advance, Davide
0 commentaires
Réponse acceptée
KSSV
le 26 Fév 2018
for i = 1:N
figure(1)
imshow(processo(:,:,1,i))
hold on
plot(X,Y,'o')
plot(X0,Y0,'o')
plot(X1,Y1,'o')
plot(X2,Y2,'o')
plot(X3,Y3,'o')
hold off
F(i) = getframe(gcf) ;
drawnow
end
% create the video writer with 1 fps
writerObj = VideoWriter('myVideo.avi');
writerObj.FrameRate = 10;
% set the seconds per image
% open the video writer
open(writerObj);
% write the frames to the video
for i=1:length(F)
% convert the image to a frame
frame = F(i) ;
writeVideo(writerObj, frame);
end
% close the writer object
close(writerObj);
7 commentaires
Nicole Feist
le 20 Oct 2020
I get the error
```
Dot indexing is not supported for variables of this
type.
Error in alternateGetframe
Error in getframe (line 136)
x = alternateGetframe(parentFig, offsetRect,
scaledOffsetRect, includeDecorations);
Error in graph (line 41)
F(i) = getframe(gcf);
```
Plus de réponses (2)
Image Analyst
le 11 Sep 2018
For what it's worth, I'm attaching my demo for creating a video from different surfaces made with the surf() function.
2 commentaires
Voir également
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!