写这篇博客的目的

opencv作为计算机视觉领域通用算法库,是学习人工智能一个重要的算法库。网上的很多教程都是基于先安装opencv,然后再配置环境变量的形式来调用,对于初学者来说,过程有点繁琐。本教程是opencv免安装的方式进行调用,希望对大家有所帮助。

opencv 4.8所需要的库

1.win32_lib是所需要的库,里面有.a和dll

2.include是对应的头文件

QT集成opencv4.8

1.我用opencv4.8库是32位的,window下 QT的mingw编译器就可以支持。所以用QT新建工程的时候,要选择mingw32的编译器

新建完工程后,把对应的库放到新建的工程里,如下图:

2.pro文件加载.a

#加载所需要的动态库和头文件
OPENCV_LIB_PATH = $$PWD/opencv_lib/win32_lib
LIBS += $${OPENCV_LIB_PATH}/libopencv_world480.dll.a \
        $${OPENCV_LIB_PATH}/libopencv_img_hash480.dll.a
INCLUDEPATH += $$PWD/opencv_lib/include

完整的pro文件如下:

3.运行工程

要让工程能正常运行,需要将libopencv_world480.dlllibopencv_img_hash480.dll拷贝到对应的exe生成目录下,比如的生成目录是build-OpencvTest-Desktop_Qt_5_14_2_MinGW_32_bit-Debug,就是将dll拷贝到对应的debug目录下

这里做集成,所以就只显示一个opencv的版本,表示opencv集成功能,代码如下:

#include "mainwindow.h"
#include "ui_mainwindow.h"
#include "opencv2/opencv.hpp"
#include <iostream>
#include <QDebug>
using namespace std;
MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
    , ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    string version = cv::getVersionString();//获取opencv版本号
    QString qVersion = version.c_str();
    ui->lb_version->setText(qVersion);
}

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

代码运行功能后,会出现如下的界面,显示opencv的版本号4.8.0:

至此,opencv4.8.0顺利集成,后面就是正常使用opencv的功能了。

最后是QT对应的工程 OpencvTest,可以自行下载,里面也包含了对应的opencv库

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐