請問各位前輩彩色的圖片可以直接做中值化嗎?請問怎麼做ㄋ? |
尚未結案
|
s44788
一般會員 發表:1 回覆:1 積分:0 註冊:2006-10-12 發送簡訊給我 |
請問各位前輩彩色的圖片可以直接做中值化嗎?請問怎麼做ㄋ?
以下為討論板上前輩的作品 (不過中值後圖片會變黑白) //--------------------------------------------------------------------------- int __fastcall TForm1::Filter1(int i,int j) { int MPF; int p[10],temp; 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]; for (int x=1;x<9 ;x ) { for (int y=x 1;y<10;y ) { if (p[x] { temp=p[x]; p[x]=p[y]; p[y]=temp; } } } MPF=(p[5]); if (MPF<0) MPF=(-1)*MPF; return (MPF); } //--------------------------------------------------------------------------- void __fastcall TForm1::Button3Click(TObject *Sender) { if (Image1->Picture->Bitmap->Empty==true) ShowMessage("請載入圖檔!!"); Graphics::TBitmap *Bmp = new Graphics::TBitmap(); Byte *ptr; Bmp->Assign(Image2->Picture->Bitmap ); for (int i=0;i { ptr=(Byte*)Bmp->ScanLine[i]; for (int j=0;j { p1[j][i]=ptr[j*3]; } } for (int i=0;i { ptr=(Byte*)Bmp->ScanLine[i]; for (int j=0;j { ptr[j*3]=Filter1(j,i); ptr[j*3 1]=Filter1(j,i); ptr[j*3 2]=Filter1(j,i); } } Image2->Picture->Assign(Bmp); delete Bmp; } //--------------------------------------------------------------------------- 第一次發文 不曉得 有沒有符合規定~ 請各位板友版主見諒~ 如有錯誤 我會改進ㄉ~!! |
sew
一般會員 發表:2 回覆:54 積分:21 註冊:2003-08-25 發送簡訊給我 |
|
s44788
一般會員 發表:1 回覆:1 積分:0 註冊:2006-10-12 發送簡訊給我 |
|
justdo
高階會員 發表:2 回覆:359 積分:222 註冊:2004-08-17 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |