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