全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:3595
推到 Plurk!
推到 Facebook!

再次求救區域成長法

答題得分者是:JerryKuo
yingnan1066
一般會員


發表:2
回覆:2
積分:0
註冊:2003-04-01

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-04-09 13:32:29 IP:140.118.xxx.xxx 未訂閱
上次提供的網站不錯,我很認真看但還是看不懂 不知道是否還有別的資料可參考,或是有人可以教我如何寫這個程式
JerryKuo
版主


發表:42
回覆:571
積分:322
註冊:2003-03-10

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-04-09 15:34:15 IP:61.220.xxx.xxx 未訂閱
yingnan1066你好: 提個大概步驟給你參考 (1)首先圖片要做一次過濾(filter),例如:將圖片顏色分成256個顏色,不一定是256色(自己定義的256色也可以),4096色也都可以(不過切出來圖會很複雜),如此下一步驟撒種子,成長得到的區域(region),才會一塊一塊的。 (2)假設你是用256色,均勻的撒佈種子於影像中,針對影像中每個種子的上下左右鄰居做比對,相似的兩個像素就給一個index,如果遇到相鄰的兩點都有index,index大的就被index小的取代,其他相同index也一併取代,index範圍0~255。 (3)把相同index的區域mask為一個區域,如此就能得到許多區域 初步的region growing大概步驟就是這樣,還有許多小細節要自 己思考解決,在這裡只能提供小弟的淺見,程式我沒有,哈哈...
swindler
一般會員


發表:13
回覆:22
積分:17
註冊:2003-01-08

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-04-10 00:10:12 IP:163.28.xxx.xxx 未訂閱
我的做法是先將影像二值化  丟到陣列中  白色的地方值設-1   黑色為0 主程式跑迴圈  副程式比較上下左右  (八相鄰) 假設     //主程式 (遇到-1就標記,然後丟到副程式比較相鄰的點) 示意如下:            int num=0;      for (int y = 0; y < H; y++)      for (int x = 0; x < W; x++)       {           if (img[y][x]==-1)       {        num=num+1;        search(img,y,x,H,W,num);       }      }    //副程式search(),主程式要丟影像高寬,矩陣座標給副程式    //判斷讀到影像邊緣就不繼續讀取    bool InRange(int i, int j, int H, int W)   {   if ((i>=0) && (i=0) && (j
yingnan1066
一般會員


發表:2
回覆:2
積分:0
註冊:2003-04-01

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-04-10 00:33:26 IP:140.118.xxx.xxx 未訂閱
swindler你好 感謝你的答覆,我試試看以的做法, 有問題在請教你及各位大師, 再次感謝
系統時間:2024-11-23 5:54:32
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!