【边缘智能】Jetson板卡上安装QT5与OpenCV集成

学习《OpenCV应用开发:入门、进阶与工程化实践》一书
做真正的OpenCV开发者,从入门到入职,一步到位!

安装QT5与QT Creator

如果只是简单的使用QT的GUI库,没有其它要求,其实特别容易,一行命令行可以搞定了,直接在终端运行:

sudo apt-get install qt5-default qtcreator –y

安装完成以后,去左下角的软件安装中心点开,鼠标往下滚就可以看到:
在这里插入图片描述

OpenCV支持配置

在这里插入图片描述
创建一个QT Widget Application类型的项目,然后右键选择该项目,选择导入第三方库的方式来导入OpenCV支持。默认情况下Jetpack系统是已经自带OpenCV库的,但是不支持CUDA,所以我自己编译了OpenCV4.8 + CUDA支持版本。
如何给Jetson Orin Nano的ubuntu port换镜像源
其中包含路径如下:

/usr/include/opencv4

so文件库路径如下

/usr/lib/aarch64-linux-gnu

分别选择好以后,按OK就可以完成OpenCV集成配置支持的第一步,然后再按我这样,手动修改
在这里插入图片描述
这样就配置好了OpenCV支持了。

QT+OpenCV代码测试

双击打开mainwindow.cpp文件,在里面添加代码如图所示:
在这里插入图片描述
检查一下是否有跟我一样的图像文件,改一下文件路径,源代码如下:

#include "mainwindow.h"
#include "ui_mainwindow.h"
#include "opencv2/opencv.hpp"
#include "QLabel"
#include "QVBoxLayout"

MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
    , ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    // add more codes from here~~~
    cv::Mat bgr = cv::imread("/home/orinnano/Pictures/lena.jpg");
    cv::Mat image;
    cv::cvtColor(bgr, image, cv::COLOR_BGR2RGB);
    QImage img = QImage(image.data, image.cols, image.rows, image.step, QImage::Format_RGB888);
    img = img.scaled(QSize(800, 600), Qt::KeepAspectRatio);
    QPixmap mp;
    mp = mp.fromImage(img);
    QLabel *label = new QLabel();
    label->setAlignment(Qt::AlignCenter);
    label->setPixmap(mp);
    QVBoxLayout *vblayout = new QVBoxLayout();
    vblayout->addWidget(label);
    ui->centralwidget->setLayout(vblayout);
    this->setWindowTitle("Jetson Orin Nano + Qt5 + OpenCV4.8 Demo");
}

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

运行结果:
在这里插入图片描述
后记:
我知道网上还有很多这类文章,但是它们有一个共同的问题,根本就没有集成QT界面跟OpenCV在一起,而且基于Qt Creator通过控制台运行一下拉到了。因而误导了不少人,也让很多人根本就不知道怎么集成这两个东西,所以我才写了这篇文章,帮助大家正本清源!

学习《OpenCV应用开发:入门、进阶与工程化实践》一书
做真正的OpenCV开发者,从入门到入职,一步到位!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/467655.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【Unity每日一记】unity中的内置宏和条件编译(Unity内置脚本符号)

👨‍💻个人主页:元宇宙-秩沅 👨‍💻 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍💻 本文由 秩沅 原创 👨‍💻 收录于专栏:uni…

【数据结构和算法初阶(C语言)】二叉树的顺序结构--堆的实现/堆排序/topk问题详解---二叉树学习日记②

目录 ​编辑 1.二叉树的顺序结构及实现 1.1 二叉树的顺序结构 2 堆的概念及结构 3 堆的实现 3.1堆的代码定义 3.2堆插入数据 3.3打印堆数据 3.4堆的数据的删除 3.5获取根部数据 3.6判断堆是否为空 3.7 堆的销毁 4.建堆以及堆排序 4.1 升序建大堆,降序建小堆 4.2堆…

RPM与DNF的操作实践

这几课有三个目标: 第一步:先配置软件源 跳转到yum.repos.d目录,用vim创建一个openeuler_x84_64.repo文件。这个文件就是我们将会用到的软件源。 我们在里面添加这些东西,保存并退出即可。 然后,我们用yum list all就…

【CICD】Jenkins 常用操作手册

常见词汇 词汇 说明 Node 作为 Jenkins 环境的一部分并能够执行Pipeline或项目的机器,无论是 Master 还是Agent 都被认为是 Node。 Master 存储配置,加载插件以及为 Jenkins 呈现各种用户界面的主控节点 Agent 通常是一台主机或容器,连…

Hive:数据仓库利器

1. 简介 Hive是一个基于Hadoop的开源数据仓库工具,可以用来存储、查询和分析大规模数据。Hive使用SQL-like的HiveQL语言来查询数据,并将其结果存储在Hadoop的文件系统中。 2. 基本概念 介绍 Hive 的核心概念,例如表、分区、桶、HQL 等。 …

Chrome历史版本下载地址:Google Chrome Older Versions Download (Windows, Linux Mac)

最近升级到最新版本Chrome后发现页面居然显示错乱,是在无语, 打算退回原来的版本, 又发现官方只提供最新的版本下载, 为了解决这个问题所有收集了Chrome历史版本的下载地址分享给大家. Google Chrome Windows version 32-bit VersionSizeDate104.0.5112.10279.68 MB2022-05-30…

TT-100K数据集,YOLO格式

TT-100K数据集YOLO格式,分为train、val和test,其中train中共有6793张图片,val中共有1949张图片,test中共有996张图片。数据集只保留包含图片数超过100的类别。共计46类。

uniapp微信小程序随机生成canvas-id报错?

uniapp微信小程序随机生成canvas-id报错? 文章目录 uniapp微信小程序随机生成canvas-id报错?效果图遇到问题解决 场景: 子组件,在 mounted 绘制 canvas;App、H5端正常显示,微信小程序报错; 效…

信息系统项目管理师019:存储和数据库(2信息技术发展—2.1信息技术及其发展—2.1.3存储和数据库)

文章目录 2.1.3 存储和数据库1.存储技术2.数据结构模型3.常用数据库类型4.数据仓库 记忆要点总结 2.1.3 存储和数据库 1.存储技术 存储分类根据服务器类型分为:封闭系统的存储和开放系统的存储。封闭系统主要指大型机等服务器。开放系统指基于包括麒麟、欧拉、UNIX…

MacBook远程桌面Windows使用Microsoft Remote Desktop for Mac_亲测使用

MacBook远程桌面Windows使用Microsoft Remote Desktop for Mac_亲测使用 像Windows上有自带的远程桌面连接软件.MacBook没有自带的远程连接Windows桌面的工具,需要安装软件来实现. 像远程桌面控制软件一般有 TeamViewer、向日葵远程控制, ToDesk, Microsoft Remote Desktop f…

【ZooKeeper3、Watcher机制

本文基于 Apache ZooKeeper Release 3.7.0 版本书写 作于 2022年5月15日 17:22:11 转载请声明 演示前的ZooKeeper目录状态,只有zookeeper默认目录: 在客户端直接输入 --help 命令,可以看到以下文字: 可以看到 addWatch 命令&am…

视频桥接芯片#LT8912B适用于MIPIDSI转HDMI+LVDS应用方案,提供技术支持。

1. 概述 Lontium LT8912B MIPI DSI 转 LVDS 和 HDMI 桥接器采用单通道 MIPI D-PHY 接收器前端配置,每通道 4 个数据通道,每个数据通道以 1.5Gbps 的速度运行,最大输入带宽高达 6Gbps。 对于屏幕应用,该桥接器可解码 MIPI DSI 18bp…

【QED】斐波那契游戏

文章目录 题目思路代码复杂度分析时间复杂度空间复杂度 总结 题目 题目链接🔗 斐波那契数列指的是这样一个数列:1,1,2,3,5,8,13,21,34,55&#x…

Docker部署TeamCity来完成内部CI、CD流程

使用TeamCity来完成内部CI、CD流程 本篇教程主要讲解基于容器服务搭建TeamCity服务,并且完成内部项目的CI流程配置。至于完整的DevOps,我们后续独立探讨。 一个简单的CI、CD流程 以下分享一个简单的CI、CD流程(仅供参考)&#…

C++进阶之路---手撕“红黑树”

顾得泉:个人主页 个人专栏:《Linux操作系统》 《C从入门到精通》 《LeedCode刷题》 键盘敲烂,年薪百万! 一、红黑树的概念与性质 1.概念 红黑树,是一种二叉搜索树,但在每个结点上增加一个存储位表示结点…

大数据开发-数据仓库简介

文章目录 什么是数据仓库数据仓库基础知识数据仓库的建模方式数据仓库分层数据仓库的命名规范典型数仓系统架构 什么是数据仓库 数据仓库(Data Warehouse)是一个面向主题的、集成的、稳定的且随时间变化的数据集合,用于支持管理人员的决策 面向主题:类…

怎么做好独立站的SEO优化

随着全球贸易的蓬勃发展,越来越多的企业开始关注外贸市场,并将目光投向了外贸网站。然而,在竞争激烈的外贸市场中,如何写出吸引人的文章,以及如何优化网站以在搜索引擎中脱颖而出,成为了外贸独立网站必须面…

前端 -- 基础 表单标签 -- 表单域

表单域 # 表单域是一个包含 表单元素 的区域 在 HTML 标签中&#xff0c; <form> 标签 用于定义表单域&#xff0c; 以实现用户信息的收集和传递 简单通俗讲&#xff0c; 就是 <form> 会把它范围内的表单元素信息提交给后台&#xff08;服务器) 对于上面讲…

外贸网站文章批量生成器

随着全球贸易的不断发展&#xff0c;越来越多的企业开始关注外贸市场&#xff0c;而拥有高质量的内容是吸引潜在客户的关键之一。然而&#xff0c;为外贸网站生产大量优质的文章内容可能是一项耗时且繁琐的任务。因此&#xff0c;外贸网站文章批量生成软件成为了解决这一难题的…

MATLAB教程

目录 前言一、MATLAB基本操作1.1 界面简介1.2 搜索路径1.3 交互式命令操作1.4 帮助系统 二、MATLAB语言基础2.1 数据类型2.2 MATLAB运算2.2.1 算数运算2.2.2 关系运算2.2.3 逻辑运算 2.3 常用内部函数2.4 结构数据与单元数据 三、MATLAB程序设计3.1 M文件3.2 函数文件3.3 程序控…
最新文章