MATLAB 通过imagesc()函数绘制图像,绘制效果如下:
对图像进行保存出现白色边框,如下:
解决方法:对于imagesc()函数的输出图像,只需要在imagesc()画图语句后面添加下面两句语句:
set(gcf,'Position',[300 300 500 500]);
set(gca,'Position',[0 0 1 1]);
对于gcf:Position后面指定的位置[nums1 nums2 nums3 nums4]中,(nums1,nums2)表示figure对象的左下角在电脑界面上的坐标,nums3,num4则表示figure图像的长和宽,单位是像素。如果要改成厘米,则可以用下面的代码:
set(gcf,'unit','centimeters','Position',[10 10 8 8]);
对于gca:position后面指定的位置[nums1 nums2 nums3 nums4]中,(nums1,nums2)表示有效图像(也就是有实际数值的部分)的左下角在figure图像里的坐标,nums3,num4则表示有效图像的长和宽。
这样保存下来的图像就消除白边了!
示例参考代码:
有白边:
clc;
clear all;
C=[0 2 4 6; 8 10 12 14;16 18 20 22];
figure(1);
imagesc(C);
set(gca,'xtick',[],'ytick',[],'xcolor','w','ycolor','w');
saveas(gcf,['E:\',num2str(8),'.jpg']);
无白边:
clc;
clear all;
C=[0 2 4 6;8 10 12 14;16 18 20 22];
figure(1);
imagesc(C);
set(gcf,'Position',[300 300 400 400]);%消除白边
set(gca,'Position',[0 0 1 1]);%消除白边
set(gca,'xtick',[],'ytick',[],'xcolor','w','ycolor','w');
saveas(gcf,['E:\',num2str(2),'.jpg']);