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

使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窗口下的全部内容,包括空白区域,保存成图像(欢迎大神告诉我真相)。

(0)

相关推荐