插值
在图像缩放、旋转或变形过程中估算新像素值的数学方法,在质量与计算成本之间取得平衡。
插值是在缩放、旋转和畸变校正等几何变换过程中,估算非整数坐标处像素值的数学过程。由于数字图像是离散的像素网格,计算现有采样点之间的值需要从周围像素进行插值。
按质量排序的常见算法:
- 最近邻:使用最近像素的值。速度最快但产生锯齿边缘(混叠)。适合需要保持锐利边缘的像素艺术
- 双线性:4 个周围像素(2×2 网格)的加权平均。比最近邻更平滑但引入轻微模糊。实时应用的标准方法
- 双三次:使用 16 个周围像素(4×4 网格)和三次多项式加权。比双线性更锐利,边缘保持更好。Photoshop 的默认方法
- Lanczos:基于 sinc 函数。产生最锐利的结果但计算开销大。可能在高对比度边缘附近引入振铃伪影
按用途的选择指南:
- 缩小:Lanczos 或带抗锯齿预滤波的双三次,防止摩尔纹和混叠
- 放大:双三次(锐利变体)或 AI 超分辨率。传统插值对大倍率放大有固有限制
- 实时渲染:双线性。GPU 纹理采样标准,以最小成本提供可接受的质量
CSS image-rendering 控制浏览器插值:pixelated 强制最近邻用于复古像素艺术显示,而 crisp-edges 尝试在不平滑的情况下保持边缘。
插值 (Interpolation) 是在缩放、旋转、畸变校正等几何变换中,根据已有像素数据推定目标坐标对应像素值的数学方法。最近邻插值 (Nearest Neighbor) 直接取最近像素的值,适合放大点阵图与保持像素画风格;双线性插值 (Bilinear) 取周围 4 个像素 (2×2) 的加权平均,是实时处理的均衡选择;双三次插值 (Bicubic) 用周围 16 个像素 (4×4) 的 3 次多项式求值,画质更高但计算量也更大。