2017-08-04 58 views
2

的〜南区的数量我有以下情节:查找的大小和排列

enter image description here

正是基于阵列,所有的彩色区域〜isnan而白色区域是楠。

我必须找到每个彩色斑点的数量和大小(dx,dy)。有人有这样做的好方法吗?我的方法如下所示:

W_w_dy = nan(size(W_w)) ; 
for ii = 1 : length(W_w(1,:)) ; % anzahl spalten 
    tmp = W_w(:,ii) ; 
    % logical for testing on nan 
    find_nan = isnan(tmp) ; 
    % indizes with not nan 
    ind = find(find_nan==0) ; 
    % initillisiere dy 
    dy = zeros(length(W_w(:,1)),1) ; 
    for jj = 1 : length(ind) ; 
     tmp_down = 0 ; 
     ind_tmp = ind(jj) ; 
     while find_nan(ind_tmp) == 0 ; 
      if ind_tmp > length(ind) 
       break 
      end 
      tmp_down = tmp_down + 1 ; 
      ind_tmp = ind(jj) + tmp_down ; 
     end 
     dy(ind(jj)) = tmp_down ; 
    end 
    clear tmp_down ind_tmp 

%  for kk = 2 : length(dy) ; 
%   if dy(kk-1) > dy(kk) 
%    dy(kk) = 0 ; 
%   end 
%  end 
    W_w_dy(:,ii) = dy ; 
    clear dy find_nan tmp ind dy_neu 
end 

绘图基于的数组是W_w。我的想法是遍历每一列并获得一个数组,每个单元格写入下面的许多单元格是〜isnan。

这也适用于每一行。但我真的不知道我如何计算涡流,并得到每个eddie一个dx和一个dy。

感谢您的帮助。

+2

你有图像处理工具箱? – Suever

回答