线性插值

来源:互联网 发布:sql删除表中带约束的列 编辑:程序博客网 时间:2024/05/01 15:10

1、线性插值

设新图的高度和宽度分别为heightwidth,原图高度和宽度为nheight和nwidth,对于新图中纵、横坐标分别为ij的像素点,如有 ,则在原图中[m][n][m+1][n][m][n+1][m+1][n+1]四点在原图中的相对位置与点[i][j]在新图中的相对位置最为接近。

对于线性插值,只需两个样本点,其插值公式为

    value1=(m+1-nheight*i/height)a[m][n]+(nheight*i/height-m)*a[m][n+1]

 

    value2=(m+1-nheight*i/height)a[m][n+1]+(nheight*i/height-m)*a[m+1][n+1]

    value3=(n+1-nheight*i/height)a[m][n]+(nheight*i/height-n)*a[m+1][n]
    value4=(n+1-nheight*i/height)a[m][n+1]+(nheight*i/height-n)*a[m+1][n+1

最后求出新图中[i][j]点的像素值为

value[i][j]= (value1+value2+value3+value4)/4;

并取整。

对于靠近图像边缘的点,上述插值公式有时不能完全适用,需要有适当的判断和处理。当m>=nwidth时,a[m+1][n]a[m+1][n+1]不存在,此时需要设定value1=value2= a[m+1][n]n>=nheight时的情况完全类似。

原创粉丝点击