請問如何使用DSpack擷取Webcam的畫面 |
尚未結案
|
ccsyaran
一般會員 發表:2 回覆:2 積分:0 註冊:2005-09-14 發送簡訊給我 |
|
roller
一般會員 發表:9 回覆:20 積分:5 註冊:2004-11-05 發送簡訊給我 |
|
friendlly
高階會員 發表:22 回覆:144 積分:103 註冊:2003-04-08 發送簡訊給我 |
|
roller
一般會員 發表:9 回覆:20 積分:5 註冊:2004-11-05 發送簡訊給我 |
|
friendlly
高階會員 發表:22 回覆:144 積分:103 註冊:2003-04-08 發送簡訊給我 |
|
roller
一般會員 發表:9 回覆:20 積分:5 註冊:2004-11-05 發送簡訊給我 |
謝謝...
其實我本來就是用這個方法, 只是抓出來的圖都是empty 後來找到需先加入以下兩行 ... CheckDSError(SampleGrabber1->QueryInterface(IID_IBaseFilter, &CaptureFilter)); Graph->RenderStream(&PIN_CATEGORY_CAPTURE, &MEDIATYPE_Video, SourceFilter, NULL, CaptureFilter); 這樣才會有動作... 不過我又有三個問題了... 1. 我該如何設定視訊影像的解析度呢? 2. 又該如何設定每秒鐘的影像張數? 3. 以及SampleGrabber1Buffer()是不是在每個frame進來時都會被觸發一次? 而若我要對視訊影像做處理的話, 直接寫在該事件內就可以了是嗎? 那我設定每秒30張frame, 是不是代表我在SampleGrabber1Buffer()就可以 每秒鐘就得到30張圖? 不知道這觀念對不對... DSPack的資料好像不多, 網路上找的也多半是Delphi範例, 不是很懂Delphi所以 有點吃力, 請大家多幫忙嘍!先謝謝friendly |
friendlly
高階會員 發表:22 回覆:144 積分:103 註冊:2003-04-08 發送簡訊給我 |
1 ,2 的問題我也一直在測試站上發表過的文章你找找看..有成功在發一下
3.每秒30frame實際上可能只有27~28左右..在Interlace架構下你只要確定每次更新圖片的動作完成 你就可以判斷了. ========非交錯===========引 用 文 章=================== 謝謝... 其實我本來就是用這個方法, 只是抓出來的圖都是empty 後來找到需先加入以下兩行 ... CheckDSError(SampleGrabber1->QueryInterface(IID_IBaseFilter, &CaptureFilter)); Graph->RenderStream(&PIN_CATEGORY_CAPTURE, &MEDIATYPE_Video, SourceFilter, NULL, CaptureFilter); 這樣才會有動作... 不過我又有三個問題了... 1. 我該如何設定視訊影像的解析度呢? 2. 又該如何設定每秒鐘的影像張數? 3. 以及SampleGrabber1Buffer()是不是在每個frame進來時都會被觸發一次? ??? 而若我要對視訊影像做處理的話, 直接寫在該事件內就可以了是嗎? ??? 那我設定每秒30張frame, 是不是代表我在SampleGrabber1Buffer()就可以 ??? 每秒鐘就得到30張圖? ??? 不知道這觀念對不對... DSPack的資料好像不多, 網路上找的也多半是Delphi範例, 不是很懂Delphi所以 有點吃力, 請大家多幫忙嘍!先謝謝friendly |
roller
一般會員 發表:9 回覆:20 積分:5 註冊:2004-11-05 發送簡訊給我 |
我在progdigy.com網站看到一兩篇討論
http://www.progdigy.com/modules.php?name=Forums&file=viewtopic&t=1012&highlight=setvideoparams http://www.progdigy.com/modules.php?name=Forums&file=viewtopic&p=10203&highlight= 但都是Delphi的範例, 不太懂得如何改寫成BCB 更無法確定此方法是否可以正確使用... 不知道是否有人可以試著改看看呢? 謝謝! |
roller
一般會員 發表:9 回覆:20 積分:5 註冊:2004-11-05 發送簡訊給我 |
對了 ... 想請問一下friendly
你是安裝DirectX 9 SDK 還是 DirectX SDK 因為我在progdigy看到一些討論都是講DirectX SDK 我不知道兩者是否有何差異, 可以的話順便跟我說一下你下載DirectX(9) SDK 的版本及網址 謝謝 by the way ... 現在已經有點想放棄使用DSPack BCB能參考的資料實在好少 ... 或者就是我太嫩了 ... 不知道是否還有什麼library可以選擇 我只知道vfw.h及DSPack .. 要是DSPack真的搞不定的話, 就該換換看了 ... |
charlietian
一般會員 發表:1 回覆:6 積分:1 註冊:2008-04-08 發送簡訊給我 |
===================引 用 ccsyaran 文 章=================== 請問是否有人成功擷取webcam畫面到image裡 我用SampleGrabber成功擷取mpeg的圖像 但是webcam的不行 請問有人使用DSpack的SampleGrabber成功的嗎 能否指點一下,感激不盡 ======================================================== 用SampleGrabber是可以的,请参考下面的代码,只要设置都正确应该就可以; [code cpp] void __fastcall TMainForm::Button1Click(TObject *Sender) { SysDev = new TSysDevEnum(CLSID_VideoInputDeviceCategory); if (SysDev->CountFilters > 0) { int i; for(i = 0; i < SysDev->CountFilters; i ) { // Memo1->Lines->Add(SysDev->Filters[i].CLSID ); Memo1->Lines->Add(SysDev->Filters[i].FriendlyName); } } FilterGraph->ClearGraph(); FilterGraph->Active = false; Filter->BaseFilter->Moniker = SysDev->GetMoniker(((TMenuItem *)Sender)->Tag); FilterGraph->Active = true; ICaptureGraphBuilder2 *Graph = NULL; IBaseFilter *SourceFilter = NULL; IBaseFilter *VideoFilter = NULL; IBaseFilter *SampleFilter = NULL; CheckDSError(FilterGraph->QueryInterface(IID_ICaptureGraphBuilder2, &Graph)); CheckDSError(VideoWindow->QueryInterface(IID_IBaseFilter, &VideoFilter)); CheckDSError(Filter->QueryInterface(IID_IBaseFilter, &SourceFilter)); CheckDSError(SampleGrabber1->QueryInterface(IID_IBaseFilter, &SampleFilter)); Graph->RenderStream(&PIN_CATEGORY_PREVIEW, NULL, SourceFilter, NULL, VideoFilter); Graph->RenderStream(&PIN_CATEGORY_CAPTURE, NULL, SourceFilter, NULL, SampleFilter); FilterGraph->Play(); Graph->Release(); VideoFilter->Release(); SourceFilter->Release(); } //--------------------------------------------------------------------------- void __fastcall TMainForm::Button2Click(TObject *Sender) { // bmp->Width=640; // bmp->Height=480; SampleGrabber1->GetBitmap(bmp); Image1->Picture->Bitmap->Assign(bmp); } [/code] |
liangng
一般會員 發表:1 回覆:3 積分:0 註冊:2011-12-05 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |