【问题标题】:How does Matlab compute bicubic interpolation kernel for large kernels?Matlab 如何计算大内核的双三次插值内核?
【发布时间】:2021-01-11 01:15:21
【问题描述】:

我正在使用 Matlab 的 imresize 函数通过双三次插值将 3000x2000 图像缩小到 120x80 像素。我逐步了解了 Matlab 的实现,并注意到为每个输出像素计算了大量的内核权重,而不仅仅是我预期的 4x4。 有谁知道 Matlab 如何计算这些内核权重?

【问题讨论】:

  • 对于下采样,它可能会平滑图像以避免锯齿。

标签: matlab image-processing


【解决方案1】:

当缩小图像时,重采样内核通常会膨胀以缓解aliasing,就像 Cris 所说的那样。

这个因子 25 倍抽取的三次内核将以输入像素为单位为 100x100,以 输出 像素为单位为 4x4。换句话说,每个输出像素都是从 100x100 输入像素的补丁中计算出来的。考虑到需要聚合这么多像素以进行抗锯齿的大抽取因子是有道理的。

标准双三次重采样的核权重由 Keys 的三次核函数“W(x)”函数described here on Wikipedia 计算得出。

【讨论】:

    猜你喜欢
    • 2016-09-02
    • 2018-12-24
    • 2015-03-16
    • 2012-06-14
    • 2011-12-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-16
    相关资源
    最近更新 更多