如何将matlab代码转换为python代码?

时间:2012-12-24 06:46:59

标签: python matlab python-3.x arcgis

下一个代码是matlab代码。我想将此代码转换为python代码,以便在Arcgis中使用它。

vals = zeros(size(a(:,:,1)));
 [~,indexOfMax] = max(a,[],3);
 for i=1:size(a,1)
    for j=1:size(a,2)
        vals(i,j) = b(i,j, indexOfMax(i,j));
    end 
 end

我将简要解释一下这段代码。我有两张图片(名为A和B)。两者在同一维度上具有7层(4169,6289,7)。首先,我想在A图像中找到最大值的位置,然后在上一步骤中从A图像中提取的最大值位置获取B图像的值。

非常感谢

1 个答案:

答案 0 :(得分:2)

vals = numpy.zeros((a.shape[0], a.shape[1]))
indexOfMax = numpy.argmax(a,2)
for i in range(a.shape[0]):
  for j in range(a.shape[1]):
    vals[i,j] = b[i,j, indexOfMax[i,j]]

也可以进行矢量化,而不是使用 for 循环。

小心,在Python中缩进很重要!将缩进保留在第二个 for 循环之前和 vals 之前。