[嵌入式embed][Qt]Qt5.12+Opencv4.x+Cmake4.x_用Qt编译linux-Opencv库 & 测试

嵌入式embedQtQt5.12+Opencv4.x+Cmake4.x_用Qt编译linux-Opencv库 & 测试

前文:

嵌入式embedQtQt5.12+Opencv4.x+Cmake4.x_用Qt编译Windows-Opencv库
嵌入式embedQtQt5.12+Opencv4.x+Cmake4.x_测试Qt编译的opencv4.x的库

准备环境

ubuntu20.04

安装qt-opencv必备库

复制代码
sudo apt install build-essential cmake libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
sudo apt install openjdk-11-jdk python3 python3-pip

git-clone opencv库

复制代码
git clone https://github.com/opencv/opencv

编译opencv库

其中/opt/opencv 就是我自定义放的位置

复制代码
cd opencv
mkdir build && cd build
cmake -D CMAKE_INSTALL_PREFIX=/opt/opencv ..
make -j4
sudo make install

build成功,开始执行sudo make install

make install 成功

特殊:opencv编译的include,编译出来后多嵌套了一层文件夹,手工处理下改为include/opencv2


测试demo

新建项目

用Qt编译Windows-Opencv库

QOpencv3.pro

复制代码
QT       += core gui

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

CONFIG += c++11

# You can make your code fail to compile if it uses deprecated APIs.
# In order to do so, uncomment the following line.
#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000    # disables all the APIs deprecated before Qt 6.0.0

SOURCES += \
    main.cpp \
    mainwindow.cpp

HEADERS += \
    mainwindow.h

FORMS += \
    mainwindow.ui

# linux设置 OpenCV 路径
OPENCV_INSTALL_PATH = /opt/opencv

# linux包含头文件路径
INCLUDEPATH += $$OPENCV_INSTALL_PATH/include
INCLUDEPATH += $$OPENCV_INSTALL_PATH/include/opencv2

# linux添加 OpenCV 库文件路径
LIBS += -L$$OPENCV_INSTALL_PATH/lib

# linux链接需要的 OpenCV 库(根据项目实际使用的模块调整)
LIBS += -lopencv_core \
        -lopencv_imgproc \
        -lopencv_highgui \
        -lopencv_imgcodecs \
        -lopencv_videoio

# Default rules for deployment.
qnx: target.path = /tmp/$${TARGET}/bin
else: unix:!android: target.path = /opt/$${TARGET}/bin
!isEmpty(target.path): INSTALLS += target

main.cpp

复制代码
#include "mainwindow.h"

#include <QApplication>
#include <opencv.hpp>
using namespace cv;

//opencv4.x版本
int main(int argc, char *argv[])
{
    QApplication a(argc, argv);

    //展示一张图片
    Mat myimage = imread("1.jpg");
    imshow("Image", myimage);
    //等待10秒钟
    waitKey(10);

    MainWindow w;
    w.show();
    return a.exec();
}

将项目复制到linux目录中:

qmake

make

export LD_LIBRARY_PATH=/opt/opencv/lib:$LD_LIBRARY_PATH & ./QOpencvV3

运行成功

百度云


Qt项目(linux)+环境安装包

相关推荐
M78佐菲3 小时前
ARM学习笔记(1)
linux·arm开发·笔记·嵌入式硬件·学习
益达丫4 小时前
Socket编程揭秘:端口、IP与进程通信的底层逻辑
linux·笔记
chicheese7 小时前
Linux 面试速查表:从初级到高级,附高频场景答题模板
linux·运维
Linux-lucky7 小时前
32-38-Linux学习之旅之MySQL综合
linux·运维·学习·mysql·ubuntu
vortex58 小时前
常用终端模拟器全面对比:Kitty、WezTerm、Ghostty 与 Konsole
linux
INGNIGHT9 小时前
270 · 电话号码的字母组合II(Trie)
linux·算法
zly35009 小时前
VMware Converter Standalone 物理机转化为虚拟机后源1硬盘变成了2个硬盘(2个硬盘文件)虚拟机无法启动。
linux·运维·服务器
江畔柳前堤10 小时前
字节跳动·大模型应用知识手册
前端·人工智能·深度学习·opencv·目标检测·重构·transformer
江湖人称菠萝包10 小时前
【Qt】《Qt 5.9 C++开发指南》笔记-Chapter9-Qt Charts
笔记·qt·qt5
扶尔魔ocy11 小时前
【QT android】环境安装及第一个QT项目
qt·andriod开发