当前位置: 首页 > news >正文

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

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

    • 前文:
    • 准备环境
    • 安装qt-opencv必备库
    • git-clone opencv库
    • 编译opencv库
    • 特殊:opencv编译的include,编译出来后多嵌套了一层文件夹,手工处理下改为include/opencv2
    • 测试demo
      • 新建项目
      • QOpencv3.pro
      • main.cpp
    • 百度云

前文:

[嵌入式embed][Qt]Qt5.12+Opencv4.x+Cmake4.x_用Qt编译Windows-Opencv库
[嵌入式embed][Qt]Qt5.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 guigreaterThan(QT_MAJOR_VERSION, 4): QT += widgetsCONFIG += 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.0SOURCES += \main.cpp \mainwindow.cppHEADERS += \mainwindow.hFORMS += \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)+环境安装包

http://www.xdnf.cn/news/1447183.html

相关文章:

  • 显存与内存
  • 【甲烷数据】MethaneSAT 卫星遥感数据
  • 使用DCGAN实现动漫图像生成
  • 树莓集团产教融合:数字学院践行职业教育“实体化运营”要求
  • Ubuntu 系统 LVM 逻辑卷扩容教程
  • 中小企业 AI 转型难?成本、技术、人才三重困境下,轻量化解决方案来了
  • 单位冲击响应频谱
  • python-对图片中的头像进行抠图
  • 确定软件需求的方法
  • 小青苔是什么?
  • C语言(长期更新)第13讲:指针详解(三)
  • GTH收发器初始化和复位全解析
  • 面试复习题-kotlin
  • ArcGIS与GISBox对比:中小企业GIS工具的高门槛与零门槛之选
  • Dify部署全攻略:从零开始搭建AI应用开发平台
  • 【高级】系统架构师 | 信息系统战略规划、EAI 与新技术
  • 华为HCIP、HCIE认证:自学与培训班的抉择
  • 《苍穹外卖》开发环境搭建_后端环境搭建【简单易懂注释版】
  • 牛子图论1(二分图+连通性)
  • 在 Ray Data 和 Ray Serve 中推出原生 LLM API
  • 生产环境中redis的SCAN命令如何替代KEYS命令?
  • 学习嵌入式的第三十二天——网络编程——TCP
  • Python/JS/Go/Java同步学习(第二篇)四语言数据基本类型对照表: 老板让我统一系统数据类型?(附源码/截图/参数表/老板沉默术)
  • 关于嵌入式学习——嵌入式硬件2
  • surveygo源码分析
  • “十五五”国家科技创新规划-建议
  • Pytorch笔记一之 cpu模型保存、加载与推理
  • 四维轻云:多期地理数据管理的得力助手
  • 【保姆级选型指南】2025年国产开源AI算力平台怎么选?覆盖企业级_制造业_国际化场景
  • 哈希表-271.存在重复元素-力扣(LeetCode)