請問一問題關於型態學問題 |
尚未結案
|
小慶
一般會員 發表:45 回覆:31 積分:15 註冊:2004-09-29 發送簡訊給我 |
|
JerryKuo
版主 發表:42 回覆:571 積分:322 註冊:2003-03-10 發送簡訊給我 |
|
小慶
一般會員 發表:45 回覆:31 積分:15 註冊:2004-09-29 發送簡訊給我 |
|
wei7278
一般會員 發表:16 回覆:19 積分:12 註冊:2004-09-25 發送簡訊給我 |
|
auslk
初階會員 發表:35 回覆:77 積分:32 註冊:2003-02-17 發送簡訊給我 |
您所面臨的問題,應該是邊界沒設定好,
所以造成你無法一直作! 以下給您參考! Best Regards,
Pauli
11/01/04'
//====膨脹=9 點 ====副程式============= int Dilation(int i, int j) { int Ex, temp; int p[10]; p[1] = p1[i - 1][j - 1]; p[2] = p1[i][j - 1]; p[3] = p1[i 1][j - 1]; p[4] = p1[i - 1][j]; p[5] = p1[i][j]; p[6] = p1[i 1][j]; p[7] = p1[i - 1][j 1]; p[8] = p1[i][j 1]; p[9] = p1[i 1][j 1]; // 單點處理 // 邊緣處理 (0,0)->(640,480) if(i == 0 & j == 0) // (0,0) 該點處理 { Ex = (p[5] p[6] p[8] p[9]); if(Ex <= 0) return (0); else return (255); } else if(i == 0 & j > 0 & j < 480) // (0,1~479) { Ex = (p[2] p[3] p[5] p[6] p[8] p[9]); if(Ex <= 0) return (0); else return (255); } else if(i == 0 & j == 480) // (0,480) 該點處理 { Ex = (p[2] p[3] p[5] p[6]); if(Ex <= 0) return (0); else return (255); } else if(i > 0 & i < 320 & j == 480) // (1~639,480) { Ex = (p[1] p[2] p[3] p[4] p[5] p[6]); if(Ex <= 0) return (0); else return (255); } else if(i == 640 & j == 0) // (640,0) 該點處理 { Ex = (p[4] p[5] p[7] p[8]); if(Ex <= 0) return (0); else return (255); } else if(i > 0 & i < 640 & j == 0) // (1~639,0) { Ex = (p[4] p[5] p[6] p[7] p[8] p[9]); if(Ex <= 0) return (0); else return (255); } else if(i == 640 & j == 480) // (640,480) 該點處理 { Ex = (p[1] p[2] p[4] p[5]); if(Ex <= 0) return (0); else return (255); } else if(i == 640 & j > 0 & j < 480) // (640,1~479) { Ex = (p[1] p[2] p[4] p[5] p[7] p[8]); if(Ex <= 0) return (0); else return (255); } else if(i > 0 & i < 639 & j > 0 & j < 479) { Ex = (p[1] p[2] p[3] p[4] p[5] p[6] p[7] p[8] p[9]); if(Ex <= 0) return (0); else return (255); } } //--------------------------------------------------------------------------- //====侵蝕=9 points ====副程式============= int Erosion(int i, int j) { int Er; int p[10]; p[1] = p1[i - 1][j - 1]; p[2] = p1[i][j - 1]; p[3] = p1[i 1][j - 1]; p[4] = p1[i - 1][j]; p[5] = p1[i][j]; p[6] = p1[i 1][j]; p[7] = p1[i - 1][j 1]; p[8] = p1[i][j 1]; p[9] = p1[i 1][j 1]; // 邊緣處理 (0,0)->(640,480) if(i == 0 & j == 0) // (0,0) 該點處理 { Er = (p[5] & p[6] & p[8] & p[9]); if(Er <= 0) { return (0); } else if(Er >= 255) { return (255); } } else if(i == 0 & j > 0 & j < 480) // (0,1~479) { Er = (p[2] & p[3] & p[5] & p[6] & p[8] & p[9]); if(Er <= 0) { return (0); } else if(Er >= 255) { return (255); } } else if(i == 0 & j == 480) // (0,480) 該點處理 { Er = (p[2] & p[3] & p[5] & p[6]); if(Er <= 0) { return (0); } else if(Er >= 255) { return (255); } } else if(i > 0 & i < 640 & j == 480) // (1~639,480) { Er = (p[1] & p[2] & p[3] & p[4] & p[5] & p[6]); if(Er <= 0) { return (0); } else if(Er >= 255) { return (255); } } else if(i == 640 & j == 0) // (640,0) 該點處理 { Er = (p[4] & p[5] & p[7] & p[8]); if(Er <= 0) { return (0); } else if(Er >= 255) { return (255); } } else if(i > 0 & i < 640 & j == 0) // (1~639,0) { Er = (p[4] & p[5] & p[6] & p[7] & p[8] & p[9]); if(Er <= 0) { return (0); } else if(Er >= 255) { return (255); } } else if(i == 640 & j == 480) // (640,480) 該點處理 { Er = (p[1] & p[2] & p[4] & p[5]); if(Er <= 0) { return (0); } else if(Er >= 255) { return (255); } } else if(i == 640 & j > 0 & j < 480) // (640,1~479) { Er = (p[1] & p[2] & p[4] & p[5] & p[7] & p[8]); if(Er <= 0) { return (0); } else if(Er >= 255) { return (255); } } else if(i > 0 & i < 639 & j > 0 & j < 479) { Er = (p[1] & p[2] & p[3] & p[4] & p[5] & p[6] & p[7] & p[8] & p[9]); if(Er <= 0) { return (0); } else if(Er >= 255) { return (255); } } } |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |