谈谈使用VFW在windows下编程控制摄像头(二)。 【孙涛】

本文详细介绍了在Windows环境下使用Video for Windows (VFW) 库进行摄像头编程控制,包括创建捕获窗体、连接捕获驱动、列举安装的驱动、获取驱动性能参数、设置视频属性、预览视频、捕获数据等步骤,涵盖了从基本操作到高级功能的全面指南。
摘要由CSDN通过智能技术生成

如要转贴请注明转至blog.csdn.net/suntaoznz。谢谢!

3.2使用视频捕获

3.2.1创建捕获窗体

下面的例子通过使用capCreateCaptureWindow函数来创建一个捕获窗体

hWndC = capCreateCaptureWindow (

    (LPSTR) "My Capture Window",       // 如果是Pop-up窗口的窗口名称

    WS_CHILD | WS_VISIBLE,          // 窗口类型

    0, 0, 160, 120,                      // 窗口位置和尺寸

    (HWND) hwndParent,

    (int) nID /* child ID */);

 

3.2.2连接到一个捕获驱动器

下面举例,如何通过捕获窗口的句柄hWndC连接到MS VIDEO驱动程序上,同时还演示了如何断开连接。使用capDriverDisconnect

fOK = SendMessage (hWndC, WM_CAP_DRIVER_CONNECT, 0, 0L);

// 或者使用宏连接:

// fOK = capDriverConnect(hWndC, 0);

 

// 关闭连接

capDriverDisconnect (hWndC);

 

3.2.3列举安装的捕获驱动程序

使用capGetDriverDescription 函数来获得系统已经安装的所有捕获驱动程序的名称和版本。

char szDeviceName[80];

char szDeviceVersion[80];

for (wIndex = 0; wIndex < 10; wIndex++)

{

    if (capGetDriverDescription (wIndex, szDeviceName,

        sizeof (szDeviceName), szDeviceVersion,

        sizeof (szDeviceVersion))

    {

        // 加入名字到一个已经安装的设备列表中

        // 让用户选择一个使用。

    }

}

 

 

3.2.4获得捕获驱动器的性能参数

       WM_CAP_DRIVER_GET_CAPS消息可以返回捕获驱动程序以及其硬件的性能参数。这些信息存放在一个CAPDRIVERCAPS的数据结构中。当你的应用程序的捕获窗口连接到一个新的捕获驱动器后,都会刷新这个CAPDRIVERCAPS数据结构。下面将使用capDriverGetCaps宏来获得捕获设备的性能参数。

CAPDRIVERCAPS CapDrvCaps;

SendMessage (hWndC, WM_CAP_DRIVER_GET_CAPS,

    sizeof (CAPDRIVERCAPS), (LONG) (LPVOID) &CapDrvCaps);

// 或者,使用宏来获得驱动器的新能参数

// capDriverGetCaps(hWndC, &CapDrvCaps, sizeof (CAPDRIVERCAPS));

 

3.2.5获得捕获窗口状态(Status)

下面例子使用SetWindowPos函数区设置捕获窗口的尺寸,这个尺寸的大小是基于输入的视频流大小的。输入视频流的尺寸大小由capGetStatus宏来获得,获得信息放在一个CAPSTATUS的数据结构体中。

 

CAPSTATUS CapStatus;

capGetStatus(hWndC, &CapStatus, sizeof (CAPSTATUS));

SetWindowPos(hWndC, NULL, 0, 0, CapStatus.uiImageWidth,

             CapStatus.uiImageHeight, SWP_NOZORDER | SWP_NOMOVE);

  • 2
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 10
    评论
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值