gpt4 book ai didi

matlab - 我怎样才能向量化这个范围在 MATLAB 中找到矩阵中的列?

转载 作者:太空宇宙 更新时间:2023-11-03 20:25:21 25 4
gpt4 key购买 nike

本质上我有一个图像 mask ,我想在每一列中找到图像的宽度。有没有办法将其矢量化以提高速度?我试图找出一种使用 arrayfun 的方法,但还没有找到任何东西。

r = zeros(1,cols);
for i = 1 : cols
r(i) = range(find(img(:,i)));
end

最佳答案

以下代码以矢量化方式执行与您的代码相同的操作:

imglog = img~=0; %// convert to 0 and 1 values
[~, i1] = max(imglog); %// i1 is the position of the first 1
[~, i2] = max(flipud(imglog)); %// size(img,1)+1-i2 is the position of the last 1
r = size(img,1)+1-i2 - i1;

它利用了 max 的第二个输出这一事实给出第一个最大化器的位置(对于每一列)。

关于matlab - 我怎样才能向量化这个范围在 MATLAB 中找到矩阵中的列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23933037/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com