这些缩放算法有啥区别?
Posted
技术标签:
【中文标题】这些缩放算法有啥区别?【英文标题】:What's the difference between these scaling algorithms?这些缩放算法有什么区别? 【发布时间】:2011-11-30 08:02:14 【问题描述】:谁能向我解释这些缩放算法之间的区别?即哪些更适合放大或缩小,哪些更适合照片,哪些更适合 2 位图像,以及每个图像的相对速度等...
bicubic
bilinear
box
data dependent triangulation
nearest neighbor
谢谢!
我有一些大的 2 位图像有点像素化,我想知道我可以使用哪些缩放算法对它们进行去像素化,可能是通过使用不同的算法进行下采样然后上采样(反之亦然)。
【问题讨论】:
【参考方案1】:双三次 双三次是要使用的插值类型。它试图将三次多项式拟合到您的已知像素。然后用这个多项式计算未知像素的颜色。
三次多项式具有颜色变化平滑的优点,但比其他所有多项式更难计算。
双线性 双线性插值也是如此,只是它假设线性坐标变化。导致颜色变化不如双三次插值平滑,但计算起来容易得多。
盒子 我不太确定,但我会假设他们只使用左上角已知像素的像素值。这会导致图像非常像素化。
最近的邻居 每个未知像素都获得最近的已知像素的颜色。应该会导致非常像素化的图像。
这就是说。每种方法都有其优缺点,结果很大程度上取决于您的上采样规模。
【讨论】:
以上是关于这些缩放算法有啥区别?的主要内容,如果未能解决你的问题,请参考以下文章
React 和 Preact diff 算法在深度上有啥区别