請問一下 彩色 灰階 調色盤問題 |
答題得分者是:taishyang
|
shinesonba
一般會員 發表:5 回覆:2 積分:1 註冊:2009-08-24 發送簡訊給我 |
以下是 彩色圖片 轉灰階 CODE 現在有個問題 想請問大大們 因為使用這種方法轉灰階 我的想法是 { 他一樣是彩色調色盤 只是改變它的 R G B值 所以執行 邊緣化 二值化 都只能 顯示 1/3 的圖案 不知道這種想法是不是正確的 } 所以想問要加入什麼CODE 可以使得 彩色調色盤 真正的 轉成 灰階調色盤 我順便上傳我的程式 讓高手們 清楚我的問題 XD void __fastcall TForm1::Button4Click(TObject *Sender) { Graphics::TBitmap *Bmp1; Byte *ptr1; //位址指標 int sum; //sum = 彩色轉灰階值 int red, green, blue; //------------產生一臨時圖像以便執行彩色轉黑白--------------- Bmp1= new Graphics::TBitmap(); Bmp1->Assign(Image1->Picture->Bitmap); Bmp1->PixelFormat=(TPixelFormat)6; //------------執行彩色轉黑白--------------------------------- for (int y=0; y < Bmp1->Height; y ) { ptr1 = (Byte*)Bmp1->ScanLine[y]; for (int x=0; x < Bmp1->Width; x ) { red= ptr1[x*3 2]; green=ptr1[x*3 1]; blue=ptr1[x*3]; sum= red*0.299 green*0.587 blue*0.114; if (sum>255) sum=255; if (sum<0) sum=0; ptr1[x*3]=(Byte)sum; ptr1[x*3 1]=(Byte)sum; ptr1[x*3 2]=(Byte)sum; } } //-------------顯示轉換後的灰階影像---------------------------- Image2->Picture->Bitmap->Assign(Bmp1); delete Bmp1; }
------
hi |
taishyang
站務副站長 發表:377 回覆:5490 積分:4563 註冊:2002-10-08 發送簡訊給我 |
請參考
http://delphi.ktop.com.tw/board.php?cid=168&fid=921&tid=37679 裡面有範例 ===================引 用 shinesonba 文 章=================== 所以想問要加入什麼CODE 可以使得 彩色調色盤 真正的 轉成 灰階調色盤 } |
shinesonba
一般會員 發表:5 回覆:2 積分:1 註冊:2009-08-24 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |