本文为原创,如有错误欢迎指正

这是我在用Matlab用imshow输出图像然后制作成.gif文件时遇到的问题,就是图像中总是有一个灰色的边框。

首先附上将两帧彩色图像写入.gif文件的代码:

filename = 'change.gif';

imshow(m);

frame = getframe(1);

im = frame2im(frame);

[A, map] = rgb2ind(im, 256);

imwrite(A, map, filename, 'gif', 'LoopCount', Inf, 'DelayTime', 1);

imshow(W);

frame = getframe(1);

im = frame2im(frame);

[A, map] = rgb2ind(im, 256);

imwrite(A, map, filename, 'gif', 'WriteMode','append','DelayTime', 1);

imshow的输出就是自带一个边框:

0818b9ca8b590ca3270a3433284dd417.png

我也尝试了网上各种偏方,set(gcf)中修改一大堆参数。但是转念一想,set毕竟更多是针对plot出来的曲线图表,我们输出的是图像。所以可以修改imshow,改为:

imshow(m,'Border','tight');

从此我再也没有被灰色边框的问题困扰过。

0818b9ca8b590ca3270a3433284dd417.png

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐