[問題] 一群點變成一點已回收

看板MATLAB作者 (哈哈哈)時間15年前 (2011/01/06 15:55), 編輯推噓4(4025)
留言29則, 7人參與, 最新討論串1/1
我有一組點 x=[x1 x2 x3 ... xn];y=[y1 y2 y3 ... yn]; 我把這些點點在圖片上 imshow('DSC00029.JPG'),hold on,plot(y,x,'.') 這些點總共有八群 每一群類似這樣 ˙˙˙ ˙˙˙˙˙ ˙˙˙˙˙˙ ˙˙˙˙˙˙ ˙˙˙˙˙ ˙˙˙˙˙ ˙˙˙˙ 有沒有什麼方法可以把每一群點 縮到剩下一點? 謝謝! -- -好管弦事- A place about cello and music.... http://fnt72.blogspot.com/ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.124.1.64

01/06 16:05, , 1F
平均
01/06 16:05, 1F

01/06 16:08, , 2F
平均的話 要先手動把這8群抓出來分別算
01/06 16:08, 2F

01/06 16:14, , 3F
所以原po的意思是自動分出這八群及各用一個點代表囉?
01/06 16:14, 3F

01/06 16:16, , 4F
YES 沒表達清楚 SORRY
01/06 16:16, 4F

01/06 16:19, , 5F
每群點都分的很開 不會有距離過近的問題
01/06 16:19, 5F

01/06 16:28, , 6F
要嘛就是人工分,不然就是自己寫個分類器.matlab好像有
01/06 16:28, 6F

01/06 16:28, , 8F
Kmean
01/06 16:28, 8F

01/06 16:28, , 9F
fuzzy c-means可以用,但是分類結果應該不是百分之百
01/06 16:28, 9F

01/06 16:53, , 10F
太感謝了 c-means的方法可行 不過有個問題
01/06 16:53, 10F

01/06 16:54, , 11F
如果有第九群點 但是他的點數遠小於其他八群 會被找到嗎
01/06 16:54, 11F

01/06 16:58, , 12F
Kmeans要先決定你想分幾群 如果你指定9群 應該是找得到
01/06 16:58, 12F

01/06 17:05, , 13F
我是想要取前八大群的點
01/06 17:05, 13F

01/06 17:10, , 14F
剛剛測試結果 不夠大群的點 不會抓
01/06 17:10, 14F

01/06 20:38, , 15F
你問的這個是很深的學問... 要電腦分群的演算法很多種
01/06 20:38, 15F

01/06 20:39, , 16F
各自有優缺點... 英文應該叫做cluster吧
01/06 20:39, 16F

01/06 20:43, , 17F
前面的k-mean應該可以 http://goo.gl/BFzlZ
01/06 20:43, 17F

01/06 21:31, , 18F
如果你只想要前8大群 為何又要care第9群點數很少的...
01/06 21:31, 18F

01/06 22:43, , 19F
因為k-mean需先決定要分幾群,若資料有9群,卻只分8群,
01/06 22:43, 19F

01/06 22:45, , 20F
那有1群勢必被分散到其它群去,但原po不想要這種結果
01/06 22:45, 20F

01/06 22:46, , 21F
這樣有回答到樓上的問題嗎?
01/06 22:46, 21F

01/06 22:48, , 22F
有沒有想過用影像處理的方法?? help bwlabel
01/06 22:48, 22F

01/06 23:02, , 23F
但是原po說他只想要8群呀(搔頭)
01/06 23:02, 23F

01/07 17:56, , 24F
我是將影像(有八個紅圓點) 轉成HSV 然後
01/07 17:56, 24F

01/07 17:57, , 25F
find((h<0.2 | h>0.8) & (s>0.5) & (v>0.5));
01/07 17:57, 25F

01/07 17:58, , 26F
再將篩選出來的八群點 分別去抓點的中心(大約就可以)
01/07 17:58, 26F

01/07 17:59, , 27F
如果find的條件太嚴苛 找到的點不會很AMTCH影像中的紅點
01/07 17:59, 27F

01/07 18:01, , 28F
但設的條件鬆一點 影像中黑白交接處的chroma aberration
01/07 18:01, 28F

01/07 18:02, , 29F
也會被辨識為紅點 怕影響分群時的經度
01/07 18:02, 29F
文章代碼(AID): #1D9NLrze (MATLAB)