什么';以下Matlab代码的简明表达式

什么';以下Matlab代码的简明表达式,matlab,Matlab,img是单色通道的图像。 img_temp的定义如下: img_temp = zeros(size(img,1), size(img,2), N); 其中N是一个整数。因此,img_temp的每个条目都包含N个值 以下操作在Matlab中的简洁表达方式是什么 for x=1:size(img,1) for y=1:size(img,2) img(x,y,1) = find(img_temp(x,y,:)==max(img_temp(x,y,:))); end e

img是单色通道的图像。 img_temp的定义如下:

img_temp = zeros(size(img,1), size(img,2), N);
其中N是一个整数。因此,img_temp的每个条目都包含N个值

以下操作在Matlab中的简洁表达方式是什么

for x=1:size(img,1)
    for y=1:size(img,2)
        img(x,y,1) = find(img_temp(x,y,:)==max(img_temp(x,y,:)));
    end
end
我想找到数组img_temp(x,y,:)中最大值的索引,并将其存储在img中相应的位置,即img(x,y,1)

该函数可以沿任何维度操作,并返回索引和最大值。在您的情况下,您只关心索引并希望它存储在
img(:,:,1)
中,因此请尝试以下操作:

[~, img(:,:,1)] = max(img_temp, [], 3);

如果这个答案解决了你的问题,你应该考虑“接受”它,点击左边的复选标记。这不仅让其他人知道这个问题已经解决了,还让被接受答案的人获得额外的声誉分数。