赞
踩
http://blog.csdn.net/saloon_yuan/article/details/9259505
相对DirectShow,AviCap算是视频采集框架里面的老前辈了,虽然已经有点力不从心,但对一些要求不高的场合还是很实用的,网上一番搜索之后(借鉴了很多现成的轮子),实现了一个基于AviCap的摄像头采集程序(C sharp实现):
先实现一个CapVideo的类,主要是引入avicap提供的接口,结构体及一些方法的定义
其中主要用到了Avicap32.dll中提供的以下三个函数:
capCreateCaptureWindowA:创建一个视频显示窗口
capGetDriverDescriptionA:获取视频设备描述符
capGetVideoFormat:获取视频格式
接着实现一个Camera类,主要实现摄像头采集开始,停止,截图等功能。
接下来就是演示例子,编写一个简单的WPF程序,利用以上代码实现摄像头采集,运行结果如下,画质不是很清楚,比起摄像头自带的软件,完全下降了两个档次,具体原因有待调查,不过利用AviCap来实现还是很节省资源的,采集时看了下CPU使用率,不超过5%。整个工程已上传至我的资源里,需要参考的朋友可以点击这里下载,另外后续想将摄像头分辨率调节的功能添加进去。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。