安装CMake位置:
添加环境变量:
安装Opencv4.7.0:
添加环境变量:
使用CMake编译opencv_contrib:
选择安装的 visual studio 版本,x64,点击finish
选择 BUILD_opencv_world ,为了把所有的lib文件都集合到opencv_worldxxxd.lib中方便配置;
选择 OPENCV_ENABLE_NONFREE (为了使用具有专利保护的算法);
查找 OPENCV_EXTRA_MODULES_PATH 变量,选择opencv_contrib安装包里的modules文件夹
查找 test ,将OPENCV_PERF_TESTS、BUILD_TESTS、BUILD_opencv_python_tests 设置不勾选;
查找 java ,将BUILD_JAVA、BUILD_opencv_java_bingdings_generator设置不勾选;
查找python ,将BUILD_opencv_python3、BUILD_opencv_python_bingdings_generator 设置不勾选;
可通过GitHub Proxy 代理加速下载以下ffmpeg文件
将以下三个文件添加到两个文件夹下:
E:\software\opencv\opencv_4.7.0\opencv\sources\3rdparty\ffmpeg
E:\software\opencv\opencv_4.7.0\opencv\opencv_contrib\3rdparty\ffmpeg
编译问题:
boostdesc_bgm.i相关文件下载失败
vgg_generated_120.i相关文件下载失败
face_landmark_model.dat下载失败
解决方法:
将文件https://raw.githubusercontent.com/......添加到GitHub Proxy 代理加速 (ghproxy.com)
手动下载后,添加到以下downloads文件夹中,在该文件夹中新建两个文件夹wechat_qrcode、xfeatures2d,在相应文件夹中添加相应文件,如图:
将face_landmark_model.dat下载完成之后,在\sources\.cache\data文件夹下,找到源文件.dat,复制下文件名(校验码+face_landmark_model.dat),修改名称,将下载的face_landmark_model.dat拷贝过来,替换源文件。
编译完成之后,打开项目:
选择x64,选择生成,批生成,在弹出的窗口里面选择的 debug 和release的ALL_BUILD和INATALL,然后点击“生成”,时间较长。
添加环境变量:
重新配置项目环境:
visual studio 中右击项目->“属性”,
首先选择“所有配置” “所有平台”,编辑包含目录为:
生成的目标文件目录\install\include
生成的目标文件目录\install\include\opencv2
库目录编辑为:生成的目标文件目录\install\x64\vc16\lib
编辑包含目录和库目录之后,需要添加附加依赖项,在所有平台,所有配置上添加opencv_worldxxxd.lib,opencv_worldxxx.lib
最后即可测试。
QT6.x.x安装教程参考:QT6安装教程
添加环境变量:
添加环境变量Qt6_DIR:
QT6增删组件,更新组件可参考:Qt多版本共存使用,组件增删
QT6+Opencv配置参考:环境搭建
点击Configure,
选择MinGW Makefiles,
点击Specify native compilers,
再next,Compilers:
C:选择gcc
路径,C++:选择g++
路径
点击Finish
报错修改:
CMake Warning at cmake/OpenCVGenSetupVars.cmake:54 (message): CONFIGURATION IS NOT SUPPORTED: validate setupvars script in install directory
解决方法:只需去除 OPENCV_GENERATE_SETUPVARS选项,将会configure成功
查找WITH,勾选WITH_QT和WITH_OPENGL,再次点击Configure
再次查找QT,设置以下路径:
添加CMAKE_MAKE_PROGRAM配置路径
再次点击Configure,报红就再点一次,然后点击Generate
Generate完成之后,关闭Cmake即可
编译opencv: 此时进入之前创建的目标文件夹 E:\software\opencv\opencv\opencv_qt
将鼠标放在该文件夹界面内,按住shift键,同时点击鼠标右键,点击在此处打开Powershell窗口(s)
进入Windows Powershell,输入 (-j 是使用 8 个线程进行编译,根据计算机配置合理设置线程数)mingw32-make -j 16 开始编译 (在此过程会有各种error) 编译100%完成
完成之后,输入 mingw32-make install 完成安装。
添加环境变量:
之后即可测试:
新建项目,pro文件中添加:
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
using namespace std;
using namespace cv;
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
, ui(new Ui::MainWindow)
{
ui->setupUi(this);
Mat image = cv::imread("20230523_1.jpg", 1);
namedWindow("Test");
imshow("Test", image);
}
MainWindow::~MainWindow()
{
delete ui;
}
先记录到这里...