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