《c语言插值算法》由会员分享,可在线阅读,更多相关《c语言插值算法(26页珍藏版)》请在人人文库网上搜索。
1、插值算法,讲座人:邓书莉 时间: 2010年12月9日 编写排版:邓书莉,插值算法,插值的定义 一维插值算法 最邻近插值 线性插值 拉格朗日插值 牛顿插值 埃尔米特插值 三次样条插值,二维插值算法 最邻近插值 双线性插值 三次卷积插值,插值的定义,设函数y=f(x)在区间a,b上有定义,且已知在点ax0x1xnb上的值为y0,y1,yn,若存在简单函数P(x)使得 P(xi)=yi (i=0,1,n) 成立,就称P(x)为f(x)的插值函数, x0,x1,xn称为插值节点,包含插值节点的区间a,b称为插值区间,求插值函数P(x)的方法就是插值法。,最邻近插值,最邻近插值是最简单的插值方法,位置。
2、x上的值被赋为离它最近的值,因此它也被称为一点插值函数。 若x在区间xi,xi+1内,则,最邻近插值结果,线性插值,线性插值即分段线性插值,是通过插值点用折线段连接起来逼近 f(x),若x在区间xi,xi+1内,则,线性插值结果,拉格朗日插值,若通过n+1个节点x0x1xn的n次插值多项式 Ln(x)满足条件:,可以构造出满足此条件的插值多项式 Ln(x),其中,lk(x)为n次插值基函数,拉格朗日插值结果,牛顿插值,利用插值基函数容易求出拉格朗日插值多项式,但当插值节点增减时,计算要全部重新进行,牛顿插值就是一种能够逐次生成插值多项式的插值法。已知f在插值点 xi(i=0,1,n)上的值为f。
3、(xi),若n次插值多项式 Pn(x)满足条件:,则插值多项式表示为:,其中,,为f(x)的k阶均差,埃尔米特插值(Hermite),埃尔米特插值多项式不仅满足在插值节点上函数值相等,还满足在节点上的导数值相等。通过三点 (x0,f(x0),(x1,f(x1),(x2,f(x2)的三次埃尔米特插值多项式为 :,两点三次埃尔米特插值多项式为 :,其中,,埃尔米特插值结果,三次样条插值,三次样条插值结果,二维图像插值算法,最邻近插值 双线性插值 三次卷积插值,二维最邻近插值,对于通过反向变换得到的一个浮点坐标,对其进行简单的取整,得到一个整数型坐标,这个整数型坐标对应的像素值就是目标像素的像素值。。
4、对于从上到下,从左到右扫描的图像来说,取浮点坐标最邻近的左上角点对应的像素值。 特点:简单直观,但图像质量不高,容易出现锯齿边缘。,最邻近插值结果演示,放大6倍图像,源图像,双线性内插值,对于一个目的像素,设置坐标通过反向变换得到的浮点坐标为 (i+u,j+v),其中i,j为非负整数,u,v为0,1区间的浮点数,则这个像素的值 f(i+u,j+v)可由原图像中的坐标为 (i,j),(i+1,j),(i,j+1),(i+1,j+1)所对应的周围四个像素的值决定,即,其中,f(i,j)表示源图像(i,j)处的像素值。,双线性内插值,特点:计算量大,缩放图像质量高,不会出现像素值不连续的情况,由于它具有低通滤波器的性质,使高频分量受损,可能会使图像轮廓在一定程度上变得模糊。,双线性内插值结果演示,源图像,放大6倍图像,三次卷积插值,考虑一个浮点坐标(i+u,j+v),周围的16个邻点,目的像素值f(i+u,j+v)由下式得到:,其中,,s(x)是对s(x)/x的逼近。 特点:能够克服最邻近插值锯齿形状和双线性线性插值边缘模糊的缺点。,三次卷积插值结果演示,源图像,放大6倍图像,谢 谢。