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

用bcb讀取並顯示raw影像??

答題得分者是:Brian77
llener
一般會員


發表:1
回覆:1
積分:0
註冊:2003-08-07

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-08-07 18:54:32 IP:163.28.xxx.xxx 未訂閱
我有一個512*512的raw影像,是float格式的.... 請問我要怎麼讀取..... 還有, 如果我要秀出圖來(用Image1),那我要怎麼用才能有類似Pseudo Color彩虹顏色的圖形?? 有人提示我使用 Image1->Canvas->Piexl[x][y]=TColor(.....) 但是我還是試不出來勒??    書上只提到bmp和jpg的影像使用技巧....不過raw就 請不吝賜教.....感恩阿!!
Brian77
中階會員


發表:8
回覆:114
積分:94
註冊:2002-05-17

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-08-09 18:36:29 IP:61.221.xxx.xxx 未訂閱
基本上 raw 影像是指沒有表頭、表尾、壓縮的檔案, 它是將每個點的顏色以 (x0,y0) (x1,y0) ... (xn,y0),(x0,y1),... 排列 因此直接讀出來給 Pixels 即可 (不過這樣會有點慢) 但你說它是 float 格式, 這我就不瞭解了~ 如果對上面的述敘仍有疑問, 看可否寄該 raw file 供測試
adonis
高階會員


發表:140
回覆:258
積分:159
註冊:2002-04-15

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-08-10 14:32:24 IP:210.203.xxx.xxx 未訂閱
 
 FILE *Original_image_fp;
 char data;     Original_image_fp = fopen(Original_image.c_str(), "rb");
 for (int y= 0;y<511;y  )
   for (int x= 0;x<511;x  ){
       data = fgetc(Original_image_fp);
       OriginalImageCanvas->Canvas->Pixels[x][y]=PutPixelGray(data);
   }
 fclose(Original_image_fp);     TColor __fastcall TForm1::PutPixelGray(char Pixel)
   {
    return  (Pixel&0x000000FF)|((Pixel<<8)&0x0000FF00)|((Pixel<<16)&0x00FF0000);
   }
 
這是用來秀出raw影像(沒有檔頭、檔尾的檔案),PutPixelGray 是用來將其轉成灰階用的。不知對你有沒有幫助?
------
我也在努力學習中,若有錯謬請見諒。
llener
一般會員


發表:1
回覆:1
積分:0
註冊:2003-08-07

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-08-14 03:32:00 IP:140.115.xxx.xxx 未訂閱
感謝各位先進提供意見 經過很多次測試後 問題以解決....... 非常感謝
sbkobe
一般會員


發表:3
回覆:3
積分:1
註冊:2004-07-02

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-07-09 21:52:35 IP:218.175.xxx.xxx 未訂閱
引言:
 
 FILE *Original_image_fp;
 char data;     Original_image_fp = fopen(Original_image.c_str(), "rb");
 for (int y= 0;y<511;y  )
   for (int x= 0;x<511;x  ){
       data = fgetc(Original_image_fp);
       OriginalImageCanvas->Canvas->Pixels[x][y]=PutPixelGray(data);
   }
 fclose(Original_image_fp);     TColor __fastcall TForm1::PutPixelGray(char Pixel)
   {
    return  (Pixel&0x000000FF)|((Pixel<<8)&0x0000FF00)|((Pixel<<16)&0x00FF0000);
   }
 
這是用來秀出raw影像(沒有檔頭、檔尾的檔案),PutPixelGray 是用來將其轉成灰階用的。不知對你有沒有幫助?
TColor __fastcall TForm1::PutPixelGray(char Pixel) { return (Pixel&0x000000FF)|((Pixel<<8)&0x0000FF00)|((Pixel<<16)&0x00FF0000); } 可否請教一下上面這段的意思.... 看不太懂...謝謝大大...
系統時間:2024-05-06 0:15:31
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!