在做图像处理时,常常会遇到保存所绘制的图像或曲线后,所保存的图片周围有一圈白色的边,如何将这些白色边框消除掉? 本文阐述了如何使用matlab来完成该任务。
1、采用imshow()函数显示图像
在图像处理过程中,经常使用imshow()函数显示图像,并采用imwrite()函数或者saves()函数进行保存,但是这常常面临着一个问题,所保存的图片都存在白色边框。我们可以采用下列函数来消除:
[M,N1]=size(I1);
set(gcf,'position',[0 0 N1 M]);
imshow(uint8(I1),'border','tight', 'initialmagnification','fit'); %无白色边框显示
imwrite(I1, '.../result/stripe2.png');
imshow()函数中‘border’,‘tight’的组合功能实现的是去掉白色周边空白,‘Initialmagnification’,‘fit’’组合实现的是图像填充整个figure窗口。
2、使用plot函数绘制曲线
我们可以在plot函数后添加如下代码:
set(gca,'looseInset', [0 0 0 0]);
例如
x = -5:0.5:5;
y = 5.*exp(-abs(x)) .*sin(x);
plot(x,y,'--Hr','LineWidth',1.5,'MarkerEdgeColor','b',...
'MarkerFaceColor','m','MarkerSize',10)
set(gca, 'looseInset', [0 0 0 0]);
另外,可以使用下列语句来实现显示图片时不显示坐标轴及其刻度
axis off
set(gca, 'xtick', [], 'ytick',[], 'xcolor', 'w', 'ycolor', 'w')