Windwos10+VS2017+OpenCV3.4.1+DirectShow+MFC
一、前言
在网上参考了许多的博客和视频对着诸多的历程一一实践,发现自己填了不少坑,当然可以认为本人理解能力有限或者笔记本的配置与众博主异同。为了让其他和本人电脑配置和换环境设置相同的朋友们能少采坑,特写此博客。
1.1DirectX与DirectShow介绍
DirectX软件开发包是微软公司提供的一套Windows操作平台上的开发高性能图形、声音、输入、输出和网络游戏的编程接口。
DirectShow是从DirectX6.0中的DirectX Media 发展而来的,它集成了DirectX家族中其他成员(DirectDraw、DirectSound等)的技术。
1.2环境介绍
图1.1 笔记本电脑系统信息
图1.2 VS软件版本信息
二、效果展示
整个代码实现了摄像头的选择、摄像头参数设置、摄像头视频帧的实时显示、以及相关图像处理操作。当点击config按钮时可以对摄像头的相应参数进行设置,如下图中就展示了对摄像头的曝光度、亮度、对比度等参数进行设置,同时还实现了摄像头分辨率的设定,以及可以通过capture按钮对当前视频帧进抓取,也就是实现了截屏的功能,与此同时当点击capture按钮后点击process按钮可以对图像进行图像处理,图中显示的就图像的二值化。注:本文作者可能在开发和撰写上存在着错误或者考虑不周的地方请各位读者海涵,若可以的话可以给作者(QQ:1965257078)留言。
图2.1 工程运行效果图
三、资料准备
在工程开始请确保系统环境及配置好,如VS2017是否已经安装好MFC的框架,也就是安装VS2017时是否勾选了MFC相关的组件,若没有可以参照如下博客进行补安装组件:https://blog.csdn.net/u014231345/article/details/90115193。当一切的安装好这时需要准备DirectShow、OpenCV3.4.1和工程文件包,其中OpenCV3.4.1需要X86版本的,应该本工程是在VS2017的X86中进行调试的,工程文件包中是本的调试代码。
- DirectShow软件包:https://download.csdn.net/download/shamozhihuong/11645476
- OpenCV3.4.1(X86)软件包:https://download.csdn.net/download/shamozhihuong/11645466
- Control_code代码包:https://download.csdn.net/download/shamozhihuong/11645479
- 工程文件包:https://download.csdn.net/download/shamozhihuong/11645477
四、工程搭建
本节主要是介绍利用上面的资源来手把手的和大家一起搭建工程,来到这一节我已默认大家已经下载好了相应的资源。首先创建项目,选择MFC Application,如下图所示。
图4.1 MFC Application
图4.2 Dialog based
如上图所示,选择Dialong based,并点击Finish完成项目创建。完成项目创建后需要将controlcode中的代码到工程目录下,如下图所示。
图4.3 拷贝controlcode中的代码文件
当拷贝完成后,需将文件添加到工程中,添加操作如下图所示。
图4.4 添加文件
当文件添加成功后,需添加依赖和调用路径,其操作如下图所示。
图4.5 添加依赖1
图4.6 添加依赖2
图4.7 添加依赖3
完成了依赖和路径的配置后,将OpenCV和DirectShow的头文件添加进去,其具体操作如下,其中的宏非常的重要,一定要添加正确。
图4.8 添加头文件
图4.9 添加宏
下图是完成上面配置后的运行调试,可以看到运行成功没有0 Error,0 Warring。到这,基本的配置工作已经完成,后面需要做的就是,具体写功能代码,功能代码大家可以直接下载拷贝,并理解消化。
图4.10 运行调试
五、主要要点
1、运行环境OpenCV用X86的,目前好的官方下载的OpenCV中已经没有带X86了,只有X64,所以若想用新版本的,需要要自己下载OpenCV源码编译一下,编译生成X86版本的。
2、配置中的路径一定要配置正确。
3、宏一定要添加正确。
4、再次附上资料包:
- DirectShow软件包:https://download.csdn.net/download/shamozhihuong/11645476
- OpenCV3.4.1(X86)软件包:https://download.csdn.net/download/shamozhihuong/11645466
- Control_code代码包:https://download.csdn.net/download/shamozhihuong/11645479
- 工程文件包:https://download.csdn.net/download/shamozhihuong/11645477
- 淘宝网址:https://item.taobao.com/item.htm?spm=a1z10.1-c-s.w4004-14240154088.6.22125741m8tNMa&id=569939994452