image-processing - 为什么超采样没有广泛用于图像缩放?

标签 image-processing image-resizing

我在寻找合适的图像缩放算法,并想知道为什么 super 采样不像双三次、双线性甚至 lanczos 那样流行。

超采样是指一种将源图像划分为相等矩形的方法,每个矩形对应于目标图像中的一个像素。在我看来,这是最自然、最准确的方法。它考虑了源图像的所有像素,而双线性可能会跳过一些像素。据我看,质量也很高,可以和lanczos媲美。

为什么流行的图像库(例如 GraphicsMagic、GD 或 PIL)没有实现这种算法?我只在 Intel IPP 和 AMD Framewave 项目中找到了实现。我至少知道一个缺点:它只能用于缩小规模,但我是否错过了其他东西?

为了比较,这是一个 4.26 倍的缩小图像。从左到右:GraphicsMagic Sinc 滤波器(910ms)、Framewave Super method(350ms)、GraphicsMagic Triangle 滤波器(320ms):

http://i.stack.imgur.com/Csvg8.png

最佳答案

现在我知道答案了。因为 pixel is not a little square .这就是为什么 super 采样调整大小会产生混叠结果。这可以在 sample 图像上的细水射流上看到。这不是致命的, super 采样可用于缩放到 2x、3x 等以在使用另一种方法调整到精确尺寸之前显着减小图片大小。此技术用于 jpeglib 以打开较小尺寸的图像。

当然,我们仍然可以将像素视为正方形,实际上,GD 库确实如此。它是 imagecopyresampled是真正的 super 采样。

关于image-processing - 为什么超采样没有广泛用于图像缩放?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21384106/

相关文章:

python - 如何在不增加噪声的情况下使用python调整图像大小?

上传时调整图像大小的 php 会在我不希望图像旋转时旋转图像

python - 如何使用 Opencv 模糊/羽化图像中对象的边缘?

python - 如何从二值图像中去除不必要的黑度(主要由暗区/噪声引起)

python - 核心 Python 中的图像处理解决方案

python - OpenCV python Stamp 过滤器 photoshop

python - 调整图像大小时 PIL "ValueError: image has wrong mode"

opencv - 查找图像中金属球的数量

c++ - 使用openCV的双三次插值

zend-framework2 - 图像调整大小 zf2