만들려는 영화에 대한 충분한 정보를 제공하지 않았습니다. 동영상을 만드는 절차는 page에 강조 표시되어 있습니다. 핵심은 루프 내에서 getframe을 호출하여 동영상을 생성하는 것입니다. 귀하의 작업에 matlab의 예제를 수정합니다 :
clear all
clc
filename='filename.txt';
delimiterIn=' ';
K=importdata(filename,delimiterIn);
% K =load(filename) may also work
nFrames = 20;
% Preallocate movie structure.
mov(1:nFrames) = struct('cdata', [],...
'colormap', []);
% Create movie.
plot(K(:,1), K(:,2)); % assumes you are plotting the first two colums
axis tight manual
set(gca,'nextplot','replacechildren');
for k = 1:nFrames
plot(K(:,1), K(:,2)); % assumes you are plotting the first two columns
% the data must somehow change inside this loop
mov(k) = getframe(gcf);
end
% Create AVI file.
movie2avi(mov, 'mydata.avi', 'compression', 'None');
또 다른 인터페이스는 최신 버전의 matlab에있는 비디오 라이저 인터페이스입니다. 설명은 here입니다. 위의 절차보다 권장됩니다. 거기에있는 제안을 따르십시오. 이 페이지는 따라하기 쉽습니다.
clear all
clc
filename='filename.txt';
delimiterIn=' ';
K=importdata(filename,delimiterIn);
% K =load(filename) may also work
%Prepare the new file.
writerObj = VideoWriter('movie.avi');
open(writerObj);
% Create movie.
plot(K(:,1), K(:,2)); % assumes you are plotting the first two colums
axis tight manual
set(gca,'nextplot','replacechildren');
set(gcf,'Renderer','zbuffer'); % optional I think
for k = 1:nFrames
plot(K(:,1), K(:,2)); % assumes you are plotting the first two columns
% the data must somehow change inside this loop
frame = getframe(gcf);
writeVideo(writerObj,frame);
end
close(writerObj);
귀하의 방법을 시도하겠습니다. thanks – lil
은 상기 방법을 시도했다. 그러나 .avi 파일을 재생할 때 그 그래프 만 만들었습니다. 비디오가 아닙니다. 어떤 도움이 필요합니다. – lil
제가 주석을 달았 기 때문에 매트릭스 K 열 1과 2는 프레임마다 바뀌어야합니다. 영화를 만들기 위해서는 매 프레임마다 데이터가 바뀌어야하기 때문입니다. 데이터가 프레임마다 변경됩니까? – Jagte