MATLAB实现图像的放大和缩放

首先读入照片,进行双线性插值法;

t=imread('图像处理.png');
[m,n,dep]=size(t);

重点是这里的倍数,如果取大于1的数,就是放大,取小于1的数就是缩小;
rm=5*m;
rn=5*n;
rt=zeros(rm,rn,dep);
for i=1:rm
for j=1:rn
x=i*m/rm;
y=j*n/rn;
u=x-floor(x);
v=y-floor(y);
if x<1
x=1;
end
if y<1
y=1;
end
rt(i,j,:)=t(floor(x),floor(y),:)*(1-u)*(1-v)+t(floor(x),ceil(y),:)*(1-u)*v+t(ceil(x),ceil(y),:)*(u)*(1-v)+t(ceil(x),ceil(y),:)*u*v;
end
end
imshow(t);title('原图');
figure;imshow(uint8(rt));title('5倍后的图片');

原图:

放大5倍后如图:

 

对比图:

缩小的图:

 

  • 13
    点赞
  • 59
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值