VS/Qt + OpenCV环境配置

OpenCV环境配置



一、VS2022 + OpenCV

1.下载 安装OpenCV

  1. 进入OpenCV的GitHub链接。
  2. 点击ReleaseOpenCV
  3. 进入下载选定Release版本,这里以最新的OpenCV 4.8.1为例OpenCV Release版本选择
  4. 下载完成后等到该exe可执行文件OpenCV安装包
    右键点击使用压缩工具打开,我这里使用Bandzip,将安装包内的所有内容解压在同一文件夹解压OpenCV安装包
    这里我解压到D盘目录下,将opencv根目录重名为OpenCV_4.8.1
    OpenCV根目录

2.系统环境变量配置

Win11操作系统中 右键点击此电脑->显示更多选项->属性->高级系统设置->高级->环境变量->系统变量->Path
选中Path后点击编辑按钮进入编辑环境变量,点击右侧新建按钮将之前解压缩的opencv根目录OpenCV_4.8.1内的build\x64\vc16\bin目录添加至此(盘符以及跟文件目录路径由之前解压路径而定,可自行修改)。编辑环境变量

3.项目环境配置

  1. 使用Visual Studio 2022创建新项目,选择Window桌面向导模板进行创建创建新项目选择Windows桌面向导模板
    配置新项目 这里我在D盘创建了一个名为OpenCV_Study的文件夹用于保存项目文件,这些配置信息可行修改配置新项目
    点击创建后如图所示:
    注意这里应用程序类型一定要选择 控制台应用程序.(exe) 并且在其他选项中勾选 空项目
    配置应用程序类型
  2. 创建打开项目后将左上角的活动解决方案配置修改成 Release,活动解决方案平台修改成 x64,如图所示:修改活动解决方案配置以及平台
  3. 右键点击视图->其他窗口->属性管理器打开属性管理器
    在属性管理器中可以看到 Release | x64 右键点击后点击 属性 进入 Release 属性页在这里插入图片描述
    Release属性页 中需要配置的是 通用属性VC++目录包含目录 以及 库目录配置项目VC++目录
    点击 包含目录 右侧的下拉菜单后点击 编辑 打开包含目录后将之前解压的OpenCV_4.8.1根目录下的 build\include 和 build\include\opencv2 添加到包含目录中,如图所示:配置项目包含目录
    点击 确定 按钮后保存修改包含目录配置信息
    点击 库目录 右侧的下拉菜单后点击 编辑 打开库目录后将之前解压的OpenCV_4.8.1根目录下的 build\x64\vc16\lib 添加到库目录中,如图所示:配置库目录
    点击 确定 按钮后保存修改库目录配置信息
    最终 VC++目录 配置如图所示:VC++目录最终配置
    最后进入 Release属性页 下的 通用属性->链接器->输入 中配置附加依赖项在这里插入图片描述
    找到OpenCV_4.8.1根目录下的 build\x64\vc16\lib 文件夹lib文件所在路径
    opencv_world481.lib 文件名完整的粘贴至附加 依赖项 ,如图所示:配置附加依赖项
    点击 确定 按钮后保存修改附加依赖项配置信息
    最终 输入 配置如图所示:在这里插入图片描述
    点击应用、确定后保存所有配置,即可开始编写测试程序测试环境配置是否成功。

4.测试运行

  1. 右键点击 源文件->添加->新建项在这里插入图片描述
    这里我直接将文件命名为main.cpp在这里插入图片描述
  2. 编写测试代码
#include <opencv2/opencv.hpp>

int main()
{
	cv::Mat image;								// 创建一个空图像
	image = cv::imread("D:\\Software\\bg.png");	// 读取输入图像
	cv::namedWindow("Image");					// 定义窗口
	cv::imshow("Image", image);					// 显示图像
	cv::waitKey(0);								// 键入的正数表示等待的毫秒数,0表示永远地等待按键

	return 0;
}
  1. 编译运行,测试通过在这里插入图片描述

二、Qt + OpenCV

1.下载 解压OpenCV源码

  1. 进入OpenCV的GitHub链接。
  2. 点击ReleaseOpenCV
  3. 进入下载选定Release版本,这里以最新的OpenCV 4.8.1为例在这里插入图片描述
  4. 下载后得到 opencv-4.8.1.zip 压缩文件在这里插入图片描述
  5. 在D盘下新建 OpenCV-4.8.1 文件夹,OpenCV-4.8.1文件夹再新建两个文件夹,一个命名为 sources ,一个命名为 build ,如图所示:
    在这里插入图片描述
    然后将 opencv-4.8.1.zip 压缩文件解压至 sources 文件夹内,如图所示:在这里插入图片描述

2.使用cmake-gui编译OpenCV

  1. 在使用cmake-gui编译OpenCV前先确保已安装Qt和Qt相关的工具链在这里插入图片描述
    确保将Qt安装根目录下的mingw编译器目录配置至系统环境变量中在这里插入图片描述
  2. 打开cmake-gui编译OpenCV源码,点击 Browse Source 选择之前在D盘中创建的 OpenCV-4.8.1 文件夹内的 source 文件夹,点击 Browse Build 选择之前在D盘中创建的 OpenCV-4.8.1 文件夹内的 build 文件夹,具体首页配置如下:在这里插入图片描述
    然后点击左下角的 Configure
    在这里插入图片描述

Specify the generator for this project 下拉菜单列表中选择 MinGW Makefiles,同时选择 Specify native compilers 复选框
在这里插入图片描述
点击 Next 按钮进入下一步后如图所示
在这里插入图片描述
Compilers 编译器组框内的 C编译器配置成之前配置至系统环境变量的 bin 目录下的 gcc.exe, C++编译器则选择 g++.exe,然后点击 finish 按钮开始编译。
在这里插入图片描述
编译完成后会发现有许多类似的报错,不用担心,这是因为特色网络受限的原因,总而言之是有办法解决的。
接下来需要进入之前创建的opencv根目录 OpenCV-4.8.1 中的 build 文件夹找到一个名为 CMakeDownloadLog.txt 的文本文件
在这里插入图片描述
打开 CMakeDownloadLog.txt 后可以看到有非常多的信息,不用在意,只需要找到关键信息即可,找到 opencv_videoio_ffmpeg.dllopencv_videoio_ffmpeg_64.dll,拿 opencv_videoio_ffmpeg_64.dll 举例:在这里插入图片描述

将后续链接 https://raw.githubusercontent.com/opencv/opencv_3rdparty/7da61f0695eabf8972a2c302bf1632a3d99fb0d5/ffmpeg/opencv_videoio_ffmpeg_64.dll 用科学上网或者下载器下载下来。
在这里插入图片描述
然后将这两个 dll 动态库文件复制到之前创建的opencv根目录 OpenCV-4.8.1 中的 source 文件夹下的子文件夹 3rdparty 下的 ffmpeg 文件夹,如图所示:
在这里插入图片描述
然后再次点击cmake-gui的 Configure 按钮,再次点击后无需理会报错。
再次配置完成后使用Search搜索修改勾配置项:
在这里插入图片描述
具体修改勾选项如下:

  • 需要勾选的配置项:
    1. WITH_OPENGL
    2. WITH_OPENMP
    3. BUILD_opencv_world
    4. ENABLE_CXX11 (如果存在该选项)
  • 需要取消勾选的配置项:
    1. WITH_OPENCL_D3D11_NV
    2. WITH_IPP
    3. ENABLE_PRECOMPILED_HEADERS

以上勾选配置修改完成后点击cmake-gui中的 Generate 按钮即可。提示 Generating done 即可进行后续操作
在这里插入图片描述
进入之前创建的opencv根目录 OpenCV-4.8.1 中的 build 文件夹,右键点击空白处选择 在终端中打开 进入 Windows PowerShell ,在执行命令前需要确保终端是否进入 build 文件夹。
在这里插入图片描述

然后使用mingw32-make -j 8命令进行编译,如图所示:
在这里插入图片描述
接下来暂时耐心的等待编译过程…
编译完成后使用mingw32-make install命令进行构建,如图所示:
在这里插入图片描述
构建完成后将之前创建的opencv根目录 OpenCV-4.8.1 中的 build 文件夹下的子文件夹 install 下的 x64 文件夹内的 mingw 文件夹中的 bin 目录的完整路径添加至系统环境变量
在这里插入图片描述
如图所示:
在这里插入图片描述

3.测试运行

  1. 打开 Qt Creator,点击左侧 创建项目,设置项目路径
    在这里插入图片描述

  2. 这里我选择使用 qmake 进行项目构建
    在这里插入图片描述

  3. 只是测试,类信息使用默认即可
    在这里插入图片描述

  4. 翻译文件配置无所谓,使用默认跳过即可
    在这里插入图片描述

  5. 构建套件选择MinGW 64-bit的即可,要注意不同的Qt版本对应不同版本的构建套件,之前配置系统环境变量的 mingw81_64 对应 Qt 5.15.2 版本
    在这里插入图片描述

  6. 项目管理,默认配置跳过即可
    在这里插入图片描述

  7. 构建项目完成后,右键点击 项目->添加库,进入 添加库 配置,选择 外部库 复选框
    在这里插入图片描述
    点击 下一步 按钮进行后续配置操作

  8. 外部库配置 中,需要对 库文件包含路径 两项进行配置,点击库文件右侧的浏览按钮,选择之前创建的opencv根目录 OpenCV-4.8.1 中的 build 文件夹下的子文件夹 install 下的 x64 文件夹内的 mingw 文件夹中的 lib 目录中有个名为 libopencv_world481.dll.a 的文件。
    在这里插入图片描述
    配置 库文件 后会自动配置 包含路径,这个自动配置的包含路径是错误的,需要手动进行修改。
    点击 包含路径 右侧的 浏览 按钮进行配置,选择之前创建的opencv根目录 OpenCV-4.8.1 中的 build 文件夹下的子文件夹 install 下的 include 目录即可。
    在这里插入图片描述
    最后 外部库 完整配置如图所示:
    在这里插入图片描述
    点击 下一步 按钮后需要保存项目的.pro文件

  9. 编写运行测试程序:

#include "mainwindow.h"
#include "ui_mainwindow.h"
#include "opencv2/opencv.hpp"

MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
    , ui(new Ui::MainWindow)
{
    ui->setupUi(this);

    cv::Mat image = cv::imread("D:\\Software\\bg.png");
    cv::imshow("Image", image);
    cv::waitKey(0);
}

MainWindow::~MainWindow()
{
    delete ui;
}

程序正常运行即可~~~

  • 4
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值