【发布时间】:2014-07-14 22:14:06
【问题描述】:
这就是我想要在 MATLAB 中做的事情:
我有一个包含 n 个二维图像的数组。我需要逐个像素地遍历,并找到哪张图片在每个点处具有最亮的像素,然后将该图像的索引存储在该点的另一个数组中。
如果我有三张图片 (n=1,2,3) 并且图片 2 在 [1,1] 处具有最亮的像素,那么 max_pixels[1,1] 的值将是 2,索引最亮像素的图片。
我知道如何使用 for 循环来做到这一点,
%not my actual code:
max_pixels = zeroes(x_max, y_max)
for i:x_max
for j:y_max
[~ , max_pixels(i, j)] = max(pic_arr(i, j))
end
end
但我的问题是,使用 MATLAB 中的一些特殊功能可以更快地完成吗?我听说 MATLAB 在嵌套循环方面不太友好,应尽可能使用 : 的功能。有什么方法可以提高效率吗?
-PK
【问题讨论】:
标签: performance algorithm matlab nested-loops