如何在Matlab中执行棋盘格插值?

| 我有两个矩阵
A
B
,它们包含以下形式的棋盘格/棋盘格网格的值
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)matlab中的
for
循环很慢,并且2)当然可以使用
interp2
,尽管这似乎需要像
meshgrid
的网格。那么,这可以更容易/更快地完成吗?     
已邀请:
多亏了woodchips的回答,我找到了他的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);
    

要回复问题请先登录注册