Qt的OpenCV安装—MSVC版

本文介绍如何在QT环境中集成OpenCV库,实现图像处理功能。包括OpenCV的下载与解压、QT配置步骤、测试代码编写及运行结果展示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

OpenCV的下载及解压

  • OpenCV 地址 OpenCV下载 在这里插入图片描述
  • 版本选择
    可以根据需要选择适当的版本,OpenCV提供 ios、win、Android等版本,本文下载的是OpenCV3.30 win版本,若安装Linux版本的OpenCV直接可以下载源码source。

OpenCV解压

选择opencv-3.3.0的exe文件进行双击安装,实际是解压
OpenCV解压
直接解压到C盘,这个位置可以根据自己的情况自行选择。
解压后
解压后

QT配置

本文的QT环境是5.10版本,之前已经安装完成,现在只需要对OpenCV的库调用即可。

  1. 新建一个Qt的工程
  2. 在新建的工程里打开.pro文件
  3. 修改.pro文件,插入如下代码
INCLUDEPATH += C:\opencv\build\include \
               C:\opencv\build\include\opencv \
               C:\opencv\build\include\opencv2
LIBS += C:\opencv\build\x64\vc14\lib\opencv_world330d.lib

注意:路径需要根据自己的实际情况进行修改

4.在mainwindow.cpp里插入头文件

#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>

随后就可以根据需要调用OpenCV的函数了

测试代码


#include "mainwindow.h"
#include "ui_mainwindow.h"

#include <opencv2/imgproc.hpp>
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>

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

       cv::Mat image = cv::imread("E:/study/10OpenCV/1.png", 1);                       
       // create image window named "My Image"
       cv::namedWindow("My Image");
       cv::imshow("My Image", image);
       
       ///image_roi
       cv::Mat contours;
       cv::Canny(image, contours, 150, 300);

       cv::imshow("Canny Image", contours);
       cvWaitKey();

       // show the image on window


}

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

测试结果

在这里插入图片描述

在这里插入图片描述

### 如何在Qt中使用MSVC编译器配置和使用OpenCV #### 安装Visual Studio并设置C/C++编译器 为了使Qt能够利用MSVC作为其编译工具链的一部分,需先安装Microsoft Visual Studio (VS),确保选择了C++开发工作负载。之后,在Qt环境中指定该本的MSVC为默认编译器[^2]。 #### 下载与安装OpenCV库 获取适用于Windows平台预构建好的OpenCV二进制包,解压至本地磁盘上的固定位置以便后续引用。此操作完成后,应着手准备必要的环境变量设定以支持全局访问这些资源[^1]。 #### 设置环境变量 对于Opencv而言,主要涉及两个方面的环境变量定义: - **Path**: 将`<OPENCV_DIR>\bin`加入系统的PATH环境变量中,使得运行时可以找到动态链接库(.dll)。 - **新增自定义变量** `OPENCV_DIR`: 设定值指向已下载并解压缩后的OpenCV根目录,方便项目内相对路径引用。 #### 创建新Qt项目并调整.pro文件 创建一个新的Qt Widgets Application工程模板后,编辑`.pro`文件来引入外部依赖项——即OpenCV头文件夹(`INCLUDEPATH`)及其静态/共享库(`LIBS`)的位置声明。具体形式如下所示: ```qmake # 添加 OpenCV 头文件路径 INCLUDEPATH += $$quote(C:\path\to\opencv\build\include) # 连接所需的 OpenCV 库 win32:CONFIG(release, debug|release): LIBS += -L$$quote(C:/path/to/opencv/build/x64/vc15/lib/) \ -lopencv_world450 else:win32:CONFIG(debug,debug|release):LIBS += -L$$quote(C:/path/to/opencv/build/x64/vc15/lib/) \ -lopencv_world450d # 或者分别连接各个模块对应的库(取决于实际需求) # win32: CONFIG(release, debug|release): LIBS += -L$$quote(C:/path/to/opencv/build/x64/vc15/lib/)\ # -lopencv_core450 -lopencv_imgproc450 ... ``` 上述代码片段展示了两种不同的方式去加载OpenCV库;一种是通过单个world目标简化管理流程,另一种则是按需单独列出各功能组件。注意替换其中的路径部分以匹配个人计算机上真实的OpenCV安装地点。 #### 测试配置有效性 编写简单的测试程序验证当前环境下能否成功调用OpenCV API执行图像处理任务。例如读取一张图片并显示出来: ```cpp #include <QApplication> #include <QDebug> // 导入 opencv 的核心模块和其他所需模块 #include "opencv2/core.hpp" #include "opencv2/highgui.hpp" int main(int argc, char *argv[]) { QApplication a(argc, argv); cv::Mat img = cv::imread("test.jpg"); if(img.empty()){ qDebug()<<"Failed to load image!"; return -1; } cv::imshow("Test Image",img); cv::waitKey(0); return a.exec(); } ``` 如果一切正常,则窗口会弹出展示选定的照片,证明集成过程顺利完成[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值