QT编译opencv与opencv_contrib
1. 资源准备
1.1 资源下载
- QT
下载 本说明使用的是5.15.2
版本,其他版本类似 - opencv
下载 本说明使用的是4.5.3
版本,其他版本类似 - opencv_contrib
下载 本说明使用的是4.5.3
版本,其他版本类似 - Visual Studio 2019
下载 本说明使用的是16.10.4
版本,其他版本类似 - CMake
下载 本说明使用的是3.20.0
版本,其他版本类似
注意
opencv
与opencv_contrib
的版本需要一致
1.2 资源配置
将下载的opencv
与opencv_contrib
源码压缩包解压到同一个文件夹中(文件夹路径尽量不要有中文,未测试有中文是否可行)。如下图所示:
- 文件夹
- 4.5.3 帮助文档
- opencv_contrib-4.5.3
opencv_contrib
源码 - opencv-4.5.3
opencv
源码
- 压缩包
- 4.5.3 帮助文档
- opencv_contrib-4.5.3
opencv_contrib
源码 - opencv-4.5.3
opencv
源码
2. 编译
- 打开
Qt Creator
,并在文件
菜单下点击打开文件或项目
子项,在弹出的打开文件
对话框中选择OpenCV
源码文件夹中的CMakeLists.txt
文件。Qt Creator
会自动地对CMakeLists.txt
文件进行初始配置。结果如下:
- 点击
Qt Creator
左侧的导航栏中的项目
页
- 在右侧的
构建设置
中的编辑构建配置
中选择Debug
,这也是默认的选项。 - 在
CMake
块中的Build directory
中选择要将该配置的编译结果的输出问题。默认值为源码文件的同级目录 - CMake配置
- 在
Filter
输入框中输入opengl
,并将WITH_OPENGL
选项对应的Value
列中的复选框打勾
- 在
Filter
输入框中输入qt
,并将WITH_QT
选项对应的Value
列中的复选框打勾
- 在
Filter
输入框中输入extra
,并双击OPENCV_EXTRA_MODULES_PATH
选项对应的Value
列中的位置,将显示浏览
按钮
- 点击
浏览
按钮,在弹出的对话框中选择opencv_contrib-4.5.3
源码文件夹中的modules
文件夹,并点击选择文件夹
按钮 - 返回配置界面,如下所示
- 切记,此时选择的路径并未生效,需要在
Value
列的其他位置点击鼠标,使控件失去交点。使选择的目录生效
可选项
在Filter
输入框中输入eigen
,并双击Eigen3_DIR
选项对应的Value
列中的位置,在弹出的对话框中选择Eigen
的目录。选择完成后,同样需要使控件失去焦点,以激活目录可选项
去除所有测试项目。在在Filter
输入框中输入test
,取消BUILD_PREF_TESTS
,BUILD_TESTS
与BUILD_opencv_python_tests
的复选
必需
在在Filter
输入框中输入world
,取消BUILD_opencv_world
的复选。这也是默认选项。如果该选项被选中
,则最终无法通过编译
- 点击
Apply Configuration Changes
按钮,完成配置 - 在
Build的步骤
中将install
勾选,以便将编译好的文件放在指定目录。默认为编译输出目录下的install
目录 - 点击
Qt Creator
左下角的锤子
图标,在弹出的对话框中点击Apply
按钮进行编译,比较耗时,耐心等待。
- 在
- 在右侧的
构建设置
中的编辑构建配置
中选择Release
,执行相同的配置,获取Release
下的编译结果。