全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:4830
推到 Plurk!
推到 Facebook!

How to use BCB Video Capture (vfw.h)?

答題得分者是:axsoft
csie
一般會員


發表:8
回覆:5
積分:2
註冊:2002-09-14

發送簡訊給我
#1 引用回覆 回覆 發表時間:2002-09-14 03:09:44 IP:61.217.xxx.xxx 未訂閱
我用了別人的範例,可是卻無畫面,何解?? #include "vfw.h" void __fastcall TForm1::Button1Click(TObject *Sender) { HWND hCapWnd; capCreateCaptureWindow("My Capture Window", WS_CHILD | WS_VISIBLE,0, 0, 400, 300,Form1->Handle, 0); //設定CaptureWindows capDriverConnect (hCapWnd, 0); //與驅動程式連結 capOverlay(hCapWnd, true); //使用hardware overlay使video input directly into framebuffer,使不用CPU resources. capPreview(hCapWnd,true); //抓取影像出現在視窗中 capPreviewScale(hCapWnd,true); //使影像延伸到所設定的視窗大小 capPreviewRate(hCapWnd, 1000/30); //每秒影像變化張數 capPreview(hCapWnd,true); } 有人可以提供範例嗎?? 有沒有書專門在介紹 Vedio 的部分啊.. 我還是初學者..拜託~~~幫幫我...
axsoft
版主


發表:681
回覆:1056
積分:969
註冊:2002-03-13

發送簡訊給我
#2 引用回覆 回覆 發表時間:2002-09-16 10:56:50 IP:61.218.xxx.xxx 未訂閱
您參考這一篇吧!    http://delphi.ktop.com.tw/topic.php?TOPIC_ID=19256    聯盟----Visita網站http://www.vista.org.tw ---[ 發問前請先找找舊文章 ]---
csie
一般會員


發表:8
回覆:5
積分:2
註冊:2002-09-14

發送簡訊給我
#3 引用回覆 回覆 發表時間:2002-09-17 03:35:07 IP:61.217.xxx.xxx 未訂閱
謝謝 axsoft ^_^~~ 有沒有更簡單的,我是初學者~~~~ 我看了一晚上...飯都沒吃~~~ 還是無法改成簡單的... 我想寫成 沒有 MENU 的,然後按一下拍照就可存檔至 C:\ 不知道有沒有人可以幫幫我... ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 這樣的語法是不是沒有 Connect 到 Digital Camera Driver... 應該如何加呢??? 拜託~~~ 幫幫我吧...... ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ //------------------------------------------------------------------- #include  #include #pragma hdrstop #include "Unit1.h" //------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" TfishCapture *fishCapture; //------------------------------------------------------------------- __fastcall TfishCapture::TfishCapture(TComponent* Owner) : TForm(Owner) { HWND hwndVideo; hwndVideo = capCreateCaptureWindow( (LPSTR) "My Capture Window", WS_CHILD | WS_VISIBLE, 0, 0, 300, 200, (HWND) fishCapture->Handle, (int) 1); capDriverGetCaps (hwndVideo, sizeof(CAPDRIVERCAPS),1); capPreviewRate (hwndVideo, 33.3); capPreview (hwndVideo, TRUE); } //-------------------------------------------------------------------
chensillin
一般會員


發表:9
回覆:22
積分:6
註冊:2002-08-19

發送簡訊給我
#4 引用回覆 回覆 發表時間:2002-10-21 00:00:42 IP:163.28.xxx.xxx 未訂閱
引言: 謝謝 axsoft ^_^~~ 有沒有更簡單的,我是初學者~~~~ 我看了一晚上...飯都沒吃~~~ 還是無法改成簡單的... 我想寫成 沒有 MENU 的,然後按一下拍照就可存檔至 C:\ 不知道有沒有人可以幫幫我... ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 這樣的語法是不是沒有 Connect 到 Digital Camera Driver... 應該如何加呢??? 拜託~~~ 幫幫我吧...... ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ //------------------------------------------------------------------- #include #include #pragma hdrstop #include "Unit1.h" //------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" TfishCapture *fishCapture; //------------------------------------------------------------------- __fastcall TfishCapture::TfishCapture(TComponent* Owner) : TForm(Owner) { HWND hwndVideo; hwndVideo = capCreateCaptureWindow( (LPSTR) "My Capture Window", WS_CHILD | WS_VISIBLE, 0, 0, 300, 200, (HWND) fishCapture->Handle, (int) 1); capDriverGetCaps (hwndVideo, sizeof(CAPDRIVERCAPS),1); capPreviewRate (hwndVideo, 33.3); capPreview (hwndVideo, TRUE); } //-------------------------------------------------------------------
給你我整理測試過的資料 1.取得capPreview(hCapWnd,true); 停止capPreview(hCapWnd,false); 2.從CCD中取得影像步驟 #include //需include vfw.h否則以下有關cap函數無法使用 HWND hCapWnd; capCreateCaptureWindow("My Capture Window", WS_CHILD | WS_VISIBLE,0, 0, 400, 300,MainForm->Handle, 0); //設定CaptureWindows capDriverConnect (hCapWnd, 0); //與驅動程式連結 capOverlay(hCapWnd, true); //使用hardware overlay使video input directly into framebuffer,使不用CPU resources. capPreview(hCapWnd,true); //抓取影像出現在視窗中 capPreviewScale(hCapWnd,true); //使影像延伸到所設定的視窗大小 capPreviewRate(hCapWnd, 1000/30); //每秒影像變化張數 3.取得單格影像 capGrabFrame(hCapWnd); //從CCD中抓取單格影像,但CCD的Preview和Overlay將停止 capGrabFrameNoStop(hCapWnd); //從CCD中抓取單格影像,但不會停止其他動作 capEditCopy(hCapWnd); capOverlay(hCapWnd,true); 範例:只要配合如下即可任意抓取最新單格影像,前提已先執行第二步驟。 capPreview(hCapWnd,true); capGrabFrame(hCapWnd); 4.Capturing to a file capFileSetCaptureFile(hCapWnd,"c:\\tmp\\test.avi");//預設檔案名稱及位置 capCaptureSequence(hCapWnd); //若無上述函數,將在c:\產生capture.avi 預設按Esc Key則停整存檔。 5. capFileSaveDIB(hCapWnd,bmpfilename.c_str() ); //存成bmp檔
JackyWMK
一般會員


發表:4
回覆:3
積分:1
註冊:2002-11-19

發送簡訊給我
#5 引用回覆 回覆 發表時間:2002-11-19 11:01:13 IP:163.28.xxx.xxx 未訂閱
那請問若想取得單格影像的話,我使用 capGrabFrameNoStop(hCapWnd); //從CCD中抓取單格影像,但不會停止其他動作 capEditCopy(hCapWnd); capOverlay(hCapWnd,true); 請問單格影像會儲存在哪裡呢??? 嗯~~~即要怎樣才能取得抓取了的單格影像呢??? 謝謝~~~
系統時間:2024-04-25 20:32:54
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!