常见的插值方法及其原理
常见的插值方法及其原理
常见的插值方法及其原理
这一节无可避免要接触一些数学知识,为了让本文通俗易懂,我们尽量绕开讨厌的公式等。为了进一步的简化难度,我们把讨论从二维图像降到一维上。
首先来看看最简单的‘最临近像素插值’。
A,B是原图上已经有的点,现在我们要知道其中间X位置处的像素值。我们找出X位置和A,B位置之间的距离d1,d2,如图,d2要小于d1,所以我们就认为X处像素值的大小就等于B处像素值的大小。
显然,这种方法是非常苯的,同时会带来明显的失真。在A,B中点处的像素值会突然出现一个跳跃,这就是为什么会出现马赛克和锯齿等明显走样的原因。最临近插值法唯一的优点就是速度快。
图10,最临近法插值原理
接下来是稍微复杂点的‘线性插值’(Linear)
线性插值也很好理解,AB两点的像素值之间,我们认为是直线变化的,要求X点处的值,只需要找到对应位置直线上的一点即可。换句话说,A,B间任意一点的值只跟A,B有关。由于插值的结果是连续的,所以视觉上会比最小临近法要好一些。线性插值速度稍微要慢一点,但是效果要好不少。如果讲究速度,这是个不错的折衷。
图11,线性插值原理
常见的插值方法及其原理
其他插值方法
立方插值,样条插值等等,他们的目的是试图让插值的曲线显得更平滑,为了达到这个目的,他们不得不利用到周围若干范围内的点,这里的数学原理就不再详述了。
图12,高级的插值原理
如图,要求B,C之间X的值,需要利用B,C周围A,B,C,D四个点的像素值,通过某种计算,得到光滑的曲线,从而算出X的值来。计算量显然要比前两种大许多。
好了,以上就是基本知识。所谓两次线性和两次立方实际上就是把刚才的分析拓展到二维空间上,在宽和高方向上作两次插值的意思。在以上的基础上,有的软件还发展了更复杂的改进的插值方式譬如S-SPline, Turbo Photo等。他们的目的是使边缘的表现更完美。
常见的插值方法及其原理
插值(Interpolation),有时也称为“重置样本”,是在不生成像素的情况下增加图像像素大小的一种方法,在周围像素色彩的基础上用数学公式计算丢失像素的色彩。简单地说,插值是根据中心像素点的颜色参数模拟出周边像素值的方法,是数码相机特有的放大数码照片的软件手段。
一、认识插值的算法
“插值”最初是电脑术语,后来引用到数码图像上来。图像放大时,像素也相应地增加,但这些增加的像素从何而来?这时插值就派上用场了。插值就是在不生成像素的情况下增加图像像素大小的一种方法,在周围像素色彩的基础上用数学公式计算丢失像素的色彩(也有些相机使用插值,人为地增加图像的分辨率)。所以在放大图像时,图像看上去会比较平滑、干净。但必须注意的是插值并不能增加图像信息。以图1为原图(见图1),以下是经过不同插值算法处理的图片。
1.最近像素插值算法
最近像素插值算法(Nearest Neighbour Interpolation)是最简单的一种插值算法,当图片放大时,缺少的像素通过直接使用与之最接近的原有像素的颜色生成,也就是说照搬旁边的像素,这样做的结果是产生了明显可见的锯齿(见图
2)。
常见的插值方法及其原理
2.双线性插值算法
双线性插值算法(Bilinear Interpolation)输出的图像的每个像素都是原图中四个像素(2×2)运算的结果,这种算法极大程度上消除了锯齿现象(见图3)。
3.双三次插值算法
双三次插值算法(Bicubic Interpolation)是上一种算法的改进算法,它输出图像的每个像素都是原图16个像素(4×4)运算的结果(见图4)。这种算法是一种很常见的算法,普遍用在图像编辑软件、打印机驱动和数码相机上。
常见的插值方法及其原理
4.分形算法
分形算法(Fractal Interpolation)是Altamira Group提出的一种算法,这种算法得到的图像跟其他算法相比更清晰、更锐利(见图5)。
现在有许多数码相机厂商将插值算法用在了数码相机上,并将通过算法得到的分辨率值大肆宣传,固然他们的算法比双三次插值算法等算法先进很多,但是事实是图像的细节不是凭空造出来的。因为插值分辨率是数码相机通过自身的内置软件来增加图像的像素,从而达到增大分辨率的效果。
二、插值的影响
使用数码变焦拍出来的照片不清晰,这是数码变焦最遭人垢病的地方,事实上,这只是一种片面的说法。
常见的插值方法及其原理
数码变焦对照片清晰度的影响有多大,取决于数码相机在变焦时,CCD是否进行了插值运算。在使用高像素的情况下,如果采用数码变焦进行拍摄,则此时CCD并不会有任何插值运算,数码变焦对最终得到的数码照片的清晰度的影响将会因此而变得极其有限。举个例子,一台CCD像素为520万、最大分辨率为2560×1920的数码相机,如果采用2×的数码变焦来进行拍摄的话,那么成像过程中只会有一半CCD在工作。换句话说,数码相机并不会使用类似“在一个像素点周围添加八个像素点”的插值算法进行成像,而是通过降低分辨率的方法,即1280×960这个分辨率指标来进行成像。对于一般的数码照片来说,1280×960这个分辨率指标已经足够优秀了,它与2560×1920分辨率的差别将会因为没有插值运算的参与而变得可以接受。不过这种现象只限于某些比较高级的数码相机,对于那些千元以下的定焦数码相机来说,使用数码变焦就意味着必然的插值运算,牺牲分辨率的后果使得照片拍摄者只能有两个选择:要么得到一张模糊不清的“全尺寸”照片、要么得到一张质量可以保证但分辨率只有类似320×240这样的“迷你”照片。
常见的插值方法及其原理
图像插值放大的方法有很多,最主要的有二次线性插值和三次线性插值这两种。这次我把自己的程序中所用的二次线性插值的算法公布给大家,希望对各位要使用VB写类似程序的朋友有所帮助。
程序中用到的API、数据类型、全局变量的定义请参考上一篇:《VB实现图像在数据库的存储与显示》
常见的插值方法及其原理
ReDim ColOut(I, OutPutWid, OutPutHei) Xratio = OutPutWid / InPutWid Yratio = OutPutHei / InPutHei
TimeZoom = timeGetTime
NegN = 1 / Int(Yratio + 1) For X = 0 To InPutWid CurR = ColVal(0, X, 0) CurG = ColVal(1, X, 0) CurB = ColVal(2, X, 0) CurStep = 0 NxtStep = 0 For Y = 0 To InPutHei - 1 NxtStep = CurStep + Yratio Yb = CurStep Ye = NxtStep N = Ye - Yb ColTmp(0, X, Yb) = CurR ColTmp(1, X, Yb) = CurG
ColTmp(2, X, Yb) = CurB M=Y+1 NxtR = ColVal(0, X, M) NxtG = ColVal(1, X, M) NxtB = ColVal(2, X, M) If N > 1 Then DRt = (NxtR - CurR) * NegN DGt = (NxtG - CurG) * NegN DBt = (NxtB - CurB) * NegN DR = 0 DG = 0 DB = 0 For L = Yb + 1 To Ye - 1 DR = DR + DRt DG = DG + DGt DB = DB + DBt ColTmp(0, X, L) = CurR + DR ColTmp(1, X, L) = CurG + DG ColTmp(2, X, L) = CurB + DB Next End If CurStep = NxtStep CurR = NxtR CurG = NxtG
常见的插值方法及其原理
CurB = NxtB Next ColTmp(0, X, …… 此处隐藏:3665字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [稿件大全]不忘初心牢记使命 党课演讲稿,忠诚干
- [稿件大全]节能环保演讲稿:给生命关怀
- [稿件大全]《麦田里的守望者》读书报告演讲稿
- [稿件大全]“五四”青年节演讲稿_弘扬“五四精神
- [稿件大全]建国70周年演讲稿:践行新使命 续航新
- [稿件大全]五四演讲稿:弘扬“五四精神”做一名逐
- [稿件大全]建国70周年演讲稿:我和我的祖国
- [稿件大全]高三演讲稿_用梦想点燃青春
- [稿件大全]关于禁毒演讲稿:“健康人生,绿色无毒
- [稿件大全]五四精神演讲稿:继续前行
- [稿件大全]党课演讲稿:以更好的精神状态肩负起新
- [稿件大全]护士演讲稿_做有温度的人,做有意义的
- [稿件大全]书记抓基层党建述职评议大会讲话稿
- [稿件大全]高三成人礼演讲稿:遇见最美的你
- [稿件大全]“五四”青年节演讲稿_传承五四精神 放
- [稿件大全]五四运动一百周年演讲稿:什么是“五四
- [稿件大全]纪念五四运动100周年演讲稿三篇
- [稿件大全]岗位竞选演讲稿
- [稿件大全]演讲稿:敢于担当 为命运掌舵
- [稿件大全]争先创优演讲稿:五心服务铸就五星梦想
- 毕业感言:六年相伴(合集16篇)(毕业
- 毕业三十年的聚会感言(共18篇)(毕业
- 转职能转方式转作风发言稿(精选9篇)(
- 教师比赛开场白(通用16篇)(教师比赛
- 婚礼上新人家长致辞(锦集15篇)(婚礼
- 秘书专业实习的自我总结(合集20篇)
- 高速公路票证员个人工作总结(锦集14篇
- 会计毕业实习报告总结及体会(通用12篇
- 收费站监控员年度个人总结(精选15篇)
- 秋季初中新学期开学第一周国旗下讲话稿
- 支部讨论会主持词(精选16篇)(支部讨
- 小朋友主持词开场白(通用19篇)(小朋
- 小班下学期保育员个人工作总结(精选12
- 工会主席在工会工作会议上的讲话(整理
- 幼儿园衔接班家长会发言稿(锦集18篇)
- 剪刀手爱德华台词(整理6篇)(剪刀手爱
- 国旗下的新年寄语讲话演讲稿(精选18篇
- 物业公司物管员个人总结(共16篇)(物
- 学校晚会主持串词(精选10篇)(学校晚
- 婚礼新人入场主持词(通用15篇)(婚礼




