精品博文MATLAB图形保存引发的猜想

精品博文MATLAB图形保存引发的猜想

技术教程gslnedu2025-07-21 14:19:472A+A-

使MATLAB研究数字图像处理,经常需要将得到的图像保存到电脑中,以便后续使用。今天在使用subplot函数分割窗口显示多幅图像时发现一个问题,用鼠标拖拽figure对象,竟会使得保存的图像呈现不同的形状大小和分辨率。

subplot(1,2,1),imshow(I1),title('RGB图像');

subplot(1,2,2),imshow(I2),title('灰度图像');

可以看到figure1窗口,以现在这种状态保存后得到图片如下,大小为24KB:

上面然后点击figure1窗口上的最大化,保存得到如下图片,大小为80KB,大了将近三倍:

再来一组对比:

h1=subplot(1,2,1),set(h1,'position',[0,0,0.5,0.9]),imshow(I1),title('RGB图像');

h2=subplot(1,2,2),set(h2,'position',[0.5,0,0.5,0.9]),imshow(I2),title('灰度图像');

上面第二幅图是将figure窗口最大化后得到的结果,因为最大化的关系,将两个内容的间距拉的更大,反而显得不好看。

还有个更狠的:

将figure窗口拉成长方形状,结果保存的图片就这样悲剧了。由此可以得到一个猜想,那就是保存figure窗口的图像时,并不是将你要显示的变量压缩编码变成图像格式,而是将figure窗口下的全部内容,包括空白区域,保存成图像(欢迎大神告诉我真相)。

点击这里复制本文地址 以上内容由朽木教程网整理呈现,请务必在转载分享时注明本文地址!如对内容有疑问,请联系我们,谢谢!
qrcode

朽木教程网 © All Rights Reserved.  蜀ICP备2024111239号-8