我在寻找合适的图像缩放算法,并想知道为什么 super 采样不像双三次、双线性甚至 lanczos 那样流行。
超采样是指一种将源图像划分为相等矩形的方法,每个矩形对应于目标图像中的一个像素。在我看来,这是最自然、最准确的方法。它考虑了源图像的所有像素,而双线性可能会跳过一些像素。据我看,质量也很高,可以和lanczos媲美。
为什么流行的图像库(例如 GraphicsMagic、GD 或 PIL)没有实现这种算法?我只在 Intel IPP 和 AMD Framewave 项目中找到了实现。我至少知道一个缺点:它只能用于缩小规模,但我是否错过了其他东西?
为了比较,这是一个 4.26 倍的缩小图像。从左到右:GraphicsMagic Sinc 滤波器(910ms)、Framewave Super method(350ms)、GraphicsMagic Triangle 滤波器(320ms):
最佳答案
现在我知道答案了。因为 pixel is not a little square .这就是为什么 super 采样调整大小会产生混叠结果。这可以在 sample 图像上的细水射流上看到。这不是致命的, super 采样可用于缩放到 2x、3x 等以在使用另一种方法调整到精确尺寸之前显着减小图片大小。此技术用于 jpeglib 以打开较小尺寸的图像。
当然,我们仍然可以将像素视为正方形,实际上,GD 库确实如此。它是 imagecopyresampled
是真正的 super 采样。
关于image-processing - 为什么超采样没有广泛用于图像缩放?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21384106/