qt基于dshow获取摄像头&麦克风设备信息

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/u012532263/article/details/99455596

最近项目需求,需要拿到系统的摄像头和麦克风信息已经摄像头的一些参数,之前使用opencv和ffmpeg都没有办法直接拿到摄像头设备的一些参数,比如亮度、饱和度、对比度的最小值、最大值、默认值、当前值等。opencv只能获取当前值和设置当前值。

一开始还走了一些弯路,以为微软的directshow很复杂,一直不想去用,最后没得选择又回到directshow。然后就下载DX安装包进行安装,安装好后目录下面有include、lib、bin等 还有demo,还研究 下damcapdemo 但是编译不过去一大堆错误就懒得弄了,直接上qt工程,按套路走,pro文件添加lib和include,然后就报各种错误冲突,重定义什么的之类的,反正一大堆。

算了,不罗嗦;进入正题,其实qt不管是mingw还是msvc编译器,内部都与继承了dshow,所有正确的做法是不需要下载dx sdk进行安装什么的,直接包含头文件 #include <dshow.h> #include <windows.h>就可以使用了,当然还是需要链接一些系统库。pro如下:  

LIBS += -lstrmiids -lOle32 -lOleAut32

#include <dshow.h>

#include <windows.h>

准备就这么几句话就可以了,然后就可以尽情的使用dshow相关接口了,我封装了几个实用的接口,获取摄像头列表、音频列表、支持分辨率列表、获取摄像头参数值等。我使用的环境是qt5.9.7mingw版本。

仅供学习参考,by Dione!

源码工程下载地址:https://download.csdn.net/upload/11540793

猜你喜欢

转载自blog.csdn.net/u012532263/article/details/99455596