树莓派配置Qt+OpenCV

本次教程使用的树莓派镜像:树莓派镜像带图像界面下载

Qt的安装:

在命令行依次输入以下命令安装Qt:

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install qtbase5-dev qtchooser
sudo apt-get install qt5-qmake qtbase5-dev-tools
sudo apt-get install qtcreator
sudo apt-get install qtdeclarative5-dev
sudo apt-get install clang

 OpenCV的安装:

 查看自己的树莓派系统版本:

uname -a

 

比如我的是armv7l

查看python3版本

python3 --version

 先在电脑下载opencv-python 和 opencv-contrib-python 库,再传输到树莓派进行编译;

opencv-python地址:https://www.piwheels.org/project/opencv-python/

cp37表示支持python3.7,armv7l指树莓派系统版本。根据自己情况需求下载。 

 opencv-contrib-python地址:piwheels - opencv-contrib-python

同理下载opencv-contrib

 将这两个源码下载完成后,传输到树莓派新建的文件夹里面。

 

 安装构建OpenCV的相关工具,然后再编译OpenCV:

# 安装build-essential、cmake、git和pkg-config
sudo apt-get install build-essential cmake git pkg-config
# 安装jpeg格式图像工具包
sudo apt-get install libjpeg8-dev
# 安装tif格式图像工具包
sudo apt-get install libtiff5-dev
# 安装JPEG-2000图像工具包
sudo apt-get install libjasper-dev
# 安装png图像工具包
sudo apt-get install libpng12-dev
# 安装视频I/O包
sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev
# 安装gtk2.0以及相关包
sudo apt-get install libgtk2.0-dev
# 优化函数包
sudo apt-get install libatlas-base-dev gfortran
sudo apt-get install build-essential pkg-config libavcodec-dev libavformat-dev libswscale-dev

 然后进入 OpenCV 压缩包所在路径,解压 OpenCV:

unzip opencv-4.5.3.zip

进入解压后的 opencv 文件夹

cd opencv-4.5.3

新建 build 文件夹并进入

mkdir build
cd build

设置 cmake 参数,安装目录默认各部分分别安装在 /usr/local/ 路径下的 include、bin、lib 三个文件夹下。

sudo cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..

 我就直接不设置路径了,默认路径即可:

sudo cmake -D CMAKE_BUILD_TYPE=Release ..

然后编译:

sudo make -j2

安装:

sudo make install

更新动态链接库:

sudo ldconfig

 开启树莓派摄像头:

进入设置:

sudo raspi-config

选择 Interfacing Options
然后选择 Camera
选择 Yes ,即打开摄像头功能。
然后在终端输入:

sudo nano /etc/modules-load.d/rpi-camera.conf

打开摄像头配置文件
在里面添加一行:

bcm2835-v4l2

 保存重启,即可通过 OpenCV 读取摄像头使用。

通过Qt测试:

新建Qt工程,在.pro文件里面加入OpenCV路径:

INCLUDEPATH += /usr/local/include/opencv4 \/usr/local/include/opencv4/opencv2LIBS += /usr/local/lib/libopencv_calib3d.so \/usr/local/lib/libopencv_core.so \/usr/local/lib/libopencv_features2d.so \/usr/local/lib/libopencv_flann.so \/usr/local/lib/libopencv_highgui.so \/usr/local/lib/libopencv_imgcodecs.so \/usr/local/lib/libopencv_imgproc.so \/usr/local/lib/libopencv_ml.so \/usr/local/lib/libopencv_objdetect.so \/usr/local/lib/libopencv_photo.so \/usr/local/lib/libopencv_stitching.so \/usr/local/lib/libopencv_videoio.so \/usr/local/lib/libopencv_video.so \

 

 编写好其他代码,效果如图:

 参考文章:

树莓派 4B 安装 QT 以及 OpenCV_树莓派4b安装qt-CSDN博客

基于树莓派4B的OpenCV安装与简单应用(真速通版)_树莓派opencv-CSDN博客

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

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

某花顺爬虫逆向分析

目标网站: aHR0cHM6Ly9xLjEwanFrYS5jb20uY24v 一、抓包分析 携带了cookie,每次请求的cookie都不一样,且不携带cookie不能成功返回数据 hook Cookie代码 _cookie document.cookie Object.defineProperty(document, cookie, {get(){con…

分子动力学工具篇一:TAB与moltemplate的安装与使用

文章目录 1. 介绍1.ATB (Automated Topology Builder)2. Moltemplate 2. 展出讲讲怎么使用ATB3. 展开讲讲怎么安装和使用moltemplate 1. 介绍 1.ATB (Automated Topology Builder) ATB网站网址(需要用学术邮箱注册) ATB (Automated Topology Builder) …

【数据结构】经典题

所以,语句 x; 的语句频度为:n(n1)(n2)/6 选C 临时变量 t:只使用了一个额外的变量来存储交换的值。 没有使用额外的数组:所有的操作都是在原数组 a 上进行的。 因此,算法的空间复杂度是常数级别的&#xff0…

Java中List、ArrayList与顺序表

List、ArrayList与顺序表 List什么是List常用方法介绍List的使用 ArrayList与顺序表线性表顺序表接口的实现 ArrayList简介ArrayList的使用ArrayList的构造ArrayList的常见操作ArrayList的遍历ArrayList的扩容机制 ArrayList的具体使用杨辉三角简单的洗牌算法 ArrayList的问题及…

某招标公告公示搜索引擎爬虫逆向

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 前言 网站:aHR0cHM6Ly9jdGJwc3AuY29tLyMv 提示:以下是本篇文章正文内容,下面案例可供参考 一、抓包分析 请求参数和返回数据都进行了加…

AIGC7: 高通骁龙AIPC开发者沙龙过程记录A

图中是一座高耸的宫殿。 就像AI的出现,慢慢初现端倪,头角峥嵘。 背景 一直以来都比较关注AI的发展,有幸再一次参加异常AI的盛会。 从我的角度看。 高通是一家生产芯片的公司,国内的小米,荣耀,Oppo , Vi…

SGFormer:简化并增强Transformer以应对大型图表示的挑战

人工智能咨询培训老师叶梓 转载标明出处 大型图数据的表示学习面临的主要挑战是如何在有限的计算资源下,有效地捕捉节点间的依赖关系并生成有用的节点表示。现有的基于Transformer的方法通常采用多层多头注意力机制,这虽然能够捕获全局信息,…

fasterRCNN模型实现飞机类目标检测

加入会员社群,免费获取本项目数据集和代码:点击进入>> 关于python哥团队 我们是一个深度学习领域的独立工作室。团队成员有:中科大硕士、纽约大学硕士、浙江大学硕士、华东理工博士等,曾在腾讯、百度、德勤等担任算法工程师…

13.面试算法-字符串常见算法题(二)

1. 字符串反转专题 我们知道反转是链表的一个重要考点,反转同样是字符串的重要问题。常见问题也就是在LeetCode中列举的相关题目: 【1】LeetCode344. 反转字符串:编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符…

【多维动态规划】64. 最小路径和(面试真题+面试官调整后的题目)

64. 最小路径和 难度:中等 力扣地址:https://leetcode.cn/problems/minimum-path-sum/description/ 1. 原题以及解法 1.1 题目 给定一个包含非负整数的 m x n 网格 grid ,请找出一条从左上角到右下角的路径,使得路径上的数字总和…

Redis——redispluspls库list及set类型相关接口使用

文章目录 list 类型相关接口lpush和lrangerpushlpop和rpopblpop和brpopllen set 类型相关接口sadd和smemberssismemberscardspopsinstersinterstore list 类型相关接口 lpush和lrange void lrange_lpush(sw::redis::Redis& redis){std::cout<<"lpush 和 lrang…

Windows控制台中文乱码怎么解决?(nes,一些exe窗口程序)

当我们打开一些Window窗口程序出现中文乱码时&#xff0c;可以像这样设置一下&#xff01; 1、打开 设置-->时间和语言-->语言和区域 2、 管理语言设置 3、更改系统区域设置 4、取消勾选 Beta版&#xff1a;UTF-8 5、效果演示 这下中文不乱码了&#xff01;

多维系统下单点登录之生产实践(2种方案3种实践)

1、基于 Cookie 跨域与分布式 Session 的技术实践 1、XXL-SSO 整体价格 2、实现原理剖析 首次请求 第二次请求 跨域请求 注销流程 3、案例演示 首次登陆跳转至统一认证中心 访问&#xff1a;http://xxlssoclient1.com:8081/ 登陆成功&#xff0c;写入 Cookie&#…

MySQL record 06 part

事务、存储过程 事务&#xff1a; MySQL的同步&#xff0c;同步是指 together done&#xff0c;要么一起前进&#xff0c;要么一起后退的意思。 注意&#xff0c;回滚 rollback 对已经提交 commit 的数据是无效的&#xff0c;也就是说&#xff0c;只能对没有被提交 commit …

【iOS】KVC的学习

【iOS】KVC的学习 文章目录 【iOS】KVC的学习前言KVC定义KVC设值KVC取值KVC使用keyPathKVC处理异常处理nil异常 KVC的一些应用修改动态的设置值实现高阶的消息传递 小结 前言 笔者简单学习了有关与KVC的相关内容&#xff0c;这里写一篇博客简单介绍一下相关内容。 KVC 定义 KV…

saas收银系统源码

1. 线下门店多样化收银 ①门店有社区小店、也会有大店&#xff0c;甚至还会有夫妻店&#xff0c;同时还要有Windows版和安卓版&#xff0c;需满足不同门店的收银需求。 ②支持Windows收银、安卓收银、无人自助收银、聚合码收银等&#xff0c;支持ai智能称重、收银称重一体机等…

『功能项目』QFrameWorkBug拖拽功能【66】

我们打开上一篇65QFrameWork道具栏物品生成的项目&#xff0c; 本章要做的事情是实现物品的拖拽功能 修改脚本&#xff1a;UISlot.cs 实现接口后编写脚本&#xff1a; using UnityEngine; using UnityEngine.EventSystems; using UnityEngine.UI; namespace QFramework {publi…

Netty+HTML5+Canvas 网络画画板实时在线画画

采用Html5的canvas做前端画画板&#xff0c;发送数据到后端Netty服务&#xff0c;实时转发笔迹数据&#xff0c;在线实时同步画笔轨迹&#xff0c;单击绿色小方块&#xff0c;保存画板的图片 页面&#xff1a; <!-- index.html --><!DOCTYPE html> <html> …

[Linux]:信号(下)

✨✨ 欢迎大家来到贝蒂大讲堂✨✨ &#x1f388;&#x1f388;养成好习惯&#xff0c;先赞后看哦~&#x1f388;&#x1f388; 所属专栏&#xff1a;Linux学习 贝蒂的主页&#xff1a;Betty’s blog 1. 信号的阻塞 1.1 基本概念 信号被操作系统发送给进程之后&#xff0c;进程…

机器学习05-聚类算法(python)SC(轮廓系数)详解

# 导入必要的库 from sklearn.cluster import KMeans # 导入 KMeans 聚类算法 import matplotlib.pyplot as plt # 导入 matplotlib 用于绘图 from sklearn.datasets import make_blobs # 导入 make_blobs 用于生成模拟数据 from sklearn.metrics import silhouette_score …