《Qt5.9.7 OpenCV 人脸识别》之开发环境搭建(OpenCV库编译)
1 所需环境
此项目基于Windows 10 64位系统PC机。为避免直接下载OpenCV已编译好的库加入到Qt应用程序编译不过,这里采用CMake+Qt MinGw对OpenCV库源码进行编译,生成静态库和动态库,实际开发过程中将生成的静态库和OpenCV头文件包含到项目工程,程序运行时依赖对应动态库。
1.1 硬件环境
- 搭载Windows系统的PC机
- PC机内置摄像头或外置USB摄像头
1.2 软件环境
- Qt5.9.7
- OpenCV library
- CMake
2 Qt5.9.7下载安装
2.1 Qt5.9.7下载
从http://download.qt.io/archive/qt/5.9/5.9.7/下载Windows环境下qt-opensource-windows-x86-5.9.7.exe。
2.2 安装Qt5.9.7
一路 Next >> Skip >>下一步 >>选择安装文件夹,“下一步”。安装组件选择,然后“下一步”进行安装。
将安装目录下D:\Qt\Qt5.9.7\Tools\mingw530_32\bin加入系统环境变量。
3 CMake下载安装
3.1 CMake下载
从https://cmake.org/download/下载最新版本CMake,这里选择Latest Release (3.13.4)。
3.2 CMake安装
4 OpenCV库下载
从https://opencv.org/releases.html下载OpenCV library。当前最新版为4.0.1,这里选取3.4.5,选择源码包Sources。
5 OpenCV库编译
5.1 使用CMake配置生成Makefile
将下载好的opencv库源码包opencv-3.4.5.zip解压,新建构建路径文件夹build。
打开cmake-gui。
选择opencv-3.4.5的源码路径和构建路径。
选择Qt5.9.7安装目录下Tools\mingw530_32\bin下的编译器gcc和g++,然后“finish”。
等待Configure结束。
勾选ENABLE_CXX11,设置 CMAKE_BUILD_TYPE
为 Release,
其他默认配置,点击“Configure”重新配置,再点击“Generate”生成,之后在构建目录build下生成如下内容,生成了Makefile。
5.2 MinGW编译生成静态库和动态库
命令行界面进入到build目录。这里使用Windows PowerShell,比起古老的cmd,操作非常便捷,功能强大且美观。
5.2.1 执行mingw32-make
出现如下错误
修改opencv-3.4.5\modules\videoio\src\cap_dshow.cpp ,在#include "DShow.h"这行的上面加一行#define NO_DSHOW_STRSAFE,如:
#define NO_DSHOW_STRSAFE
#include "DShow.h"
之后重新执行mingw32-make。
5.2.2 执行mingw32-make install
在构建目录build下install\x86\mingw中编译生成了bin和lib,既是我们要用到的静态库和动态库。