我也可以使用外部库,但是我还没有找到一个合适的interp2等效库。如果没有选项,我该如何从头开始实现这种方法。
在MatLab中,我基本上可以使用以下“ C#”参数调用interp2
:3个double[,]
,例如x1,y1,v
,每个维度为160x304
,然后再添加2个{{1 }},说尺寸为double[,]
的{{1}},例如:
x2,y2
很抱歉用很多C#代码打了你,但这就是我现在拥有的:
160*4x304
我已经注释了很多代码,以使首次阅读变得更容易。本质上,我只是将MatLab代码转换为C#,并且需要一种方法在第三行到最后一行执行% data is a 160x304x304 double array
x = 160;
y = 304;
[x1, y1] = meshgrid(1:y,1:x);
[x2, y2] = meshgrid(1:y,linspace(1,x,640));
interpData = zeros(160*4, 304, 304);
for bscan = 1:304
interpData(:,:,bscan) = interp2(x1,y1,data(:,:,bscan),x2,y2);
end
。非常感谢。