图像处理(一)bicubic解释推导

bicubic的解释

bicubic interpolation解释

    1. cubic的推倒:
      如果一个函数 f(x) 在x=0和x=1的位置上的函数值已知,那么这个函数在闭区间[0,1]上的值是可以被插入的,利用一个读度数为3的多项式去描述这条曲线,那么:
       f(x)=ax3+bx2+cx+d(1)

      对这个函数求导,得
      f(x)=3ax2+2bx+c(2)

      那么
      f(0)=df(1)=a+b+c+df(0)=cf(1)=3a+2b+c(3)

      a=2f(0)2f(1)+f(0)+f(1)b=3f(0)+3f(1)2f(0)f(1)c=f(0)d=f(0)(4)

      得到了系数,我们就可以可以得到这个f(x)的表示方法
  • 2.当我们在处理一列数的时候,我们在不知道导数的情况下,
    • 为了得到平滑的曲线,我们采用如下的方法进行近似或者说逼近,我们通过当前点相邻的间隔的两点连线,用这条直线的斜率来近似替代这个位置导数
    • 假设我们有四个值,分别 p0,p1,p2,p3 代表x=-1,x=0,x=1和x=2位置的函数值,那么:

f(0)=p1f(1)=p2f(0)=p2p02f(1)=p3p12(5)

采取和第一种情况类似的将值带入计算的方法,得到如下式子
a=12p0+32p132p2+12p3b=p052p1+2p212p3c=12p0+12p2d=p1(4)

知道了系数反推回式子里带入即可。

  • 3.bicubic就是cubic在二维上的推广
    • 我们相等于从插值到线转变到插值到一个二维的矩阵当中,我们可以利用cubic的公式去构造bicubic的公式。
    • 假设我们有16个点,i,j分别表示行位置和列位置,我们可以将行方向和列方向分解,比如先在行方向做(和二元的积分有相通之处)
    • 那么设
      g(x)=0303aijxiyj(5)

      同样将16值带入能够推导出如下结果
      a00=p11a01=12p10+12p12a02=p1052p11+2p1212p13a03=12p10+32p1132p12+12p13a10=12p0014p21a11=14p0014p0214p20+14p22a12=12p00+54p01p02+14p03+12p2054p21+p2214p23a13=14p0034p01+34p0214p0314p20+34p2134p22+14p23a20=p0152p01+2p2112p31a21=12p00+12p02+54p1054p12p20+p22+14p3014p32a22=p0052p02+2p0212p0352p10         +254p115p12+154p1254p13p20+3p21         3p22+p23+14p3034p31+34p3214p33a23=12p00+32p0132p02+12p03+54p10          154p11+154p1254p13p20          +3p213p22+p23+14p3034p31+34p3214p33a30=12p0132p1132p21+12p31a31=14p0014p0234p10+34p12+34p2034p2214p30+14p32a32=12p00+54p01p02+14p30+32p10           154p11+3p1234p1332p20+154p20           +154p213p22+34p23+12p3054p31+p3214p33a33=14p0034p01+34p0214p0334p10+94p11          94p12+34p13+34p2094p2194p22          34p2314p30+34p3134p3134p32+14p33(6)

那么将系数带回原式就得到了bicubic的公式。

你可能感兴趣的:(图像处理)