【问题标题】:How to perform a checkerboard-interpolation in matlab?如何在matlab中执行棋盘插值?
【发布时间】:2020-01-21 16:42:13
【问题描述】:

我有两个矩阵 AB 包含表格的棋盘格/棋盘格的值

AxAxAxAx...
xBxBxBxB...
AxAxAxAx...
xBxBxBxB...
...........
...........

x 表示我想要(线性)插值的未知值。实现这一目标的最简单方法是什么?

第一件事可能是

C = zeros(size(A)+size(B));
C(1:2:end,1:2:end) = A;
C(2:2:end,2:2:end) = B;

得到上述矩阵。现在我可以遍历所有剩余点并取所有直接邻居的平均值,因为 1)for matlab 中的循环很慢,2)当然有一种方法可以使用 interp2,尽管那似乎需要meshgrid-like 网格。那么,这可以更容易/更快地完成吗?

【问题讨论】:

    标签: matlab interpolation


    【解决方案1】:

    感谢woodchips'回答here我找到了他的inpaint_nans,解决方法确实很简单:

    C = nan(size(A)+size(B));
    C(1:2:end, 1:2:end) = A;
    C(2:2:end, 2:2:end) = B;
    C = inpaint_nans(C);
    

    【讨论】:

      猜你喜欢
      • 2017-12-22
      • 1970-01-01
      • 1970-01-01
      • 2016-10-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-04-28
      • 1970-01-01
      相关资源
      最近更新 更多