線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1307
推到 Plurk!
推到 Facebook!

如何存像素為1位元的BMP

尚未結案
suhappyer
一般會員


發表:2
回覆:4
積分:1
註冊:2003-11-21

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-02-15 18:25:46 IP:140.118.xxx.xxx 未訂閱
如題,我想將1位元黑白影像經處理後再儲存成1位元的黑白影像 不知哪位大大可以幫我,小弟我感激不盡
taishyang
站務副站長


發表:377
回覆:5490
積分:4563
註冊:2002-10-08

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-02-16 02:34:16 IP:61.231.xxx.xxx 未訂閱
suhappyer您好: 不太了解您的意思耶,方便將程式碼PO上來嗎? 好讓有經驗的人可以幫您看看
suhappyer
一般會員


發表:2
回覆:4
積分:1
註冊:2003-11-21

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-02-16 11:23:40 IP:140.118.xxx.xxx 未訂閱
taishyang大大您好: 我的意思是如何儲存成pixel是1bit的黑白影像,應該1是白色,0是黑色,可是我不知道要如何存成bmp
JerryKuo
版主


發表:42
回覆:571
積分:322
註冊:2003-03-10

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-02-16 14:45:45 IP:61.230.xxx.xxx 未訂閱
suhappyer你好:     試試用 PixelFormat = pf1bit 的方法將影像存成黑白影像。     下面的範例是小弟將彩色影像轉黑白影像的做法,參考看看 如果你是讀一份黑白的影像資料,像素強度0存成黑色,像素 強度1存成白色(其實存成其他顏色都沒差,只要不是黑色就 可以,最後看到的都是白色)     ps:Bmp是讀入的圖檔
  Graphics::TBitmap* bibmp=new Graphics::TBitmap;      bibmp->PixelFormat = pf1bit;      if (Image1->Picture->Bitmap->Empty==true)
     ShowMessage("no Image to Save");
  else
  {
    byte  R,G,B;
    // set bitmap to binary image;
    bibmp->Width = Bmp->Width;
    bibmp->Height= Bmp->Height;        for(int j=0; jHeight ; j  )
    {
        for(int i=0; i < Bmp->Width ; i  )
        {
           R = GetRValue(Bmp->Canvas->Pixels[i][j]);
           G = GetGValue(Bmp->Canvas->Pixels[i][j]);
           B = GetBValue(Bmp->Canvas->Pixels[i][j]);
      
           if(R G B>=384)  //3*128 =384,最常用的二元化臨界值;
           {  // color intension >= 128
              bibmp->Canvas->Pixels[i][j] = clWhite;
           }
           else
           {  // color intension < 128
              bibmp->Canvas->Pixels[i][j] = clBlack;
           }
         }
     }         Image2->Picture->Bitmap = bibmp;
     SavePictureDialog1->Filter = GraphicFilter(__classid(Graphics::TBitmap));
     if (SavePictureDialog1->Execute())
     {
         bibmp->SaveToFile(SavePictureDialog1->FileName);
     }
  }      delete bibmp;
suhappyer
一般會員


發表:2
回覆:4
積分:1
註冊:2003-11-21

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-02-16 17:34:03 IP:140.118.xxx.xxx 未訂閱
感謝JerryKuo大大解答我的問題,小弟我受益良多
系統時間:2024-05-10 10:34:28
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!