本文主要是介绍qt基于dshow获取摄像头麦克风设备信息,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
最近项目需求,需要拿到系统的摄像头和麦克风信息已经摄像头的一些参数,之前使用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/download/u012532263/11540793
这篇关于qt基于dshow获取摄像头麦克风设备信息的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!