請問前輩如使用Tvideocapture怎去抓它的frame來處理 |
尚未結案
|
988078
一般會員 發表:23 回覆:15 積分:7 註冊:2005-03-02 發送簡訊給我 |
請問各位大大~如果用這個方式來擷取ccd的話有辦法抓它的frame來做處理嗎~
有辦法使用類似以下這段code去直接抓ccd內的資料嗎~而不用去抓它已經顯示到image上的圖~因為這樣處理起來會比較快 LRESULT CALLBACK FrameCallBack( HWND hwnd, Longint lpvhdr )
{
static BITMAPINFOHEADER BitmapHead;
static BITMAPINFO BitmapInfo;
static BITMAPFILEHEADER BitmapFileHead;
CAPSTATUS status;
int BIHsize, byte;
Byte *ptr;
TMemoryStream *stream = new TMemoryStream; VideoStr=LPVIDEOHDR(lpvhdr); capGetStatus( ghCapWnd, &status, sizeof(status) ) ; BIHsize=capGetVideoFormatSize( ghCapWnd ); capGetVideoFormat( ghCapWnd, &BitmapHead, BIHsize); BitmapInfo.bmiHeader=BitmapHead; stream->Size=sizeof(BitmapFileHead) sizeof(BitmapHead) BitmapHead.biSizeImage; BitmapFileHead.bfType=0x4D42;
BitmapFileHead.bfSize=stream->Size;
BitmapFileHead.bfOffBits=sizeof(BitmapFileHead) sizeof(BitmapHead); // ???imagedata?? stream->Position=0;
stream->WriteBuffer( &BitmapFileHead, sizeof(BitmapFileHead) );
stream->WriteBuffer( &BitmapInfo, sizeof(BitmapInfo) );
(void*)ptr=stream->Memory;
ptr = BitmapFileHead.bfOffBits;
Move( VideoStr->lpData, ptr, BitmapHead.biSizeImage); stream->Position=0; Form1->Image1->Picture->Bitmap->LoadFromStream( stream );
delete( stream );
capSetCallbackOnFrame (ghCapWnd, NULL);
return(0);
} 謝謝~~ 高高屋海苔
------
高高屋海苔 |
taishyang
站務副站長 發表:377 回覆:5490 積分:4563 註冊:2002-10-08 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |