나는이 모든 곳의 답을 찾기 위해 노력했지만 지금까지 행운이 없었습니다. 아시다시피, 저는 for 루프를 사용하여 단일 gif에 이미지를 추가하여 gif 파일을 생성하는 문제에 봉착했습니다. 그러나 얼마 후, imwrite는 실제로 이미지를 gif 파일에 추가하는 것을 멈추는 것처럼 보입니다. 대신에 공백이 추가됩니다.imwrite() (특정 지점을 넘어서는 흰색 이미지)를 사용하여 MATLAB gif 이미지에 추가
파일 자체는 적절한 수의 이미지가 포함될 수있을만큼 충분히 큽니다.하지만 파일을 열고 재생할 때 특정 지점을 벗어나면 흰색 이미지 만 나타납니다. 나는 for 루프 자체와 아무런 관련이 없다는 것을 확실히 알고있다 - 각 루프 반복을 위해 작업하고있는 이미지 파일을 출력해야한다. 파일 이름은 모두 정확합니다.
이미지 수가 일정한 것을 포기한 것 같습니다. 따라서 최대 숫자가 있다고 생각합니까? 나는 50 개가 넘는 프레임을 가지고 있습니다.
코드 조각 나는 일하고 있어요 :
delay_time = 0;
% for each frequency, read in the iso-contour and stitch to the plots
% together to make a gif
for counter_frequency = freq_min:freq_inc:freq_max
im_in = imread(['2D FFT, ' num2str(counter_frequency, '%3.2f') ' GHz.png'], 'png');
[imind,cm] = rgb2ind(im_in,256);
disp([num2str(counter_frequency)]);
if counter_frequency == freq_min
imwrite(imind,cm,[directory.plot.iso_plots '\Iso-frequency Animation.gif'],'gif','DelayTime',delay_time,'LoopCount',inf);
else
imwrite(imind,cm,[directory.plot.iso_plots '\Iso-frequency Animation.gif'],'gif','DelayTime',delay_time,'WriteMode','append');
end;
end;
정말 이상합니다 .... 파일을 만들기 전에 각 반복마다 이미지가 어떻게 표시되는지 보여 줬습니까? 전에이 문제를 본 적이 없습니다. 코드가 작동해야하고 몇 분 동안 봤습니다. – rayryeng