如何采用Matlab来实现图片保存时白色边框的消除?

在做图像处理时,常常会遇到保存所绘制的图像或曲线后,所保存的图片周围有一圈白色的边,如何将这些白色边框消除掉? 本文阐述了如何使用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')
  • 6
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值