当我们把一张原本只有 $100 \times 100$ 像素的微缩拇指图强制放大拉宽成 $800 \times 800$ 像素,或者是用页面上的在线剪图器调整尺寸时,算力引擎就不得不面对一个数学谜题:多出来的像素空隙,必须凭空填上怎么样的色块才自然?这一过程就是“图像像素插值算法 (Image Interpolation Algorithms)”。
1. 最邻近法 (Nearest Neighbor)
这是最不费脑子的暴力算式。当判定一个生成的空缺应该涂什么色彩时,算法只偷懒地抓取源图像上跟它几何距离最近的那一颗像素颜色填上去。
- 画风表现: 完全没有渐变。保留极其锐利坚硬的轮廓。
- 致命缺点: 画面如果出现斜线,会布满像刺刀一样的锯齿边缘。
- 最佳场景: 像素画 (Pixel Art)、怀旧游戏模拟器画面、非倾斜的高对比工程线框图。
2. 双线性与双三次插值 (Bilinear / Bicubic)
程序不再只看一个点,而是观察空缺附近相邻的若干个已知像素(双线性看4点,双三次看16点),通过距离权重方程,给它们算一个加权平均值,让颜色慢慢过渡过去。
- 画风表现: 丝滑柔软。没有明显的棱角和锯齿。
- 缺点: 偶尔会抹去摄影中非常紧绷硬朗的轮廓细节,给画面笼罩上一层微微发棉发胡的感觉。
- 最佳场景: 旅游风景照片、写实的人脸数码肖像、渐变渲染海报。
3. Lanczos 重采样算法 (高精度 sinc 函数)
使用更高阶的三角插值数学模型对全范围进行核窗口多点像素计算。