插值法在数字图像处理中的应用

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

插值法在数字图像处理中的应用

一、引言

数字图像处理的对象涉及到社会生活的许多领域。而图像的放大作为数字图像处理中的基本操作尤为重要。

插值法是一种古老的数学方法,尤其是近几十年发展起来的二维插值,是图像处理中不可或缺的方法。本文主要讨论了最近邻插值法和双线性插值法,并分别用这两种算法实现了图像的放大,从而得出这两种不同算法之间的差异。

二、插值法

(一)一维插值

已知n+1个节点(xj,yj)(j=0,1,2…n,其中xj互不相同。不妨设a=x0

(二)二维插值

一维插值节点为一维变量,插值函数是一元函数(曲线)。若节点是二维的,插值函数就是二元函数,即曲面。如已知n个节点(xi,yi,zi)

(如图1),通过全部已知节点,即zi=f xi,yi ,(i=0,1,2…,n),再用,进行插值,即z= f(x,y)。

常用的插值法有最近邻插值法和双线性插值法:y∗=f(x∗)。

1.最近邻插值法

最近邻插值法就是把所求点的值与它附近的(2×−2)4个邻近的值作比较,取与它的值就近的节点的值为的插值点函数值。

在图像处理中,最近邻插值即选择离它所映射到的位置最近的输入像素的灰度值为插值结果。若几何变换后输出的图像上坐标为(x′,y′)的像素点在原图像上的对应坐标为(u,v),则近邻插值公式为:

g x′,y′ =f(x,y)

x=[u+0.5]

y=[v+0.5]

其中[ ]表示取整。

2.双线性插值法

双线性插值法是一片一片空间二次曲面构成,其形式如下:

f x,y = ax+b cy+d

其中有四个待定系数,利用该函数在矩形的四个顶点(插值节点)的函数值,得到四个代数方程,正好确定四个系数。

设g x′,y′ 上像素坐标为(x′,y′)的点对应于原像f(x,y)上的坐标为(u,v)如图2所示。

令a=u-[u],b=v-[v],[ ]表示取整,则g x′,y′ 的取值按如下公式计算:

g x′,y′ =f u,v =bt1+(1−b)t2

其中,t1=af u +1, v + 1−a f( u +1, v +1),

t2= af u , v +1 + 1−a f( u , v )

图2 由4个邻点灰度值插值求f(u,v)的灰度值

三、插值法在图像处理中的应用

从数字图像处理的基本理论,可以知道:图像的变形变换就是原图像到目标图像的坐标变换。简单的说就是把原图像的每个点坐标通过变形运算转为目标图像的相应点的新坐标,但这样会导致目标点的坐标通常不

会是整数,我们要解决的问题就是如何确定这个非整数坐标处的点应该是什么颜色。通常的方法有:最近邻插值法、双线性插值法和双三次样条插值法等。

最近邻插值法的每一个插值输出像素的值是在输入图像中与其最邻近的采样点的值,这种插值算法的运算量最小,容易实现且速度快。双线性插值法的输出像素是它在输入图像中2*2邻域采样点的平均值。它根据周围4个像素的灰度值在水平和垂直两个方向上进行插值。如对于一个要估计像素,先求得其“浮点”坐标为(x+∆x,y+∆y),其中x,y为非负整数。∆x、∆y为[0,1]区间的浮点数,而这个像素的值f(x+∆x,y+∆y)可由原图像中的坐标 x,y , x+1,y , x,y+1 ,(x+1,y+1)所对应的周围四个像素的值决定,即:

f x+∆x,y+∆y

= 1−∆x 1−∆y f x,y + 1−∆x ∆yf x,y+1

+∆x 1−∆y f x+1,y +∆x∆yf(x+1,y+1)

四、算法实现

算法设计

1.最近邻插值法

(1)读取一副128*128的图lena.bmp,显示原图并取出行和列;

(2)设放大系数k;

(3)求放大后图像的尺寸,并计算缩放比例;

(4)求变换后任一点(x,y)乘以缩放比例后的坐标(xx,yy);(5)若xx和yy为整数则取原图像中该点处的像素值,否则,取最近的一点的坐标的像素值为该点的像素值;

(6)显示变换后的图像。

2.双线性插值法

前(1)~(5)与最近邻插值算法一样。

(6)若xx和yy为整数则取原图像中该点处的像素值,否则求出该点最近坐标的值,再求出他附近(2,-2)的4个邻近像素的值,加

权平均记得到该点的像素值,然后显示变换后的图像。

五、两种算法对图像处理后的比较

从下图比较可以看出,最近邻插值法只是照搬最近邻的像素,这样做的结果产生了明显的锯齿。它的效果和直接在屏幕上放大一样,线条边缘清晰明显;而双线性插值法像素之间有像素过度,边缘模糊,所以对于线条比较多的图像近邻插值比较好。

线性插值法放大的图比最近邻插值法更柔和平滑,可以较好的保留原始图像的边缘,使放大图像更加平滑。因为双线性插值法算法用的加权平均算法具有放锯齿效果,创造出来的图像拥有平滑的边缘,锯齿难以察觉,所以对于一般的连续图像来说,用双线性插值法比用最近邻算法效果好。

(a)(b)

(c)

图3(a)100%原图

(b)最近邻插值法300%放大

(c)双线性插值法300%放大

六、结论

通过对图像放大处理的结果我们已经得出对不同的图像用不同的方法处理的结论:最近邻插值法运算量小容易实现,但是随着放大倍数的增加,效果比较模糊,容易产生锯齿,比较适合于放大倍数小且对图像质

相关文档
最新文档