简单的摄像头视频浏览和捕获程序

本文介绍如何使用VC进行视频捕获,包括创建工程、配置环境、编写代码等步骤。通过实例演示了如何实现视频预览及捕获等功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 新建一个基于对话框的工程,引用头文件 ,导入 vfw32.lib 库,库文件可以在vc存在路径中找到;
如:D:\Program Files\Microsoft Visual Studio\VC98\Lib\vfw32.lib

在窗体上添加四个个按钮,修改ID为IDC_VIDEO , IDC_CAPTURE , IDC_STOPVIDEO , IDC_STOPCAPTURE;

在对话框类中添加成员值  HWND  ghCapWnd ;

在对话框.cpp中包含 #include<Vfw.h>

为按钮IDC_VIDEO添加代码开始浏览视频:

{

//create a window for captureWindow

CWnd *mywnd=new CWnd;

mywnd->Create(_T("STATIC"), "", WS_CHILD| WS_VISIBLE,CRect(0, 0, 400, 400), this, 1234);

mywnd->ShowWindow(SW_SHOW);

CRect rect;

mywnd->GetWindowRect(rect);

//create capture window

ghCapWnd=capCreateCaptureWindow( "My Own Capture Window",WS_CHILD |WS_VISIBLE ,0, 0, (rect.right-rect.left), (rect.bottom-rect.top), mywnd->GetSafeHwnd(), 1235);

//connect device

capDriverConnect (ghCapWnd, 0);

//get params

CAPTUREPARMS CapParms;

capCaptureGetSetup(ghCapWnd,&CapParms,sizeof (CAPTUREPARMS))

//设置桢速

CapParms.dwRequestMicroSecPerFrame=40000;

//有无时间限制

CapParms.fLimitEnabled = FALSE;

//是否捕捉音频

CapParms.fCaptureAudio = FALSE;

//MCI Device支持

CapParms.fMCIControl = FALSE;

//设置窗口,如果为false,捕捉画面在桌面上

CapParms.fYield = TRUE;

//停止捕捉键设置

CapParms.vKeyAbort = VK_ESCAPE;

CapParms.fAbortLeftMouse = FALSE;

CapParms.fAbortRightMouse = FALSE;

//把更新过的CAPTUREPARMS结构体用capCaptureSetSetup宏送给捕捉窗口

capCaptureSetSetup(ghCapWnd,&CapParms,sizeof (CAPTUREPARMS));

//设置预览时的比例

capPreviewScale(ghCapWnd, 1);

//设置预览时的帧频率

capPreviewRate(ghCapWnd,66);

//是否支持比例变化

capPreviewScale(ghCapWnd,FALSE);

//打开预览

capPreview(ghCapWnd, 1);

}

为IDC_CAPTURE添加代码开始捕获视频:

{

capCaptureSequence(ghCapWnd);

}

为IDC_STOPCAPTURE添加代码停止捕捉:

{

capCaptureAbort(ghCapWnd);

}

为IDC_STOPVIDEO添加代码断开连接:

{

capDriverDisconnect(ghCapWnd);

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值