Win10 + QT5.14.2 + Opencv4.1.1 编译环境搭建

主要参考了 https://blog.csdn.net/qq_41185569/article/details/109219705

1. 安装QT,从链接 http://download.qt.io/official_releases/qt/ 下载,我下载的是 qt-opensource-windows-x86-5.14.2.exe

2. 下载Opencv,从链接 https://github.com/huihut/OpenCV-MinGW-Build 下载,我下载的是 OpenCV-MinGW-Build-OpenCV-4.1.1-x64.zip

3. 解压缩Opencv,然后把bin目录添加到环境变量下的PATH中,

4. 上述路径修改后,重启一下系统比较保险

5. Qt 新建Widget工程

6. 在 .pro文件中添加如下内容

LIBS += D:\software\OpenCV-MinGW-Build-OpenCV-4.1.1-x64\x64\mingw\bin\libopencv*.dll

INCLUDEPATH += D:\software\OpenCV-MinGW-Build-OpenCV-4.1.1-x64\include \
    D:\software\OpenCV-MinGW-Build-OpenCV-4.1.1-x64\include\opencv2

7. 在主函数中添加头文件,及测试代码

#include <opencv2/opencv.hpp>
using namespace cv;

    Mat test = imread("D:\\test.jpg");
    imshow("test", test);
    waitKey(0);

 

8. 如果运行时报错的话,尝试执行 构建——>清理项目,重新编译试试

9. 注意,既然上面使用了MinGW 64,编译的时候就不要使用 MinGW 32了,不然会报错,如“file not recognized: File format not recognized”

10. 如果要用 Qt 显示 Opencv 的图片,可以在ui编辑界面拖进来一个Label,然后把图片显示到label上,主代码参考如下:

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

#include <opencv2/opencv.hpp>
using namespace cv;

MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
    , ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    Mat srcImg = imread("D:\\test.jpg");
    Mat temp;

    cvtColor(srcImg, temp, COLOR_BGR2RGB);
    QImage Qtemp = QImage((const unsigned char*)(temp.data), temp.cols, temp.rows, temp.step, QImage::Format_RGB888);
    ui->label->setPixmap(QPixmap::fromImage(Qtemp));
    ui->label->resize(Qtemp.size());
    ui->label->show();
}

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

——————————————————————————————

如果下载的是 OpenCV-MinGW-Build-OpenCV-3.4.7.zip 的话,参考配置如下:

LIBS += D:\software\OpenCV-MinGW-Build-OpenCV-3.4.7\x86\mingw\bin\libopencv*.dll

INCLUDEPATH += D:\software\OpenCV-MinGW-Build-OpenCV-3.4.7\include \
    D:\software\OpenCV-MinGW-Build-OpenCV-3.4.7\include\opencv2 \
    D:\software\OpenCV-MinGW-Build-OpenCV-3.4.7\include\opencv

 

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值