树莓派4B_OpenCv学习笔记3: 系统自动更新时间_测试CSI摄像头_安装OpenCv_4.6(未成功编译源码)_备份树莓派镜像

今日继续学习树莓派4B 4G:(Raspberry Pi,简称RPi或RasPi)

本文我只是安装了OpenCv 4.6,但编译源码失败了!有关 OpenCv 部分仅做笔记暂存!

本人所用树莓派4B 装载的系统与版本如下:

 

版本可用命令 (lsb_release -a) 查询:

系统时间自动更新_安装OpenCv_测试CSI摄像头_预装OpenCv的系统镜像分享(持续更新)

本文测试摄像头方式:是终端命令测试CSI摄像头

注意:       本文我测试的是CSI摄像头,不是USB摄像头!

最后啰嗦一嘴:  Linux /Python有关的编程问题分享中 不事先说明 自己 系统镜像 环境变量 具体环境 就发教程的都是流氓!!!

目录

树莓派自动更新系统时间:

终端命令测试CSI摄像头:

安装libcamera及其相关工具:

使用libcamera-hello命令测试摄像头:

安装OpenCv提示:

安装最新固件支持:

增大可用内存空间: 

安装Opencv、CMake、图像和视频库:

安装GStreamer:

验证GStreamer安装:

验证OpenCv的安装:

下载OpenCv源码: 

编译OpenCv源码:

备份树莓派镜像(这部分很水):

 备份系统镜像目的:

备份系统镜像步骤:

网上学习资料网址:


树莓派自动更新系统时间:

这是一个巨大的坑!

不更新系统时间  会导致很多问题报错,所以一定要设置好自动更新系统时间!

 检查系统时间:

sudo date  

 安装网络时间协议客户端,自动与网络时间服务器同步:

sudo apt install ntp   

终端命令测试CSI摄像头:

有许多网络上的教学他人使用:sudo raspi-config 来打开摄像头(如下图):

但2023年的树莓派新系统是基于debian12开发的,并且去除了picamera这个库.

所以并不能通过interface options这里来打开camera.

安装libcamera及其相关工具:

sudo apt install libcamera-apps libcamera-tools

使用libcamera-hello命令测试摄像头:

libcamera-hello

注意:

如果你使用的是SSH远程连接树莓派,可能会遇到无法运行的问题。

可以尝试直接连接显示屏和键盘,或者使用VNC远程登录来运行该命令。 

安装OpenCv提示:

 本文我只是安装了OpenCv 4.6,但编译源码失败了!有关 OpenCv 部分仅做笔记暂存!

安装最新固件支持:

执行下文的命令行进行下载并安装最新的内核,GPU 固件及应用程序。需要连接到互联网

sudo apt-get update
sudo apt-get upgrade

增大可用内存空间: 

sudo raspi-config


然后重启树莓派:

安装Opencv、CMake、图像和视频库:

如果您手上树莓派下载的操作系统版本与我一致(文首有提示),你可以参考这个提示:

将每个命令都逐个复制去执行就好了,其中有俩行命令也许会报警告,不用管它即可!

最后一行有关python安装Opencv的命令,需要先检查自己的Python环境作相应修改:

python --version
sudo apt-get install build-essential git cmake pkg-config -y
sudo apt-get install libjpeg8-dev -y
sudo apt-get install libtiff5-dev -y
sudo apt-get install libjasper-dev -y
sudo apt-get install libpng12-dev -y
sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev -y
sudo apt-get install libgtk2.0-dev -y
sudo apt-get install libatlas-base-dev gfortran -y
sudo apt-get install libcanberra-gtk*
sudo apt-get install libxvidcore-dev libx264-dev
sudo apt-get install libgtk-3-dev
sudo python3.7 -m pip install opencv-python

但我最后一行是这俩句命令:

sudo apt update  
sudo apt install python3-opencv

安装GStreamer:

(这是为了以后使用USB摄像头做的准备,CSI摄像头用不到)

sudo apt-get update  
sudo apt-get install gstreamer1.0-tools  
sudo apt-get install libgstreamer1.0-0 libgstreamer1.0-dev  
sudo apt-get install gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly  
# 如果需要处理音频,还可以安装音频相关的插件  
sudo apt-get install gstreamer1.0-alsa

验证GStreamer安装:

GStreamer是否安装成功,并且不关心具体的插件列表

which gst-inspect-1.0

GStreamer是否安装成功,并且关心具体的插件列表:

gst-inspect-1.0

验证OpenCv的安装:

Python脚本如下:保存为.py文件交给终端运行:

import cv2  print(cv2.__version__)

结果如下:

这里说明我是将这个脚本命名为Opencv_V.py了:

然后OpenCv的版本是4.6.0

以下步骤需要在OpenCv验证成功有版本号后进行:

下载OpenCv源码: 

你也可以使用电脑加速GitHub 下载后 传给树莓派 对应目录(具体目录看下方命令1~2行)

这个源码版本要与你的OpenCv版本一致,因此上部分会去验证OpenCv安装!

以下命令逐行输入执行就好了!

cd ~/
mkdir opencv
cd opencv
wget -O opencv.zip https://github.com/opencv/opencv/archive/4.6.0.zip
wget -O opencv_contrib.zip https://github.com/opencv/opencv_contrib/archive/4.6.0.zip

为了稳定军心,还是将我的实际操作贴出截图吧:

编译OpenCv源码:

我是止步于此了...

备份树莓派镜像(这部分很水):

 本人所用树莓派4B 装载的系统与版本如下:

 版本可用命令 (lsb_release -a) 查询:

这部分写的时候并未自己实践过,慎看!

 备份系统镜像目的:

  1. 数据安全与恢复
    • 避免数据丢失:树莓派可能被用于各种项目,包括重要的数据库、网站服务器或自动化任务。备份镜像意味着在硬件故障、误操作或恶意攻击导致数据丢失时,可以快速恢复。
    • 快速恢复:相比于重新安装操作系统和所有应用程序,从备份的镜像恢复可以节省大量时间。
  2. 迁移与复制
    • 硬件更换:如果计划更换树莓派的硬件(如从较旧的型号升级到新的型号),使用备份的镜像可以确保在新的硬件上快速恢复相同的配置。
    • 多设备部署:如果你有多个树莓派,并且希望它们都有相同的配置,使用备份的镜像可以方便地进行批量部署。
  3. 分享与学习
    • 教程与示例:备份的镜像可以作为一个教程或示例,展示如何配置树莓派以完成特定任务。这对于学习和教学非常有用。
    • 社区贡献:分享你的镜像到树莓派社区可以帮助其他用户更快地设置他们的项目,并可能激发新的想法和协作。
  4. 定制与优化
    • 个性化配置:备份的镜像包含了你对树莓派的所有定制和优化,如特定的系统设置、优化的软件包或自定义的脚本。
    • 节省时间:如果你经常需要为新的项目设置树莓派,并且每次都进行相同的定制和优化,备份的镜像可以节省大量时间。
  5. 故障排查与调试
    • 重现问题:如果你遇到了一个难以解决的问题,并且怀疑是某个特定的配置或软件包引起的,你可以使用备份的镜像在另一个树莓派上重现问题,以便更容易地找到解决方案。

备份系统镜像步骤:

git clone https://github.com/nanhantianyi/rpi-backup.git && cd rpi-backup

然后输入第二条指令就能进行备份了:

其中的 pibackup 可以改为其余名称

sudo ./back.sh pibackup.img

感觉这种方法是要保证SD卡容量足够大的.....

另外还看到过使用Win32DiskImager软件全量备份的,但大小到达了接近30G,也就是她将你的未使用的内存也一起进行备份了.....

还见过安装Ubuntu虚拟机备份的,也是十分麻烦......

网上学习资料网址:

树莓派各个系统简单介绍:

如何选择适合自己的树莓派系统_ubuntu_树莓派大佬-华为云开发者联盟

最简单的树莓派安装opencv教程_哔哩哔哩_bilibili

关于树莓派在interface options中找不到camera的情况_树莓派interface没有相机-CSDN博客

 在树莓派部署Yolov5_yolov5树莓派部署-CSDN博客

树莓派4B 安装opencv 及实时人脸检测-raspberry pi OS version : 2021/10/30 , Based on Debian version 11 (bullseye) 

https://zhuanlan.zhihu.com/p/435583767

树莓派系统压缩备份实操_如何备份树莓派系统-CSDN博客

制作树苺派/香橙派(orangepi) SD卡备份镜像_树苺派系统备份与还原_orange pi 香橙派emmc系统备份方法-CSDN博客

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python ---使用python操作mysql ---> pymysql

本章内容: 1:能够完成从MySQL中读取出数据; [重点] 查询: execute()、fetchall() 2:能够将数据写入MySQL数据库。 [重点] 插入数据: execute() sql insert into xxx [掌握]pymysql模块的安装 目标:了解如何安装pymysql模块? 当要使用Python和M…

怎么避免电脑磁盘数据泄露?磁盘数据保护方法介绍

电脑磁盘是电脑存储数据的基础,而为了避免磁盘数据泄露,我们需要保护电脑磁盘。下面我们就来了解一下磁盘数据保护的方法。 磁盘加密 磁盘加密可以通过专业的加密算法来加密保护磁盘数据,避免电脑磁盘数据泄露。在这里小编推荐使用文件夹只读…

【 k8s 标签与选择器 】

一、标签(Label) 用于给Kubernetes资源(如Pod、Service、Deployment等)打上自定义的键值对标识。以便更方便地管理和操作这些资源。 在各类资源的 metadata.labels 中进行配置。可以通过改配置文件的方式打标签。 apiVersion: v1…

python记录之元组

一、元组简介 元组(Tuple)是Python中的一个内置数据类型,用于存储一系列不可变(immutable)的元素。与列表(List)相似,元组也是有序的集合,但元组一旦创建就不能被修改&a…

10分钟Apache Kylin快速入门

Apache Kylin的入门教程可以分为以下几个主要步骤,下面将按照这些步骤进行详细的解释和归纳: 一、环境准备 操作系统:Kylin推荐在Linux系统上运行,尤其是CentOS 6.5或Ubuntu 16.0.4。Java环境:需要安装Java 1.8或更高…

Axios 源码中拦截器的实现

今天构建了一个新项目的架子,想着自己文章里好像没有对Axios源码的文章。今天对其中响应和请求的拦截器的Axios源码记录一下 Axios 的拦截器实现基于 Axios 的核心原理,即 Axios 实例是一个包含请求和响应拦截器堆栈的对象。当发出请求或接收响应时&…

E: Unable to locate package ros-kinetic-usb-cam

mkdir -p USB/src && cd USB/src catkin_init_workspace git clone https://github.com/bosch-ros-pkg/usb_cam.git cd .. catkin_make source devel/setup.bash echo "source ~/USB/devel/setup.bash" >> ~/.bashrc source ~/.bashrc 编译过程报错&…

yum进阶——配置yum源

一、yum概述 yum的主要作用 解决依赖关系 自动安装 自动升级 各个系统中的安装软件服务 CentOS7 :yum -y 安装 rpm包 CentOS8 :dnf(yum的升级版), Ubantu(22.04) :apt -y 安装,安装源为/…

对换与覆盖

目录 多道程序环境下的对换技术 对换技术的基本思想 对换技术的目标 对换技术的实现 对换技术的挑战 对换技术的改进 对换区的管理 对换区的分配 对换区的位置 对换区的大小 对换策略 多层次对换区管理 进程的换出与换入 1. 换出(Swapping Out&#xf…

vue面试题2-根据以下问题回答

以下是针对提供的关于Vue的问题的回答: Vue的基本原理: Vue.js是一个流行的JavaScript框架,用于构建用户界面和单页面应用。其基本原理包括响应式数据、模板、组件系统、指令、生命周期钩子和虚拟DOM。 双向数据绑定的原理: Vue通…

【ROS2大白话】四、ROS2非常简单的传参方式

系列文章目录 【ROS2大白话】一、ROS2 humble及cartorgrapher安装 【ROS2大白话】二、turtlebot3安装 【ROS2大白话】三、给turtlebot3安装realsense深度相机 【ROS2大白话】四、ROS2非常简单的传参方式 文章目录 系列文章目录前言一、launch文件传参的demo1. 编写launch.py文…

MySQL8.3日志文件占用硬盘空间过大,释放方法

执行 reset master; 即可解决问题,我写了个任务,定期执行 执行后目录效果

基于python flask的旅游景点评论数据可视化大屏实现,包括数据采集

背景 在旅游行业中,了解游客对旅游景点的评论和评价对于景点管理和市场营销至关重要。通过采集旅游景点评论数据并进行可视化分析,可以帮助景点管理者更好地了解游客对景点的看法和体验,发现优劣势,优化服务和提升用户满意度。基…

Web3的应用场景分析

Web3,即基于区块链技术的去中心化互联网,正逐渐改变我们与数字世界的互动方式。以下是Web3的一些主要应用场景。Web3技术正在各个领域推动创新,创造更多透明、开放和去中心化的解决方案,为用户带来更高的自主权和安全性。北京木奇…

使用 Vue 和 Leaflet 实现地图撒点功能

在现代 Web 应用中,地图功能变得越来越重要。Vue.js 结合 Leaflet 可以轻松实现复杂的地图功能。本文将介绍如何使用 Vue 和 Leaflet 实现地图撒点功能,展示一组数据点在地图上的分布情况。 安装 Leaflet 安装 Leaflet 库及其对应的 Vue 插件&#xff1…

手把手制作Vue3+Flask全栈项目 全栈开发之路实战篇 问卷网站(五)数据处理

全栈开发一条龙——前端篇 第一篇:框架确定、ide设置与项目创建 第二篇:介绍项目文件意义、组件结构与导入以及setup的引入。 第三篇:setup语法,设置响应式数据。 第四篇:数据绑定、计算属性和watch监视 第五篇 : 组件…

性能级NVMe全闪存储系统开箱评测

近日,我们对一款备受瞩目的Infortrend普安科技推出更高性能的存储产品——性能级NVMe全闪存储系统GS 5024UE 进行评测,这款设备搭载第五代IntelXeon处理器,性能达到50GB/s、1.3M IOPS与0.3毫秒延迟。下面对此款设备从外观、配置、产品性能及适…

瑞鑫RK3588 画中画 OSD 效果展示

这些功能本来在1126平台都实现过 但是迁移到3588平台之后 发现 API接口变化较大 主要开始的时候会比较费时间 需要找到变动接口对应的新接口 之后 就比较好操作了 经过几天的操作 已实现 效果如下

ThinkPHP发邮件配置教程?群发功能安全吗?

ThinkPHP发邮件的注意事项?如何优化邮件发送的性能? 无论是用户注册、密码重置还是消息提醒,发送邮件都是一个常见的需求。AokSend将详细介绍如何在ThinkPHP框架中配置和发送邮件,帮助开发者轻松实现邮件功能。 ThinkPHP发邮件&…

【Linux驱动】【手把手配置3568寄存器】点亮RK3568的一颗LED

【硬件】 3568的LED9 :引脚 GPIO0 B7 【配置GPIO的复用】 找配置复用关系的寄存器基地址、偏移地址、对应配置的GPIO。 查找:io -r -4 0xfdc2000c 系统设置的默认值 结果为1,意思是只有bit 0是1,其他全都为0。所以系统默认就是…