资源描述:
《VFW在windows下编程控制摄像头3》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、目录二.基本的捕获设置1.设置捕获速度:2.设置终止捕获3.捕获的时间限制三.关于捕获窗口1.创建一个AVICAP捕获窗口2.将一个捕获窗口连接至捕获设备3.父窗口与子窗口的交互4.捕获窗口的状态四.视频捕获驱动和音频驱动1.视频捕获驱动的性能:2.视频对话框:3.PREVIEW和OVERLAY模式:4.视频格式5.视频捕获设置6.声频格式五.使用视频捕获1.创建捕获窗口(CREATINGACAPTUREWINDOW)2.连接到捕获驱动(CONNECTINGTOACAPTUREDRIVER)4.得到捕获驱动的性能(OBTAININGTH
2、ECAPABILITIESOFACAPTUREDRIVER)5.得到捕获窗口的状态(OBTAININGTHESTATUSOFACAPTUREWINDOW)6.显示对话框设置视频特征(DISPLAYINGDIALOGBOXESTOSETVIDEOCHARACTERISTICS)7.得到和设置视频格式(OBTAININGANDSETTINGTHEVIDEOFORMAT)8.预览视频(PREVIEWINGVIDEO)9.将视频设置为OVERLAY模式(ENABLINGVIDEOOVERLAY)10.命名捕获文件(NAMINGTHECAPTUR
3、EFILE)11.格式化声频捕获(FORMATTINGAUDIOCAPTURE)12.改变视频捕获设置(CHANGINGAVIDEOCAPTURESETTING)13.捕获数据(CAPTURINGDATA)14.增加一个信息块(ADDINGANINFORMATIONCHUNK)15.在程序中加入一个回调函数(ADDINGCALLBACKFUNCTIONSTOANAPPLICATION)16.创建一个状态回调函数(CREATINGASTATUSCALLBACKFUNCTION)17.创建一个错误回调函数(CREATINGANERRORCA
4、LLBACKFUNCTION)18.创建一个框架回调函数(CREATINGAFRAMECALLBACKFUNCTION)六.将四个标准对话框改成函数调用形式AUDIOFORMAT对话框VIDEOFORMAT对话框VIDEOSOURCE对话框VIDEOCOMPRESSION对话框 前言视频捕获是指由专用的视频采集卡捕获声频和视频信息,然后将其进行数据化处理,再经过软件的压缩进行处理,这时就可对这些数据进行保存、回放、传输等各种操作。Windows专门提供了VideoforWindows来对视频处理进行支持,提供的接口可以被大多数的视频采集
5、卡支持,并有多种视频压缩驱动供选择(当然视频压缩可以自己开发),采集卡支持摄像头,TV等多种输入。一.视频捕获快速入门视频捕捉将一个视频流和音频流数字化,然后存储在硬盘或其他存储介质上.一个AVICap视窗口句柄描述了声频与视频流的细节,这样就使你的应用程序从AVI文件格式,声频视频缓冲管理,低层声频视频驱动访问等等解脱出来,AVICap为应用程序提供了一个灵活的介面,你可以仅仅使用如下几行代码就可以将视频捕捉加入你的程序:hWndC=capCreateCaptureWindow("MyOwnCaptureWindow",WS_CHIL
6、D
7、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,只不过提供给程序一个更易读的代码而已,下面的这些示例就是使用宏的方法将视频捕捉加入程序:hWndC=capCreateCaptureWindow("MyOwnCaptureWindow",WS_CHILD
8、WS_VISIBLE
9、,0,0,160,120,hwndParent,nID);capDriverConnect(hWndC,0);capCaptureSequence(hWndC);当你创建了一个AVICap类的捕捉窗口并将它连接到一个视频驱动时,此捕捉窗口即可以开始捕捉数据,你的程序可以简单的发送WM_CAP_SEQUENCE消息(或者使用capCaptureSequence宏)来开始捕捉.如果是缺省的设置,WM_CAP_SEQUENCE会开始捕捉视频音频流到CAPTURE.AVI文件中,直到下面的某一事件发生为止:用户按下了ESC键或者一个鼠标键你的应
10、用程序终止或异常中断捕捉操作磁盘已满在一个应用程序里,你可以发送WM_CAP_STOP消息来终止捕捉数据(或者使用capCaptureStop宏),你也可以发送WM_CAP_ABORT消息(或者使用capC