双三次插值法(Bicubic interpolation)

  • 双三次插值法(Bicubic interpolation)相对前两种算法计算过程更为复杂,考虑了待求像素坐标反变换后得到的浮点坐标周围的16个邻近像素。目的坐标M(x,y)和浮点坐标m(i+u,j+v),需要选取插值基函数来拟合数据,最常用的插值基函数是对sin[(πx)/x]的逼近。
  • 计算公式
    计算公式如图
function re_im = dthird(im, p, q)
%双三次插值法实现图像缩放,输入目标图像和行缩放、纵缩放倍数
%ziheng zhou 2016.3.30
im = im2double(im);
[m,n] = size(im);
im_R = im(:,:,1);
im_G = im(:,:,2);
im_B = im(:,:,3);
l = round(m*p);
h = round(n*q)/3;
re_R = zeros(l,h);
re_G = zeros(l,h);
re_B = zeros(l,h);

for dstx = 1:l
    for dsty = 1:h
        x = floor(dstx/p); u = dstx/p - x;
        y = floor(dsty/q); v = dsty/q - y;
        %逼近函数,A = s[]
        sa = 4 - 8*abs(u+1) + 5*abs(u+1)^2 - abs(u+1)^3;
        sb = 1 - 2*abs(u)^2 + abs(u)^3;
        sc = 1 - 2*abs(u-1)^2 + abs(u-1)^3
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值