在Ubuntu18.04中搭建基于QT的opencv环境

前言

在看这篇文章之前,需要读者已经安装了qt环境如果还没有安装可以移步至这篇文章的后半断
链接: qt移植

获取cmake-gui

sudo apt-get install cmake-gui
这一步主要是一会儿编译opencv的时候会用到

获取opencv的依赖环境

sudo apt-get install build-essential cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev -y

获取opencv

git clone https://github.com/opencv/opencv.git

进入opencv目录

cd opencv/
在这里插入图片描述

创建一个目标编译目录

这一步主要是在编译时用来存放过程文件,不要污染源码
mkdir opencv_proj
cd opencv_proj

通过cmake-gui配置Makefile

cmake-gui
运行后会出现如下界面
在这里插入图片描述

我这里的编译目录就在源码目录的下一级,填写好以后就可以开始第一次配置了
在这里插入图片描述
默认就可以直接finish
在这里插入图片描述
配置过程中需要下载ippicv_2020_lnx_intel64_20191018_general.tgz这个压缩包可能比较慢,暂时没有什么比较好的办法,能做的只有保持网络通常耐心等待
等第一次配置结束以后就可以选择你的配置项了
选择两个
第一
在这里插入图片描述

第二
在这里插入图片描述
如果你足够聪明应该看到了绿标的位置是可以直接搜索变量的
做完这一步就可以再configure一遍了
在这里插入图片描述
当然又得等上一会儿了
等配置完成以后就生成makefile了
在这里插入图片描述
在这里插入图片描述
出现这个就表示成功生成
生完以后叉掉这个界面,在编译目录执行
make
在这里插入图片描述

编译完成以后安装我们编译的库到我们的lib文件夹
在这里插入图片描述

sudo make install
安装完成以后打开qt配置一下opencv库的位置
在这里插入图片描述

配置完成后,新建一个工程在你的.pro文件中添加头文件位置和库文件名
在这里插入图片描述
具体内容我也贴出来了

#-------------------------------------------------
#
# Project created by QtCreator 2023-04-18T15:40:09
#
#-------------------------------------------------

QT       += core gui

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

TARGET = myqt
TEMPLATE = app


SOURCES += main.cpp\
        mainwindow.cpp

HEADERS  += mainwindow.h

FORMS    += mainwindow.ui

INCLUDEPATH +=/usr/local/include/opencv4 \
              /usr/local/include/opencv4/opencv2



LIBS += /usr/local/lib/libopencv_world.so 

写个图片的例子源码如下

#include "mainwindow.h"
#include "ui_mainwindow.h"
#include<iostream>
#include <opencv2/opencv.hpp>
using namespace cv;

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

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

void MainWindow::on_pushButton_clicked()
{

  ui->calendarWidget->showToday();

  ui->textBrowser->append("wo d tianna ");


}



void MainWindow::on_pushButton_2_clicked()
{
    ui->textBrowser->clear();
    Mat src = imread("/home/jdcy/qt5/build-myqt-unknown-Release/logo.jpg");
    if(!src.empty())
    imshow("s",src);
}

点击运行即可

在这里插入图片描述
如果你也出现以下报错信息
在这里插入图片描述
不要慌,去你的makefile加上这个,这个makefile一般就在你的工程编译路径下,比如

在这里插入图片描述
在这里插入图片描述
再保存退出,再终端make一下就可以了

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值