2016-05-14 5 views
0

Ich möchte GIF-Datei mit der gleichen Verzögerungszeit mit der ursprünglichen Datei neu schreiben. Dies ist das Beispiel Bild:Schreibverzögerung der GIF-Datei in Matlab

input

Dies ist mein Code, aber der Ausgang langsame Verzögerung als das Original. Gibt es einen Weg, es gleich zu machen?

[I map]=imread('a.gif'); 
delay=0.1; 
frame=size(I,4); 
loops=65535; 
for i = 1:frame 
    if i==1 
     imwrite(I(:,:,:,i),map,'b.gif','gif','LoopCount',loops, 'DelayTime', delay); %save file output 
    else 
     imwrite(I(:,:,:,i),'b.gif','gif','WriteMode', 'append'); %save file output 
    end 
end 

Das Ergebnis: enter image description here

Antwort

1

Verwenden Sie diesen Code

[I map]=imread('a.gif'); 
delay=0.03; 
frame=size(I,4); 
for i = 1:frame 
    if i==1 
     imwrite(I(:,:,:,i),map,'b.gif','gif', 'DelayTime', delay,'LoopCount',inf); %save file output 
    else 
     imwrite(I(:,:,:,i),'b.gif','gif','WriteMode', 'append', 'DelayTime', delay); %save file output 
    end 
end