`
luoweifu
  • 浏览: 60945 次
  • 性别: 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-添加图像序列示意图
经过一定时间的处理,我们便能得到大尺寸图像序列帧画面了。
分享到:
评论

相关推荐

    非局部变换域图像去噪与增强及其性能评价研究

    变换域图像细节增强的前提是图像中呈线状奇异性的弱细节信息能够得到有效地表示,通过放大弱细节系数以达到图像增强的目 的。非下采样轮廓波变换(NSCT)作为当前最好的线状奇异性表示方法能有效表示图像中 的边缘或...

    图像处理基础(第2版).[美]Maria Petrou(带详细书签).pdf

    本书也是一本介绍图像技术的教材,但它有不同的视点和方式。至少有两点值得指出: 首先,作者完全采用了一种问答的形式来组织和介绍相关内容。全书从头到尾共设计了472个问题(很多是由学生提出来的),有问有答,...

    labview Vision图像处理高清

    第一章 概述... 9 第一节 NI LabVIEW & NI Vision简介... 9 第二节 NI各款视觉软件的应用范围... 14 2.1 LabVIEW的应用... 14 2.2 VDM视觉开发模块的应用... 15 2.3 VA视觉助手的应用... 16 2.4 VBAI视觉生成器的...

    xbrzscale:使用xBRZ算法的图像放大命令行工具

    概述 该工具允许您使用xBRZ算法缩放图形,请参阅 外部代码 此存储库中包含以下外部代码: 实施 依存关系 编译xbrzscale需要以下依赖项: libsdl2-dev libsdl2-image-dev 在Windows上,可以通过执行以下操作来...

    传感技术中的μPD3575D CCD图像传感器的原理及应用

    摘要:μPD3575D是NEC公司生产的一种高灵敏度、低暗电流、1024像元的内置采样保持电路和放大电路的线阵CCD图像传感器。文章介绍了μPD3575D的主要特点、结构原理、引脚功能、光学/电子特性、驱动时序以及驱动电路。 ...

    一个很小的脚本,可以在线缩放图像-JavaScript开发

    放大概述放大允许用户增加图像的大小。 最好在段落之间的狭窄容器中使用。 它是轻量级的:JS的29个位置和SCSS的23个位置,总共为1.22kB。 放大概述放大允许用户增加图像的大小。 最好在段落之间的狭窄容器中使用。 ...

    ImageTransform:演示如何使用视图转换和变换在 iOS 中操作图像

    一旦第二张图像完全可见,放大图像的左上象限,同时旋转图像。 扩大 我决定超越代码挑战。 我为 Photo 应用程序创建了一个扩展,允许选择多个图像并创建与主代码挑战相同的操作。 扩展目标名为 SelectMultiple。 ...

    Free-Color-Picker:先进的颜色选择器,屏幕放大器和调色板管理器。 Windows 32和64位

    为了便于进行颜色捕获,主窗口中央有一个屏幕放大镜,可在当前光标位置周围显示放大的图像。 最大放大倍率是30倍。 可以使用内置的颜色编辑器自由更改任何捕获的颜色。 此外,该程序还允许轻松修改整个调色板,根据...

    matlab将代码放大-Seam-Carving:使用MATLAB和C++实现Shamir和Avidan的“接缝雕刻”算法

    matlab将代码放大接缝雕刻 使用MATLAB&C ++实现“对内容感知的图像进行大小调整的接缝雕刻”(Shamir和Avidan,2007),并在“针对视频重定向的改进的接缝雕刻”中提出了正向能量函数(Rubinstein,Shamir&Avidan...

    Java 2 范例入门与提高

    5.6 图像放大器 5.7 电子相册 5.8 计算器 5.9 多功能时钟 第6章 java图形用户界面 6.1 HelloWorldSwing 6.2 按钮计数器 6.3 Swing按钮 6.4 温度转换器 6.5 HtmlDemo 6.6 投票器 6.7 TextSamplerDemo 6.8 Swing菜单 ...

    SRGAN-PyTorch:超分辨率纸的简单而完整的实现

    尽管使用更快,更深的卷积神经网络在单图像超分辨率的准确性和速度方面取得了突破,但仍然存在一个主要问题仍未解决:当在较大的放大比例下进行超分辨率处理时,如何恢复更精细的纹理细节? 基于优化的超分辨率方法...

    有线电视系统设计方案.doc

    有线电视系统 设 计 方 案 二〇一〇年五月 目 录 第一节 系统概述 3 第二节 设计原则 3 第三节 设计依据 4 第四节 技术方案设计 4 一、有线电视系统的构成 4 二、系统指标分配 9 三、主要设备技术参数 11 第一节 ...

    HTML5 Canvas核心技术 图形、动画与游戏开发

    在绘制时缩放图像与保持原样之间的对比 217 4.9.3 遍历图像数据 218 4.10 放大镜 222 4.10.1 使用离屏canvas 224 4.10.2 接受用户从文件系统中拖放进来的图像 225 4.11 视频处理 227 4.11.1 视频格式 227 ...

    从入门到精通HTML5——PDF——网盘链接

     2.5.3 背景图像属性——background 32  2.5.4 设置链接文字属性——link 35  2.5.5 设置边距——margin 37  2.6 页面的注释标记 38  2.7 实例演练——创建基本的HTML网页 38  2.8 小结 39  2.9 习题 40  第...

    elementor-responsive-image:Elementor的响应式img小部件

    Elementor响应式图像小部件概述Elementor响应图像是一个负责任的图像构件 。为什么? Elementor中没有响应式图像控件。 Elementor确实允许使用响应式背景图像,但没有本地响应式img元素。 不确定何时使用img或CSS...

    石老师的LABVIEW 宝典

    1.3.7 放大图像算子... 131 1.3.8 缩小图像算子... 132 1.3.9 检查文件夹存在及新建... 133 1.3.10 良率计算... 134 1.3.11 路径(开发与应用环境)... 135 1.3.12 罗列文件-多文件类型... 137 1.3.13 判断数组大小...

    车底盘智能扫描检测系统方案.pdf

    系统概述 车底盘智能扫描检测系统是基于车牌为"身份" ,自动检测车辆并对车辆底盘进行图像 采集、显示、拼接、抓拍汇总、比对报警、自动环控为一体的车辆安检系统。该系统在车辆 经过出入口时, 通过车底盘线阵扫描...

    《Java2范例入门与提高》所有实例源码

    5.6 图像放大器 5.7 电子相册 5.8 计算器 5.9 多功能时钟 第6章 java图形用户界面 6.1 HelloWorldSwing 6.2 按钮计数器 6.3 Swing按钮 6.4 温度转换器 6.5 HtmlDemo 6.6 投票器 6.7 TextSamplerDemo 6.8 Swing菜单 ...

Global site tag (gtag.js) - Google Analytics