使用Bilinear和Bicubic算法缩小图像

时间:2018-04-17 13:29:27

标签: image algorithm image-processing

我试图了解调整图像大小的算法是多么简单。

我实现了Bilinear和Bicubic插值方法,它们在用于放大图像时都能很好地工作。但是,如果我使用相同的方法进行缩小(比如原始的0.25倍),图像会开始丢失细微的细节。

例如(导线不再是直线):

Bicubic

我明白是什么导致了这种影响。 所以我的问题是它是如何修复的?我的意思是,如果我在不同的软件中使用相同的算法,最终图像在这种类型的细节(在我的情况下 - 电线)中没有那种失真。

到目前为止,我发现的唯一解决方案是逐步缩小图像,速度不超过每步原始尺寸的10-20%,但它当然要慢得多。

感谢您的关注。

1 个答案:

答案 0 :(得分:3)

有趣的是,很少有关于图像处理的教科书对此提出警告:对于下采样,插值既过度又不合适。由于香农定理不合适,你不应该在奈奎斯特频率以下采样,否则会产生令人讨厌的混叠效应。过度杀伤,因为当像素很小时,亚像素精度是无用的。

有两种方法可以获得正确的结果:

  • 低通滤波(模糊),然后是抽取,

  • 对像素块进行平均。

从计算的角度来看,后者更有效,但灵活性稍差。

enter image description here

enter image description here

enter image description here