图像插值

引言

图像插值是在图像采样(缩放)中使用的一类算法,在图像采样前后,必然会面临图像的缩放,那么目标图像像素的灰度必然必然是根据原图像进行插值得到的,这就是图像插值技术。

图像插值的算法有很多,常见的有最近邻插值,双线性插值,双三次插值。下面就对双三次插值进行介绍。

双三次插值

假设原图像A的大小是 m ∗ n m*n mn,缩放K倍后的目标图像B的大小为 M ∗ N M*N MN,即 K = M / m K=M/m K=M/m。A的每个像素点都是已知的,B是未知的,我们要求出目标图像B中每一像素点(X,Y)的值,必须先找出像素(X,Y)在源图像A中对应的像素(x,y),再根据源图像A距离像素(x,y)最近的16个像素点进行插值计算。具体是求出这16个像素点的权重,然后图B像素(x,y)的值就等于16个像素点的加权叠加。
图像插值_第1张图片
根据比例关系,我们得到B(X,Y)在A上的对应坐标
A ( x , y ) = A ( X ∗ ( m / M ) , Y ∗ ( n / N ) ) = A ( X / K , Y / K ) A(x,y)=A(X*(m/M),Y*(n/N))=A(X/K,Y/K) A(x,y)=A(X(m/M),Y(n/N))=A(X/K,Y/K)

如上图所示,P点就是目标图像B在(X,Y)处对应于源图像A中的位置,P的坐标位置会出现小数部分,所以我们假设 P的坐标为P(x+u,y+v),其中x,y分别表示整数部分,u,v分别表示小数部分。那么我们就可以得到如图所示的最近16个像素的位置,在这里用a(i,j)(i,j=0,1,2,3)来表示,如上图。
图像插值_第2张图片
上述函数是一维的三次插值函数,而图像是二维的。双三次插值函数中,x就表示像素点到P点的距离,例如,a00距离P(x+u,y+v)的距离为(1+u,1+v),因此a00的横坐标权重i_0=W(1+u),纵坐标权重j_0=W(1+v),a00对B(X,Y)的贡献值为:(a00像素值)* i_0* j_0。因此,
在这里插入图片描述
对待插值的像素点(x,y)(x和y可以为浮点数),取其附近的4x4邻域点(xi,yj), i,j = 0,1,2,3。按如下公式进行插值计算:
图像插值_第3张图片

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