java 双三次线性插值_双三次插值算法实现

本文介绍了如何使用Java实现双三次线性插值,通过实例展示了从图像缩小到双三次插值放大的过程,并与双线性插值进行了对比。同时,文章还探讨了双三次插值的算法原理,包括基函数的选择及其对图像质量的影响。
摘要由CSDN通过智能技术生成

%双三次插值具体实现

clc,clear;

fff=imread('E:\Documents\BUPT\DIP\图片\lena.bmp');

ff =

rgb2gray(fff);%转化为灰度图像

[mm,nn]=size(ff); %将图像隔行隔列抽取元素,得到缩小的图像f

m=mm/2;n=nn/2;

f =

zeros(m,n);

for

i=1:m

for j=1:n

f(i,j)=ff(2*i,2*j);

end

end

k=5; %设置放大倍数

bijiao1 =

imresize(f,k,'bilinear');%双线性插值结果比较

bijiao =

uint8(bijiao1);

a=f(1,:);c=f(m,:); %将待插值图像矩阵前后各扩展两行两列,共扩展四行四列,为什么要扩展

%出四行四列,是因为,后面插值的时候为了保证插值的数保证在i1的后面,同时符合插值算法而设计的。

b=[f(1,1),f(1,1),f(:,1)',f(m,1),f(m,1)];d=[f(1,n),f(1,n),f(:,n)',f(m,n),f(m,n)];

a1=[a;a;f;c;c];

b1=[b;b;a1';d;d];

ffff=b1';f1=double(ffff);

g1 =

zeros(k*m,k*n);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值