十 十 三 双线性插值read.pudn.com/downloads151/doc/654037/基于双线性...实用第一...

3
·· 线 性插 的失 , 实验 证明 该方法 线 性插 , , 数字处理的其涉到社会 个领域 , 倍受到 越多的关, 缩放处理 的基本操尤为重要 , 域都需要对图进行放大缩小 现图放大和缩, 当放或缩小的较大时就容易 出现, 此必 须进行改进 出了线性插 值算, 改进 放质变换 空间, , 包括旋转 变换 改变中各间的间关 系 , 这种被看成是各物内移动 空间, 的点 , , 的点 , 间变换就是源图, 处的, 处的颜色对应起, , 具有 关系 , , , , 计算, , , , , 对应, 其中 , , , , 均为变换 对应 称 作 向前 映素移交法 , 对应 变换称作 映射法也 素填, 映射法是向前映 法的逆 来说 , 像素的边界之外 , , 向前法有浪费 , 而且 个输 像素灰度值许多输值来决定 , 间变换中缩小处理 , 像素来决灰度值 果含有放大处理 , 像素能被输出图像素灰度级由素参与的, 法要复杂 , 是向 于一般的实的映射现图像缩线性插值 最简值算, 称为零阶出的像素灰度距离它映到的的输人灰度, , 在许况下能得, 是当中包含灰度变化 , 会在 痕迹 线性插 值算, 缩放后图像质, 像素值的情, 这样获得的结线性插要处理 像像素, 通过线得出的 , 到其在对应 , , 其中 , 非负, , , , 这个, 原图, , , , 所对 周围

Upload: others

Post on 12-Jul-2020

19 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 十 十 三 双线性插值read.pudn.com/downloads151/doc/654037/基于双线性...实用第一 智慧密集 沪︸⋯⋯ 个像素的值决定, 即, 二 一 一, 一, 一,,, 其中,

· ·

⋯⋯日即 〔 护砚二朋

摘 要

关键词

本文用双线性插值算法来改善数字图像缩放 出现的失真现象,

实验证明该方法能够

显著地增加 图像的清晰度。

双线性插值,

图像,

插值

一、

引言

数字图像处理的对象因其涉及到社会的各个领域,

倍受到

越来越多的关注,

而图像缩放作为数字图像处理中的基本操作

尤为重要,

在社会的很多领域都需要对图像进行放大和缩小。

利用 十 十 的 类库中的 二 函数可以很容易地实

现图像放大和缩小,

但是当放大或缩小的比率比较大时就容易

出现失真现象,

因此必须进行改进。

本文提出了一种双线性插

值算法,

用以改进图像的缩放质量。

二、

空间变换

图像的空间变换,

也称几何变换或几何运算,

包括图像的

平移、

旋转、

镜像变换、

转置、

缩放等。

几何运算可改变图像

中各物体之间的空间关系,

这种运算可以被看成是将各物体在

图像内移动。

空间变换可如下表示 设,

为源图像上的点, ,

为目标图像上的点,

则空间变换就是将源图像上,

处的颜

色值与 目标图像上,

处的颜色对应起来。

,

一,

并具有以下关系, , 二 ,

即由,

计算对应点,

或, , ,

即由,

反求对应点,

其中, 、 , 、 , 、 ,

均为变换。

对应的变换称作向前映射法也叫像素移交法,

而由 对应

的变换称作向后映射法也叫像素填充法,

向后映射法是向前映

射法的逆。

对于向前映射法来说,

由于许多输人像素可能映射到输出

图像的边界之外,

所以,

向前映射法有些浪费,

而且每个输出

像素的灰度值可能要由许多输人像素的灰度值来决定,

因此要

涉及多次运算。

如果空间变换中包括缩小处理,

则会有四个以

上的输人像素来决定输出像素的灰度值 如果含有放大处理,

则一些输出像素可能被漏掉。

而向后映射算法是逐像素、

逐行

地产生输出图像。

每个像素的灰度级由最多四个像素参与的插

值所惟一确定,

虽然向后映射法比向前映射法要复杂,

但是向

后映射法对于一般的应用却具有更为现实的意义。

本文就是采

取了向后映射法来实现图像缩放的。

三、

双线性插值

最简单的插值算法是最邻近插值,

也称为零阶插值。

它输

出的像素灰度值就等于距离它映射到的位置最近的输人像素的

灰度值,

最邻近插值算法简单,

在许多情况下都能得到令人满

意的结果,

但是当图像中包含像素之间灰度级有变化的细微结

构时,

最邻近算法会在图像中产生人为加工的痕迹。

双线性插

值算法计算量比零阶插值大,

但缩放后图像质量高,

不会出现

像素值不连续的情况,

这样就可以获得一个令人满意的结果。

双线性插值是利用了需要处理的原始图像像素点周围的四

个像素点的相关性,

通过双线性算法计算得出的。

对于一个 目

的坐标,

通过向后映射法得到其在原始图像的对应的浮点坐标, ,

其中,

均为非负整数, ,

为,

区间

的浮点数,

则这个像素的值 十 ,

』十 可由原图像中坐标为, 、 , 、 , 、 ,

所对应的周围四

Page 2: 十 十 三 双线性插值read.pudn.com/downloads151/doc/654037/基于双线性...实用第一 智慧密集 沪︸⋯⋯ 个像素的值决定, 即, 二 一 一, 一, 一,,, 其中,

实用第一 智慧密集⋯︸⋯

个像素的值决定,

即, 二 一 一 ,

一 , 一 ,

, ,

其中,

表示源图像,

处的像素值,

以此

类推,

这就是双线性内插值法。

如图 所示,

已知, 、 , 、 , 、 ,

四点的灰

度,

可以由相邻像素的灰度值,

和,

在 方向上线

性插值求出,

的灰度, ,

由另外两个相邻像素,

和,

在 方向上线性插值可求出,

的灰度, ,

最后

由,

。、 ,

在 方向上进行线性插值就可以得到,

的灰度, 。

四、

图像缩放算法

算法

假设原始图像大小为 。 二 ,

其中 与 分别是原始

图像的行数与列数。

若图像的缩放因子是,

则目标图

像的大小 二 。

对 于 目标图像的某个像素点,

通过 可得到对应的原始图像坐标’ ,

,

其中 二 八, 二 ,

由于,

都不是整数所以并

不存在这样的点,

这样可以找出与它相邻的四个点的灰度、

几、

乃、 ,

使用双线性插值算法就可以得到这个像素点’

,

的灰度,

也就是像素点,

的灰度。

一个完整的双线性插值算法可描述如下

通过原始图像和 比例因子得到新图像的大小,

并创

建新图像。

由新 图像的某个像素,

映射到原始图像’ , ’

处。

对’ , ’

取整得到 。,

并得到 。, 、

。, 、

。,

和 。,

的值。

利用双线性插值得到像素点,

的值并写回新图

像。

重复步骤 直到新图像的所有像素写完。

核心代码

嘟,

Page 3: 十 十 三 双线性插值read.pudn.com/downloads151/doc/654037/基于双线性...实用第一 智慧密集 沪︸⋯⋯ 个像素的值决定, 即, 二 一 一, 一, 一,,, 其中,