將圖像膨脹的問題 |
答題得分者是:TheMoon
|
keikojason
初階會員 ![]() ![]() 發表:37 回覆:63 積分:45 註冊:2004-05-10 發送簡訊給我 |
各位前輩好:
小弟有些問題問問各位前輩"要將二直化好的圖像,再做膨脹"想說要用5*5的遮罩以中心為基準周圍白點>12時候將其他周圍視為白點;如果周圍白點<12其他周圍視為黑點...我是有參考一位前輩(taishyang)得範例...我有做些修改不過好像效果不大,是否請前輩幫小弟看看是哪裡有問題,紅色部分是小弟改過認為可能有問題的~~~可以為小弟解解惑~~!!!
|
JerryKuo
版主 ![]() ![]() ![]() ![]() ![]() 發表:42 回覆:571 積分:322 註冊:2003-03-10 發送簡訊給我 |
引言: 各位前輩好: 小弟有些問題問問各位前輩"要將二直化好的圖像,再做膨脹"想說要用5*5的遮罩以中心為基準周圍白點>12時候將其他周圍視為白點;如果周圍白點<12其他周圍視為黑點...我是有參考一位前輩(taishyang)得範例...我有做些修改不過好像效果不大,是否請前輩幫小弟看看是哪裡有問題,紅色部分是小弟改過認為可能有問題的~~~可以為小弟解解惑~~!!! |
keikojason
初階會員 ![]() ![]() 發表:37 回覆:63 積分:45 註冊:2004-05-10 發送簡訊給我 |
|
JerryKuo
版主 ![]() ![]() ![]() ![]() ![]() 發表:42 回覆:571 積分:322 註冊:2003-03-10 發送簡訊給我 |
引言: 沒有錯我是白色削蝕和黑色膨脹同時都做,那我要怎樣用因為我修改過後效果不是很好;想要用的膨脹是用5*5大於12填為白色,小於12填為黑色;削蝕是用3*3小於3就填為黑色,大於3填為白色..這是我要用的方式...不知道上式是有什麼錯誤造成效果不是很好....請前輩指教.. |
keikojason
初階會員 ![]() ![]() 發表:37 回覆:63 積分:45 註冊:2004-05-10 發送簡訊給我 |
|
JerryKuo
版主 ![]() ![]() ![]() ![]() ![]() 發表:42 回覆:571 積分:322 註冊:2003-03-10 發送簡訊給我 |
|
TheMoon
中階會員 ![]() ![]() ![]() 發表:17 回覆:95 積分:67 註冊:2002-06-05 發送簡訊給我 |
引言:int __fastcall TForm1::Fx(int i, int j) { int p[26]; p[1]=p1[i-2][j-2]; p[2]=p1[i-1][j-2]; p[3]=p1[i][j-2]; p[4]=p1[i 1][j-2]; p[5]=p1[i 2][j-2]; p[6]=p1[i-2][j-1]; p[7]=p1[i-1][j-1]; p[8]=p1[i][j-1]; p[9]=p1[i 1][j-1]; p[10]=p1[i 2][j-1]; p[11]=p1[i-2][j]; p[12]=p1[i-1][j]; p[13]=p1[i][j]; p[14]=p1[i 1][j]; p[15]=p1[i 2][j]; p[16]=p1[i-2][j 1]; p[17]=p1[i-1][j 1]; p[18]=p1[i][j 1]; p[19]=p1[i 1][j 1]; p[20]=p1[i 2][j 1]; p[21]=p1[i-2][ 2]; p[22]=p1[i-1][j 2]; p[23]=p1[i][j 2]; p[24]=p1[i 1][j 2]; p[25]=p1[i 2][j 2]; int Fx=0; for(int a=1; (a>=1)&&(a<26); a ) { Fx=Fx p[a]; //<-問題(3) } if(Fx>12) //<-問題(4) { for(int a=1; (a>=1)&&(a<26); a ) { p[a]=255; } } else { for(int a=1; (a>=1)&&(a<26); a ) { p[a]=0; } } return(Fx); } //底下應該是另一段code吧? //-------------------------------------------------------------- Graphics::TBitmap *Bmp = new Graphics::TBitmap(); Bmp->Assign(Image2->Picture->Bitmap ); for (int i=0; i 您好,想先釐清幾個問題: (1)您讀入Bmp物件裡的影像資料是否已是二值化圖形? (2)您二值化後的影像值為何?(代表黑點的值是多少?代表白點的值是多少?) (3)那一段code應該是在計算白點有幾個吧?如過是的話那code應為 int Fx=0; for(int a=1; a<26; a ) { if(p[a]==255) Fx ; //我假設白點的值是255 } (4)那一段code似乎沒意義,因為改變p[a]中的值並不會對您想要處理的影像造成任何改變。 (5)應該是 p1[i][j]=ptr[j*3]; 吧? (6)應該是 Fx(i,j) 吧? (7)應該是 Fx(i,j)>=12 吧? 以上是小弟的看法,不知是否有誤? |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |