- 数字图像处理
- DIP - 主页
- DIP - 图像处理简介
- DIP - 信号与系统介绍
- DIP - 摄影史
- DIP - 应用和使用
- DIP - 尺寸概念
- DIP - 相机上的图像形成
- DIP - 摄像头机构
- DIP - 像素的概念
- DIP-- 透视变换
- DIP - 每像素位数的概念
- DIP - 图像类型
- DIP - 颜色代码转换
- DIP - 灰度到 RGB 转换
- DIP - 抽样的概念
- DIP - 像素分辨率
- DIP - 缩放的概念
- DIP - 缩放方法
- DIP - 空间分辨率
- DIP - 每英寸的像素点和线数
- DIP - 灰度分辨率
- DIP - 量化的概念
- DIP - ISO 偏好曲线
- DIP - 抖动的概念
- DIP - 直方图介绍
- DIP - 亮度和对比度
- DIP - 图像转换
- DIP - 直方图滑动
- DIP - 直方图拉伸
- DIP - 概率导论
- DIP - 直方图均衡
- DIP - 灰度级变换
- DIP - 卷积的概念
- DIP - 掩模的概念
- DIP - 模糊的概念
- DIP - 边缘检测的概念
- DIP - Prewitt 操作员
- DIP - 索贝尔算子
- DIP - 罗宾逊指南针面罩
- DIP - Krisch 指南针掩模
- DIP - 拉普拉斯算子
- DIP - 频域分析
- DIP - 傅里叶级数和变换
- DIP——卷积定理
- DIP - 高通滤波器与低通滤波器
- DIP - 色彩空间简介
- DIP - JPEG 压缩
- DIP - 光学字符识别
- DIP - 计算机视觉和图形
- DIP 有用资源
- DIP - 快速指南
- DIP - 有用的资源
- DIP - 讨论
缩放方法
在本教程中,我们将正式介绍缩放简介教程中介绍的三种缩放方法。
方法
- 像素复制或(最近邻插值)
- 零阶保持法
- 缩放K倍
每种方法都有自己的优点和缺点。我们将从讨论像素复制开始。
方法一:像素复制:
介绍:
它也称为最近邻插值。顾名思义,在这种方法中,我们只是复制相邻像素。正如我们在采样教程中已经讨论过的,缩放只不过是增加样本或像素的数量。该算法的工作原理相同。
在职的:
在这种方法中,我们从已经给定的像素创建新的像素。在此方法中,每个像素按行和列复制 n 次,然后您就得到了缩放图像。就这么简单。
例如:
如果您有 2 行 2 列的图像,并且想要使用像素复制将其缩放两倍或 2 倍,请参阅此处的操作方法。
为了更好地理解,图像以具有图像像素值的矩阵形式呈现。
1 | 2 |
3 | 4 |
上图有两行两列,我们首先按行缩放它。
逐行缩放:
当我们逐行缩放时,我们只需简单地将行像素复制到其相邻的新单元格。
这是如何完成的。
1 | 1 | 2 | 2 |
3 | 3 | 4 | 4 |
正如您在上面的矩阵中看到的那样,每个像素在行中复制两次。
列大小缩放:
下一步是按列复制每个像素,我们将简单地将列像素复制到其相邻的新列或简单地在其下方。
这是如何完成的。
1 | 1 | 2 | 2 |
1 | 1 | 2 | 2 |
3 | 3 | 4 | 4 |
3 | 3 | 4 | 4 |
新图像尺寸:
从上面的例子可以看出,2行2列的原始图像经过缩放后变成了4行4列。这意味着新图像的尺寸为
(原始图像行 * 缩放系数,原始图像列 * 缩放系数)
优点和缺点:
这种缩放技术的优点之一是非常简单。您只需复制像素即可。
这种技术的缺点是图像被放大但输出非常模糊。随着变焦倍数的增加,图像变得越来越模糊。这最终会导致图像完全模糊。
方法二:零阶保持
介绍
零阶保持法是另一种变焦方法。它也称为缩放两次。因为它只能变焦两倍。我们将在下面的示例中了解为什么这样做。
在职的
在零阶保持方法中,我们分别从行中选取两个相邻元素,然后将它们相加并将结果除以二,并将它们的结果放在这两个元素之间。我们首先按行进行此操作,然后按列进行此操作。
例如
让我们拍摄一张 2 行 2 列尺寸的图像,并使用零阶保持将其缩放两倍。
1 | 2 |
3 | 4 |
首先,我们将按行缩放,然后按列缩放。
逐行缩放
1 | 1 | 2 |
3 | 3 | 4 |
当我们取前两个数字:(2 + 1) = 3,然后将其除以 2 时,我们得到 1.5,近似于 1。在第 2 行中应用相同的方法。
按列缩放
1 | 1 | 2 |
2 | 2 | 3 |
3 | 3 | 4 |
我们取两个相邻的列像素值,即 1 和 3。我们将它们相加并得到 4。然后将 4 除以 2,得到放置在它们之间的 2。所有列均应用相同的方法。
新图像尺寸
正如您所看到的,新图像的尺寸为 3 x 3,而原始图像尺寸为 2 x 2。因此,这意味着新图像的尺寸基于以下公式
(2(行数) - 1) X (2(列数) - 1)
优点和缺点。
这种缩放技术的优点之一是,与最近邻插值方法相比,它不会产生模糊的图像。但它也有一个缺点,就是只能运行在2的幂上。可以在这里演示。
两次缩放背后的原因:
考虑上面 2 行 2 列的图像。如果我们必须将其放大6倍,使用零阶保持方法,我们就无法做到。正如公式向我们展示的那样。
只能放大2的2、4、8、16、32等次方。
即使你尝试缩放它,你也不能。因为一开始当您将其缩放两次时,结果将与尺寸等于 3x3 的按列缩放中所示的相同。然后再次缩放,您将获得等于 5 x 5 的尺寸。现在,如果您再次执行此操作,您将获得等于 9 x 9 的尺寸。
而根据你的公式,答案应该是 11x11。(6(2) - 1) X (6(2) - 1) 得出 11 x 11。
方法三:K倍缩放
介绍:
K倍是我们要讨论的第三种缩放方法。它是迄今为止讨论的最完美的缩放算法之一。它解决了两倍缩放和像素复制的挑战。该缩放算法中的K代表缩放因子。
在职的:
它是这样工作的。
首先,您必须像缩放两次一样获取两个相邻像素。然后你必须用较大的值减去较小的值。我们将此称为输出 (OP)。
将输出(OP)除以缩放系数(K)。现在您必须将结果与较小的值相加,并将结果放在这两个值之间。
再次将值 OP 添加到您刚刚输入的值中,并将其再次放置在之前输入的值旁边。你必须这样做,直到你将 k-1 值放入其中。
对所有行和列重复相同的步骤,您将获得缩放的图像。
例如:
假设您有一个 2 行 3 列的图像,如下所示。而且还得把它放大三三倍。
15 | 30 | 15 |
30 | 15 | 30 |
本例中的 K 为 3。K = 3。
应插入的值的数量为 k-1 = 3-1 = 2。
逐行缩放
取前两个相邻像素。分别是 15 和 30。
30 减 15。30-15 = 15。
将 15 除以 k。15/k = 15/3 = 5。我们称之为OP。(其中op只是一个名称)
将 OP 添加到较低的数字。15 + OP = 15 + 5 = 20。
再次将 OP 添加到 20。20 + OP = 20 + 5 = 25。
我们这样做了 2 次,因为我们必须插入 k-1 个值。
现在对接下来的两个相邻像素重复此步骤。它显示在第一个表中。
插入值后,必须按升序对插入的值进行排序,以便它们之间保持对称。
如第二张表所示
表格1。
15 | 20 | 25 | 30 | 20 | 25 | 15 |
30 | 20 | 25 | 15 | 20 | 25 | 30 |
表 2.
按列缩放
必须按列执行相同的过程。该过程包括获取两个相邻的像素值,然后从较大的像素值中减去较小的像素值。然后,你必须将它除以 k。将结果存储为 OP。将 OP 添加到较小的值,然后再次将 OP 添加到第一次添加 OP 时出现的值。插入新值。
这就是你在这一切之后得到的。
15 | 20 | 25 | 30 | 25 | 20 | 15 |
20 | 21 | 21 | 25 | 21 | 21 | 20 |
25 | 22 | 22 | 20 | 22 | 22 | 25 |
30 | 25 | 20 | 15 | 20 | 25 | 30 |
新图像尺寸
计算新图像尺寸公式的最佳方法是比较原始图像和最终图像的尺寸。原始图像的尺寸为 2 X 3。新图像的尺寸为 4 x 7。
公式为:
(K (行数减 1) + 1) X (K (列数减 1) + 1)
的优点和缺点
k 倍缩放算法的明显优势之一是它能够计算任何因素的缩放,这是像素复制算法的强大功能,而且它还提供了改进的结果(更少模糊),这是零阶保持方法的强大功能。因此它包含了两种算法的力量。
该算法唯一的困难是最后必须进行排序,这是一个额外的步骤,从而增加了计算成本。