插值(五)Bicubic interpolation(双三次插值)

    感觉了解插值就像是打怪一样,现在终于打到这个终极大boss了。插值最后一篇。

     上一篇我们讲了cubic interpolation(三次插值),这一篇我们来讲bicubic interpolation(双线性插值)

     双三次插值:二维空间中最常用的插值方法。在这种方法中,函数 f在点 (x,y) 的值可以通过矩形网格中最近的十六个采样点的加权平均得到,在这里需要使用两个多项式插值三次函数,每个方向使用一个。之前我们说cubic interpolation是求4n个未知数,两个cubic interpolation将会16n个未知数。

    方法一

     比如说我们的图片最开始是2*2的,我们如果要把图片放大2倍,变成4*4,那么放大后,有些像素肯定是没有,这就要借助于其他的已知的点。

      它的计算公式为:

假设 fx.fy fxy是函数f的偏导和全导,并且知道了4个点的值(0,0),(0,1),(1,0),(1,1)。我们现在就是要求aij。一个16个系数。那和我们上一篇讲的cubic interpolation一样,我们几威要6个方程式。

 1 点带入

2 偏导

3 全导

一共16个。

向量

是我们要求的。

向量

是我们已知的。

假设 A为已知矩阵

 

方法二

还可以这样子求a向量,在叫做权重。

用公式计算

一般a取-0.5或者-0.75

      我们要做的就是求出BiCubic函数中的参数x,从而获得上面所说的16个像素所对应的权重W(x)。BiCubic基函数是一维的,而像素是二维的,所以我们将像素点的行与列分开计算。f(X,Y)像素值为:

好,就此我就总结完我所有的学到插值。

下面是我参考和学习的一些网站,主要看的是第一个英文文档

https://en.wikipedia.org/wiki/Bicubic_interpolation

https://www.jianshu.com/p/055706fd32ee

https://zhuanlan.zhihu.com/p/62860859

 

 

 

 

  • 12
    点赞
  • 60
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值