[討論] label矩陣
請問各位前輩們
現在有個label矩陣
L = [2 2 2 2 3;
2 3 2 3 3;
2 3 2 4 4;
2 2 2 4 4;
1 1 2 1 1];
但目前碰到的問題得把
即便是相同label
但沒有連通的區域給分離(4連通)
也就是說L變成
L = [2 2 2 2 3;
2 6 2 3 3;
2 6 2 4 4;
2 2 2 4 4;
1 1 2 5 5];
目前的作法是
maxlabel = max(L(:))
for n = 1:max(L(:))
[bw, num] = bwlabel(L == n, 4)
if num > 1
for k = 2:num
maxlabel = maxlabel + 1
L(bw == k) = maxlabel
end
end
end
但是由於label矩陣標籤數非常多,200多組就要花快十秒
想請問前輩們有沒有其他更好的做法
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.112.25.103
※ 文章網址: https://www.ptt.cc/bbs/MATLAB/M.1474276134.A.DE5.html
推
09/19 17:46, , 1F
09/19 17:46, 1F
→
09/19 17:47, , 2F
09/19 17:47, 2F
我剛開始有寫過同樣的作法,但是更慢,不過還是謝謝大大
9/27更新:感謝sunev前輩的協助,這樣做法的確有變快,一定是我當初在
紀錄時出了某些錯誤導致的結果。再次感謝。
※ 編輯: andgitisaac (219.85.132.21), 09/19/2016 23:19:02
※ 編輯: andgitisaac (61.64.149.248), 09/27/2016 20:16:34
※ 編輯: andgitisaac (61.64.149.248), 09/27/2016 20:27:19
討論串 (同標題文章)
MATLAB 近期熱門文章
PTT數位生活區 即時熱門文章