[討論] 重新排序以及區域合併求解

看板MATLAB作者 (AndGiTiSaaC)時間9年前 (2016/07/30 22:49), 9年前編輯推噓1(106)
留言7則, 2人參與, 最新討論串1/1
小弟最近處理影像時遇到兩個問題,跪求版上大大求解: (一)重新排序 影像是 [ 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

07/31 19:25, , 1F
1. sort 拿到 index 就可以了吧
07/31 19:25, 1F

07/31 19:25, , 2F
2. 看不懂
07/31 19:25, 2F

08/01 22:48, , 3F
1. 設影像為image, 重點在先做出對照表
08/01 22:48, 3F

08/01 22:48, , 4F
table=(1:numel(B))-cumsum(B==0);
08/01 22:48, 4F

08/01 22:48, , 5F
image=table(image);
08/01 22:48, 5F

08/01 22:48, , 6F
應該沒問題,用手機打的,有錯見諒
08/01 22:48, 6F

08/01 22:49, , 7F
2. 你沒列出規則大家也幫不了你
08/01 22:49, 7F
感謝各位大大,第一題的做法後來我是用index,n大的回家試試。第二題我是用d=[1 0;- 1 0; 0 1; 0 -1]來做後續運算。 ※ 編輯: andgitisaac (219.85.129.137), 08/02/2016 09:35:40
文章代碼(AID): #1NdBwEDN (MATLAB)
文章代碼(AID): #1NdBwEDN (MATLAB)