使用vfw在windows下编程控制摄像头

使用vfw在windows下编程控制摄像头

ID:15083295

大小:177.50 KB

页数:22页

时间:2018-08-01

使用vfw在windows下编程控制摄像头_第1页
使用vfw在windows下编程控制摄像头_第2页
使用vfw在windows下编程控制摄像头_第3页
使用vfw在windows下编程控制摄像头_第4页
使用vfw在windows下编程控制摄像头_第5页
资源描述:

《使用vfw在windows下编程控制摄像头》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、使用VFW在windows下编程控制摄像头Microsoft®VideoforWindows®(VFW)提供的函数可以让应用程序去处理视频数据。VFW在16位Windows的时候就被引入了。它的许多重要功能已经被DirectX取代了。要获得更多的信息,你可以参考DirectX的文档。下面讲介绍VFW的视频捕获:3.视频捕获你可以使用windows的AVICap类轻松地完成视频捕获。AVICap提供给应用程序一个简单的、基于消息的接口去访问视频设备和录音设备,并且可以控制处理视频流捕获。3.1关于视频捕获AVICap支持实是视频流捕获和实时单帧图像捕获。另外,AVI

2、Cap提供了对视频源的控制(MCI媒体控制接口设备),因此使用者可以通过应用程序控制一个视频源开始和结束的位置,并且可以加大对帧捕获的控制。你使用AVICap类可以完成如下的任务: l        捕获声音和视频,并将他们写入到一个AVI文件中。l        动态连接和断开视频和音频的输入设备。l        使用覆盖或预览的方法去显示当前的视频信号。l        指定一个文件用于捕获,并且把这个捕获文件的内容拷贝给另一个文件。l        设定捕获图像速度(好多帧)。l        显示对话框用于控制视频源和格式。l        创建、保存、

3、加载调色板。l        拷贝图像和调色板到剪贴板中。l        捕获并把图像作为一个DIB位图保存。 3.1.1视频捕获:最简单的方法 视频捕获将数字化一个视频流和音频数据,并且将他们保存在硬盘和其他存储设备上。这里将描述如何在应用程序中简单地应用视频捕获,它通过三句代码实现。它还介绍了如何通过发送消息给视频捕获窗口来结束或中断一个视频会话。AVICap捕获窗口可以把捕获的音视频信息写入一个AVI文件中。你的应用程序可以自由地处理这个AVI文件、管理缓存区的音视频数据、还可以在底层访问音视频设备的驱动器。AVICap为应用程序提供了一个灵活的接口。你可

4、以使用下面的代码,在你的应用程序中加入视频捕获: HWndC=capCreateCaptureWindow("MyOwnCaptureWindow",WS_CHILD

5、WS_VISIBLE,0,0,160,120,hwndParent,nID);SendMessage(hWndC,WM_CAP_DRIVER_CONNECT,0/*wIndex*/,0L);SendMessage(hWndC,WM_CAP_SEQUENCE,0,0L);宏接口同样有用,你可以选择是使用宏接口还是SendMessage函数来实现上面的功能,不过宏接口可以让你的代码更加容易理解。下面就使

6、用了宏接口。 HWndC=capCreateCaptureWindow("MyOwnCaptureWindow",WS_CHILD

7、WS_VISIBLE,0,0,160,120,hwndParent,nID);capDriverConnect(hWndC,0);//宏接口capCaptureSequence(hWndC);//宏接口你的应用程序创建AVICap捕获窗口,并和视频设备建立连接后。你创建的这个捕获窗口就准备捕获数据了。这时,你可以通过发送WM_CAP_SEQUENCE消息(或capCaptureSequence宏)开始对数据进行捕获。 WM_CAP_S

8、EQUENCE将使用默认设置,开始对视频和音频进行捕获,并把数据放在一个CAPTURE.AVI的文件中,捕获动作将一直持续,除非有下面的事件发生:l        用户按了ESC键或者鼠标的按钮。l        你的应用程序停止或者退出了捕获操作。l        磁盘写满了。在应用程序中,你可以通过发送WM_CAP_STOP命令(或capCaptureStop)给捕获窗口,让它停止向文件写数据。你还可以通过发送WM_CAP_ABORT命令(或capCaptureAbort)给捕获窗口,让它中断捕获操作。  3.1.2捕获基本设置 通过对定义在CAPTUREPA

9、RMS结构中的捕获参数进行修改,你可以完成:l        改变捕获的帧频律(帧/秒);l        指定用键盘或鼠标去结束一个捕获会话;l        为一个捕获会话指定时间周期; 捕获的帧频率 捕获的帧频率表示在一个捕获会话中,每秒要捕获多少帧。你通过WM_CAP_GET_SEQUENCE_SETUP消息(capCaptureGetSetup宏)可以得到当前捕获的帧频率。当前的帧频率被保存在CAPTUREPARMS结构的dwRequestMicroSecPerFrame成员中。你可以对该值进行修改,从而去改变帧频率。该值为捕获一帧要用的时间(单位是微秒

10、1/100

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。