Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Image 使用imwrite()将gif图像添加到MATLAB(超过某一点的白色图像)_Image_Matlab_Gif - Fatal编程技术网

Image 使用imwrite()将gif图像添加到MATLAB(超过某一点的白色图像)

Image 使用imwrite()将gif图像添加到MATLAB(超过某一点的白色图像),image,matlab,gif,Image,Matlab,Gif,我到处都想找到这个问题的答案,但到目前为止我运气不好。你看,我遇到了一个问题,我通过使用for循环将图像附加到单个gif中来生成gif文件。但是过了一段时间,imwrite似乎停止了将图像添加到gif文件中,它只是添加了空格 因此,文件本身足够大(250MB),可以容纳适当数量的图像,但当我打开并播放它时,一旦超过某一点,我就只有白色图像。我非常确定这与for循环本身无关——我已经让它打印出它在每个循环迭代中处理的图像文件,这是正确的。文件名都是正确的 它似乎只是在一定数量的图像之后就放弃了,所

我到处都想找到这个问题的答案,但到目前为止我运气不好。你看,我遇到了一个问题,我通过使用for循环将图像附加到单个gif中来生成gif文件。但是过了一段时间,imwrite似乎停止了将图像添加到gif文件中,它只是添加了空格

因此,文件本身足够大(250MB),可以容纳适当数量的图像,但当我打开并播放它时,一旦超过某一点,我就只有白色图像。我非常确定这与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;

解决了!毕竟,我的代码没有任何问题——这是我用来查看gif的程序!IE是个坏主意。总是。真不敢相信我竟然忘了!我发现我用来编码的电脑有Chrome浏览器,出于好奇用Chrome浏览器打开了它——它很好


该死的

这太奇怪了。。。。在写入文件之前,是否显示了每次迭代中读取的图像的外观?我以前从未见过这个问题。你的代码应该可以工作,我已经盯着它看了几分钟。很高兴你解决了它!我要回答这个问题。关于如何在MATLAB中制作动画GIF的好例子。谢谢