[程式][BCB]Region_Grow區域成長法-解說
1: int HH,WW; //圖片長寬
2: int col[640][480]; //640*480 大小的圖片填色矩陣
3:
4: void Region_Grow(int x,int y) // int x,int y 你要開始填色的起點
5: { //針對上下左右四個方向
6: col[x][y]=128; // 你填要的顏色,若改成RGB .rgbtRed .rgbtGreen .rgbtBlue 就可以填彩色
7: if (col[x-1][y]==0 && x>=1) //col[x-1][y]==0 等於0 指的0是顏色 可以改例如255 // x>=1 指的是圖片邊界之內
8: Region_Grow(x-1,y);
9:
10: if (col[x+1][y]==0 && x<WW-1) //以下3個判斷同理,若想相似顏色也能填,就把條件=0 改成區間 ex. 0~10
11: Region_Grow(x+1,y);
12:
13: if (col[x][y-1]==0 && y>=1)
14: Region_Grow(x,y-1);
15:
16: if (col[x][y+1]==0 && y<HH-1)
17: Region_Grow(x,y+1);
18: }
19: //---------------------------------------------------------------------------
沒有留言:
張貼留言
選擇[匿名]選項可直接留言