1.取得視訊裝置驅動器數量及資訊 (○)
#include
if(capGetDriverDescription(dwDriverIndex,
szDriverName,sizeof(szDriverName),szDriverVer,sizeof(szDriverVer)) )
2.建立視訊擷取視窗
在unit.h裡的form1-private中宣告一個新的資料成員
用來記錄視訊擷取視窗的Handle
private:
HWND FVideoCapWinH;
再使用CapCreateCaptureWindow這個函式來建立出視訊擷取視窗
3.連接攝影機
FormCreate裡面
// 創出一個父視窗 讓視訊使用
FCapWinH = capCreateCaptureWindow(
"Test window", WS_CHILD WS_VISIBLE,0, 0,
CapturePanel->Width, CapturePanel->Height,
CapturePanel->Handle, 0);
blConnect = false; //設定初始沒連線
連線的button中放
if(FCapWinH != 0)
{
blConnect =capDriverConnect(FCapWinH, 0);
}
if(blConnect == true)
{
capPreviewScale(FCapWinH, false);
capPreview(FCapWinH, true);
capPreviewRate(FCapWinH, 30);
}
之後再對PreviewMode跟OverlayMode放入
capPreview(FCapWinH, true);
//較消耗系統資源,因為他是從視訊裝置去得影像資料然後放入系統記憶體內,
再從系統記憶體內顯示影像資料到螢幕上,
capOverlay(FCapWinH, true);
//相較於PreviewMode,OverlayMode的效率較好,
沒有留言:
張貼留言