clipboard 中bmp 的格式問題 |
答題得分者是:yannyann
|
mkchuang
一般會員 發表:1 回覆:10 積分:7 註冊:2002-12-18 發送簡訊給我 |
小弟我將CCD所顯示的image cpoy一份到clipboard裡面去,
然後new 一個TBitmap 準備要處理所擷取的畫面
所擷取的畫面顯示在TImage上,或是paintbox都沒問題
但是要來處理就有問題了
後來找到解決辦法是在處理之前必須將TBitmap強制轉型成24bit..
雖然問題解決了,但是希望可以不浪費時間來做這轉型動作
我用google查不到有關的資料.... 不曉得有無大大可以幫我解決這疑惑的..先謝了 程式碼如下:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>>>>>>>>
|
taishyang
站務副站長 發表:377 回覆:5490 積分:4563 註冊:2002-10-08 發送簡訊給我 |
|
mkchuang
一般會員 發表:1 回覆:10 積分:7 註冊:2002-12-18 發送簡訊給我 |
引言: mkchuang您好:引言:後來找到解決辦法是在處理之前必須將TBitmap強制轉型成24bit.. 雖然問題解決了,但是希望可以不浪費時間來做這轉型動作我不太了解您所說的[浪費時間]意思指的是什麼耶 如您所說加入> >< > 順心 >>< face="Verdana, Arial, Helvetica"> taishyang你好, 我利用下面三行指令來得到處理所花費的時間 BTime=timeGetTime(); tbmp->PixelFormat=pf24bit; Label1->Caption = IntToStr(timeGetTime()-BTime) " msec."; 然後得到強制轉型一張640x480大小的影像為24bit需要約80ms的時間 我目前程式整個處理一張640X480影像的時間約200ms 所以此步驟花費了我大約40%的運算時間 因為要做real time的影像處理,所以希望所花的時間越少越好 所以我希望能夠不需要做強制轉型為24bit的動作 或者說有其他運算時間不需要那麼多的方法 這樣就可以減少處理影像的時間了。 發表人 - mkchuang 於 2003/03/11 20:29:59 |
qoo1234
版主 發表:256 回覆:1167 積分:659 註冊:2003-02-24 發送簡訊給我 |
|
yannyann
一般會員 發表:8 回覆:20 積分:10 註冊:2003-02-17 發送簡訊給我 |
|
mkchuang
一般會員 發表:1 回覆:10 積分:7 註冊:2002-12-18 發送簡訊給我 |
|
jerichowang
一般會員 發表:17 回覆:27 積分:8 註冊:2005-07-25 發送簡訊給我 |
各位大家好
我也和原PO有相同問題
我把即時影像show在image1上面,在此存取 如下
void __fastcall TForm1::Timer1Timer(TObject *Sender) { Timer1->Enabled=false; capGrabFrameNoStop(hCapWnd); capEditCopy(hCapWnd); if(Clipboard()->HasFormat(CF_DIB)) Image1->Picture->Bitmap->Assign(Clipboard()); Byte *ptr; Bitmap1->PixelFormat=pf24bit; //就是這行 for(int i=0;iBitmap1->PixelFormat=pf24bit; 不知為何要多這一行??否則根本無法再處理下去?? 我希望能把抓取到Image1上的圖檔轉成256色的單調BMP檔 也就是說,我目前這樣的做法是存成im(:,:,3) //matlab圖檔語法 希望能直接轉成im(:,:) , 我再matlab上把BCB輸出的圖檔看了一下 im(:,:,1) ,im(:,:,2),im(:,:,3)的灰階值都一樣 謝謝各位 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |