作者andgitisaac (AndGiTiSaaC)
看板MATLAB
標題[討論] 重新排序以及區域合併求解
時間Sat Jul 30 22:49:48 2016
小弟最近處理影像時遇到兩個問題,跪求版上大大求解:
(一)重新排序
影像是
[ 6 6 6 5 2
6 6 3 5 2
6 6 3 5 2 ]
裡面的數字是像素的組別,問題在處理的過程中有些組別
,因為合併會消失,現在想要重新排序
也就是
[ 4 4 4 3 1
4 4 2 3 1
4 4 2 3 1 ]
手頭上有一個向量表示該組元素的數量
B = [ 0 3 2 0 3 7 ],但不知道該如何下手QQ
(二)小區塊合併
一樣也是同個影像
[ 6 6 6 5 2
6 6 3 5 2
6 6 3 5 2 ]
第三組是一個較小區塊,要跟附近較大區塊(6)合併
會變成
[ 6 6 6 5 2
6 6 6 5 2
6 6 6 5 2 ]
目前只進行到提取第3組的index,就沒有頭緒了。
難道只能一個一個元素檢查鄰居嗎?
先感謝大大QQ
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 27.105.48.145
※ 文章網址: https://www.ptt.cc/bbs/MATLAB/M.1469890190.A.357.html
推 JamesChen: 1. sort 拿到 index 就可以了吧07/31 19:25
→ JamesChen: 2. 看不懂07/31 19:25
→ name0625: 1. 設影像為image, 重點在先做出對照表08/01 22:48
→ name0625: table=(1:numel(B))-cumsum(B==0);08/01 22:48
→ name0625: image=table(image);08/01 22:48
→ name0625: 應該沒問題,用手機打的,有錯見諒08/01 22:48
→ name0625: 2. 你沒列出規則大家也幫不了你08/01 22:49
感謝各位大大,第一題的做法後來我是用index,n大的回家試試。第二題我是用d=[1 0;-
1 0; 0 1; 0 -1]來做後續運算。
※ 編輯: andgitisaac (219.85.129.137), 08/02/2016 09:35:40