`
luoweifu
  • 浏览: 63359 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

图像放大方法概述

 
阅读更多

影视制作领域,往往会涉及到将低分辨率的图像放大为高分辨的图像的问题,有时候还会涉及到 非正方形像素到正方形像素的调整问题。本章将在图像放大算法,像素宽高比调整方法以及图像序列放大批处理技术等三方面的问题与读者进行探讨。

一、 图像放大算法

图像放大有许多算法,其关键在于对未知像素使用何种插值方式。以下我们将具体分析几种常见的算法,然后从放大后的图像是否存在色彩失真,图像的细节是否得到较好的保存,放大过程所需时间是否分配合理等多方面来比较它们的优劣。
当把一个小图像放大的时候,比如放大400%,我们可以首先依据原来的相邻4个像素点的色彩值,按照放大倍数找到新的ABCD像素点的位置并进行对应的填充,但是它们之间存在的大量的像素点,比如p点的色彩值却是不可知的,需要进行估算。
图1-原始图像的相邻4个像素点分布图
图2-图像放大4倍后已知像素分布图

1、最临近点插值算法(NearestNeighbor)

最邻近点插值算法是最简单也是速度最快的一种算法,其做法是將放大后未知的像素点P,將其位置换算到原始影像上,与原始的邻近的4周像素点A,B,C,D做比较,令P点的像素值等于最靠近的邻近点像素值即可。如上图中的P点,由于最接近D点,所以就直接取P=D。
这种方法会带来明显的失真。在A,B中点处的像素值会突然出现一个跳跃,这就是出现马赛克和锯齿等明显走样的原因。最临近插值法唯一的优点就是速度快。

2、双线性插值算法(BilinearInterpolation)

其做法是將放大后未知的像素点P,將其位置换算到原始影像上,计算的四個像素点A,B,C,D对P点的影响(越靠近P点取值越大,表明影响也越大),其示意图如下。
图3-双线性插值算法示意图
其具体的算法分三步:

第一步插值计算出AB两点对P点的影响得到e点的值。
图4-线性插值算法求值示意图
对线性插值的理解是这样的,对于AB两像素点之间的其它像素点的色彩值,认定为直线变化的,要求e点处的值,只需要找到对应位置直线上的点即可。换句话说,A,B间任意一点的值只跟A,B有关。
第二步,插值计算出CD两点对P点的影响得到f点的值。
第三步,插值计算出ef两点对P点的影响值。
双线性插值算法由于插值的结果是连续的,所以视觉上会比最邻近点插值算法要好一些,不过运算速度稍微要慢一点,如果讲究速度,是一个不错的折衷。

3、双立方插值算法(BicubicInterpolation)

双立方插值算法与双线性插值算法类似,对于放大后未知的像素点P,将对其影响的范围扩大到邻近的16个像素点,依据对P点的远近影响进行插值计算,因P点的像素值信息来自16个邻近点,所以可得到较细致的影像,不过速度比较慢。
图5-双线性插值算法4个邻近点影响未知点信息示意图

图6-双立方插值算法16个邻近点影响未知点信息示意图
不过双立方插值算法与双线性插值算法的本质区别不仅在于扩大了影响点的范围,还采用高级的插值算法,如图所示。
图7-非线性插值算法求值示意图
要求A,B两点之间e点的值,需要利用A,B周围A-1,A,B,B+1四个点的像素值,通过某种非线性的计算,得到光滑的曲线,从而算出e点的值来。
所谓“双”或者叫“二次”的意思就是在计算了横向插值影响的基础上,把上述运算拓展到二维空间,再计算纵向插值影响的意思。
双立方插值算法能够得到相对清晰的画面质量,不过计算量也变大。该算法在现在的众多图像处理软件中最为常用,比如Photoshop,AfterEffects,Avid,FinalCutPro等。
为了得到更好的图像质量,在以上的基础上,许多新的算法不断涌现,它们使用了更加复杂的改进的插值方式。譬如B样条(B-SPline),米切尔(Mitchell)等插值算法,它们的目的是使插值的曲线显得更平滑,图像边缘的表现更加完美。

4、 自适应样条插值极其增强技术( S-Spline & S-Spline XL)

与上述经典的插值方法最大的区别在于, S-Spline 采用了一种自适应技术,那些传统的方法总是依据周围的像素点来求未知点的色彩值,也就是说需要求解的色彩值仅仅依靠该像素点在图像中的位置,而非实际的图像的像素信息,而自适应样条算法还会考虑实际图像的像素信息。实验表明,经过 S-Spline 算法得到的图像效果要优于双立方插值算法。
现在 S-Spline 算法又出现了增强版 S-Spline XL,新版本的 S-SplineXL 算法较 S-Spline 而言画面的锐度得到进一步增强,物体的轮廓更加清晰,边缘的锯齿现象大大减弱,图像感受更加自然。

二、 图像放大算法 实际测试

现在我们来对以上几种插值算法进行实际测试,看看它们的效果。首先打开原始的图像bird.jpg.这是一个分辨率为360×270的图像。
图8-原始图像
我们采用 BenVista 公司著名的 PhotoZoomPro2 软件,在pc电脑上进行测试,电脑的CPU配置为InterCore2T55001.66GHz,分别采用以上5种插值方法把原始图像放大8倍得到5个2880×2160的图像。
图9-最临近点插值N earrst_ N eighbour
图10-双线性插值B ilinear
图11-双立方插值B icubic
图12-自适应样条插值S-S pline
图13-自适应样条增强性插值S-S pline_ XL
对比以上各图并结合实验数据,我把效果参数列举如下表。
插值类型 主观感受 图像轮廓 总体评价 处理耗时
最临近点插值
N earrst_ N eighbour
马赛克现象严重 不清晰 最差 5秒
双线性插值
B ilinear
图像模糊,不锐利 边缘不清晰,有锯齿现象 6秒
双立方插值
B icubic
图像较模糊,较锐利 锯齿现象有所改善 折中 8秒
自适应样条插值
S-S pline
图像相对清晰,锐利 边缘变得清晰,锯齿现象消失 18秒
自适应样条增强
S-S pline_ XL
图像清晰,锐利 边缘锐利,清晰 最好 20秒

显然,为了得到最好的图像放大质量,在可选条件下,我们应该使用自适应样条插值增强(S-S pline_ XL)技术来放大图像。

三、像素宽高比调整

现在我们就以35mm胶片拷贝的4k等效分辨率4096×3112为标准,使用自适应样条插值增强(S-S pline_ XL)技术,对SD-NTSC制式720×486(720×480)分辨率的图像进行放大。同时来说明如何调整非正方形像素到正方形像素的调整方法。
以NTSC_720×486的图像为例,它与4k胶片等效分辨率4096×3112而言,存在显示比例不同的问题,为了最大化保留画面的信息,我们以信箱模式为例进行调整,同时我们还要考虑NTSC制式像素宽高比变化的问题。
我们知道NTSC图像的像素的宽高比并不是1:1的,而是0.9:1。在方形像素显示模式下,调用NTSC图像时候,我们发现图像会发生变形,即感觉画面被压扁了。如图所示:

图14-NTSC长方形像素示意图图15-方形像素示意图
图16-方形像素显示模式下NTSC图像纵向被压缩示意图
现在我们从 BenVistaPhotoZoomPro2.3.2 软件中,先调整像素宽高比变形问题,再调整画面放大参数。
打开 BenVistaPhotoZoomPro2.3.2 软件,它不仅支持单幅图像的放大处理,还可以批处理图像序列帧,此版本支持tif,png,tga,bmp等图像格式,在使用的时候我们需要生成软件所支持的格式,一般用tif或png格式。
1).关闭maintainaspecttatio,然后预调整新生成的图像宽度为720×0.9=648,校正因画面像素宽高比变化导致的画面变形现象,参数调整如图所示。
图17-预调整参数示意图
2).现在调整新生成的图像宽度值为4096,调整高度值为486×(4096/648)=3072。即等比例放大预生成的图像到35mm胶片的等效分辨率大小,随后定义放大的插值方式为S-S pline_ XL即可。
不过由于画幅比例问题,当使用 35 mm胶片进行记录时,由于其4k等效分辨率为4 0 96 x 3112,所以胶片的上下边将留出一定的黑边。

四、图像放大批处理

通过以上的分析,我们了解了使用 BenVistaPhotoZoomPro2.3.2 软件放大单帧图像的方法,再结合它的批处理技术,就可以实现对图像序列的放大了。
在其工具栏中直接启动newBatch选项,然后点击AddImages按钮添加图像序列帧,然后选中所有的帧,依据源格式以及所需要生成的图像尺寸,结合上面的分析数据填充放大的后的图像尺寸和插值运算模式,并制定生成路径后点击运行,便可以实现图像序列的批处理。
图18-添加图像序列示意图
经过一定时间的处理,我们便能得到大尺寸图像序列帧画面了。
分享到:
评论

相关推荐

    matlab编图像放大源程序

    ### MATLAB 图像放大源程序解析 #### 一、概述 在图像处理领域,图像放大的需求十分常见。本文将深入探讨一个使用MATLAB编写的图像放大源程序,并对其原理及实现方式进行详细介绍。该程序主要通过内插算法实现图像...

    非局部的变分正则化图像放大算法

    实验结果显示,与传统的Chambolle图像放大方法以及样条插值等传统图像插值方法相比,所提出的非局部变分正则化图像放大算法在保持图像边缘和细节方面表现出了显著的优势。特别是在处理具有复杂纹理和精细细节的图像...

    基于深度学习的图像放大与图像识别研究.pdf

    基于深度学习的图像放大与图像识别研究 本文总结了基于深度学习的图像放大与图像识别研究,介绍了基于深度图像的放大图像识别算法,研究基于端到端的机器学习算法。该系统能够训练更大的神经模型,处理更高分辨率的...

    模糊图像处理技术概述

    ### 模糊图像处理技术概述 #### 一、模糊图像的特点分析 模糊图像通常是指由于成像过程中的各种因素导致的图像清晰度下降的现象。这些因素包括但不限于光学系统的缺陷(如镜头失真)、运动模糊(拍摄过程中物体或...

    双线性插值图像放大/缩小算法原理

    ### 双线性插值图像放大/缩小算法原理 #### 一、双线性插值算法简介 双线性插值是一种广泛应用于图像处理领域的插值技术,主要用于图像的缩放处理,包括放大与缩小。该算法的核心思想是通过源图像中四个最近邻像素...

    图像放大算法总结及MATLAB源程序.doc

    图像放大算法总结及MATLAB源程序 一、插值算法概述 图像放大是数字图像处理中一个常见的问题,它可以用来提高图像的 resolution 或者将图像转换到不同的设备上显示。插值算法是图像放大中最重要的一步,因为它决定...

    运动模糊图像复原方法研究

    然而,该方法对噪声敏感,可能导致图像放大噪声,尤其是在图像的高频部分。 - **维纳滤波**:作为一种统计优化方法,维纳滤波考虑了噪声的影响,通过最小化均方误差来恢复图像。这种方法在一定程度上缓解了逆滤波...

    陈天华版数字图像处理课件

    陈天华的课件在第一章便对数字图像处理进行了全面的概论性介绍,其中涵盖了图像处理的基础知识、图像的分类、图像数字化过程以及图像质量的评估等内容。图像处理的基础知识强调了图像数字化的必要性以及数字化过程中...

    基于MATLAB的模糊图像的复原方法探究

    #### 一、图像的复原技术概述 ##### (一)认识图像复原 图像复原技术是图像处理中的一个核心部分,旨在解决图像在获取过程中出现的质量退化问题,以便使图像尽可能接近真实场景。图像退化主要包括畸变、模糊、...

    基于边缘检测的图像锐化算法

    通过对一系列标准测试图像进行实验验证,结果表明基于边缘检测的图像锐化方法能够显著减少锐化过程中的噪声放大问题,并且能够有效地突出图像的边缘信息,提高图像的整体清晰度。 #### 结论 综上所述,基于边缘...

    用VB制作图像按钮的方法及技巧

    ### 用VB制作图像按钮的方法及技巧 #### 概述 在使用Visual Basic(简称VB)进行多媒体程序开发的过程中,创建美观且具有交互性的界面是非常重要的。其中,图像按钮因其直观性和吸引力而成为提高用户体验的有效...

    基于MATLAB的模糊图像的复原方法探究.pdf

    此方法适用于没有噪声或噪声可忽略不计的图像,但在实际情况中,图像往往伴随着噪声存在,导致逆滤波法在恢复过程中会放大噪声。 2. 维纳滤波法:维纳滤波法是逆滤波法的一种改进,它假设图像信号可看作平稳随机...

    放大高清超级

    示例基础超分辨率通常在图像放大倍数上比传统多图像超分辨率方法更加灵活。 #### 统一框架下的超分辨率技术 在本论文中提出了一种统一框架,该框架将上述两种方法结合起来。该方法基于以下观察:自然图像中的图像...

    数字图像处理期末复习题

    **知识点1:数字图像处理概述** - **图像与图像处理的概念:** - 图像(Image): 表示客观景物的一种视觉记录,是自然界客观存在的景物在人眼视网膜上的投影。 - 图像处理(Image Processing): 指对图像进行一系列的...

Global site tag (gtag.js) - Google Analytics