【发布时间】:2021-01-11 01:15:21
【问题描述】:
我正在使用 Matlab 的 imresize 函数通过双三次插值将 3000x2000 图像缩小到 120x80 像素。我逐步了解了 Matlab 的实现,并注意到为每个输出像素计算了大量的内核权重,而不仅仅是我预期的 4x4。 有谁知道 Matlab 如何计算这些内核权重?
【问题讨论】:
-
对于下采样,它可能会平滑图像以避免锯齿。
我正在使用 Matlab 的 imresize 函数通过双三次插值将 3000x2000 图像缩小到 120x80 像素。我逐步了解了 Matlab 的实现,并注意到为每个输出像素计算了大量的内核权重,而不仅仅是我预期的 4x4。 有谁知道 Matlab 如何计算这些内核权重?
【问题讨论】:
当缩小图像时,重采样内核通常会膨胀以缓解aliasing,就像 Cris 所说的那样。
这个因子 25 倍抽取的三次内核将以输入像素为单位为 100x100,以 输出 像素为单位为 4x4。换句话说,每个输出像素都是从 100x100 输入像素的补丁中计算出来的。考虑到需要聚合这么多像素以进行抗锯齿的大抽取因子是有道理的。
标准双三次重采样的核权重由 Keys 的三次核函数“W(x)”函数described here on Wikipedia 计算得出。
【讨论】: