Parcourir la source

feat: 添加图片缩放的简单介绍

nicetry12138 il y a 1 an
Parent
commit
e7d607d248
2 fichiers modifiés avec 41 ajouts et 0 suppressions
  1. BIN
      OpenGL/Image/025.png
  2. 41 0
      OpenGL/README.md

BIN
OpenGL/Image/025.png


+ 41 - 0
OpenGL/README.md

@@ -1024,5 +1024,46 @@ $\alpha_{\text{final}} = \alpha_{\text{global}} \times \alpha_{\text{pixel}}$
 
 ![](Image/024.png)
 
+### 图片的简单缩放
+
+1. Nearest Neighbor (最近邻插值)
+   - 原理:选择最靠近目标像素位置的源像素值
+   - 优点:计算简单,速度快
+   - 缺点:图像质量较差,尤其在放大时容易出现明显的像素块效果,不适合高质量的图像缩放
+
+2. Bilinear Interpolation (双线性插值)
+   - 原理:基于目标像素四个最近邻点的加权平均,权重取决于距离
+   - 优点:相比最近邻插值,质量较好,能提供平滑的缩放效果
+   - 缺点:放大图像时可能出现模糊,计算量比最近邻插值大
+
+3. Bicubic Interpolation (双三次插值)
+   - 原理:使用16个相邻像素进行插值,提供比双线性插值更平滑的结果
+   - 优点:图像质量较好,边缘更平滑
+   - 缺点:计算量较大,相对较慢。可能会引入轻微的环形伪影
+
+4. Lanczos Resampling
+   - 原理:使用 sinc 函数的一个窗口化版本作为插值函数,常用窗口大小为3或5
+   - 优点:提供非常高的图像质量,尤其适合图像缩放
+   - 缺点:计算复杂度高,处理速度慢。对于特定类型的图像数据可能会产生振铃效应
+
+5. Fourier Transform Method
+   - 原理:通过对图像进行傅立叶变换,编辑频域数据后进行逆变换
+   - 优点:理论上可以在频域内进行完美的缩放
+   - 缺点:实际应用复杂,需要处理边缘效应。处理速度慢,不适合实时应用
+6. Area Sampling
+   - 原理:考虑图像缩放过程中像素覆盖的区域,平均这些区域的颜色值
+   - 优点:能够更好地保持图像的总体亮度,尤其适用于缩小图像
+   - 缺点:实现相对复杂,计算量较大
+7. Pyramid Reduction
+   - 原理:逐步缩小图像,每次减少一定比例,直到达到目标大小
+   - 优点:对于大幅度缩小的情况,可以提供较好的结果
+   - 缺点:需要多步处理,可能导致计算量大增
+
+以**最近邻插值**为例,对于目标图像中的每个像素点,根据缩放比例计算它在原始图像中的对应坐标。如果目标图像比原始图像大,这通常涉及到一个除法操作;如果目标图像更小,则涉及到乘法操作
+
+![](Image/025.png)
+
+如上图所示,蓝色为原始像素,绿色为计算后的像素。也就是说这里是一个缩小图片的计算过程,
+
 ## 图形学状态机接口封装