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

树莓派4B使用opencv读取摄像头配置指南

本文自己记录,给我们lab自己使用,其他朋友们不一定完全适配,请酌情参考。

一. 安装opecnv

  1. 我们的树莓派4B默认是armv7l架构,安装的miniconda最新的版本 Miniconda3-latest-Linux-armv7l.sh 仍然是python3.4几乎无法使用,所以不要使用 miniconda

    如果你已经不幸安装了,那么参考
    树莓派上卸载miniconda

  2. 使用自带的 python3.7 即可,正式开始安装opencv以及各种包之前,需要注意:
    要用系统python3对应的pip3来安装!!!
    避免出现树莓派明明安装了opencv和numpy,却找不到的问题,提前看好python3和pip3的位置,可以参考:
    树莓派明明安装了opencv和numpy,系统却找不到

    然后正式开始安装opencv的时候,参考下面基本就可以安装好了
    树莓派4B–OpenCV安装依赖问题踩坑

  3. 然后测试opecv是否安装成功并且能够图形化显示,
    若果使用远程ssh的话(windows推荐mobaxterm,ubuntu强烈推荐windterm),本地记得配置好x11转发,
    还记得用python3运行

    import cv2
    f = cv2.imread("cat.jpg")
    cv2.imshow("cat", f)
    cv2.waitKey(0)
    

二. 尝试打开摄像头

  1. 新拿到的树莓派需要需要配置camera开关,确认摄像头模块已经启用:
    在终端中运行:

    sudo raspi-config
    

    在菜单中找到 Interface Options,选择 Camera,并启用。
    重启树莓派:

     sudo reboot
    
  2. 测试摄像头状态

    ls /dev/video*  
    

    如果有 video0 就说明摄像头没有问题

  3. 这时候大概还是不行,杀掉被占用摄像头的进程

    top 命令查看当前进程,将openflexure 的进程id关掉,如下面,openfle+的id是518,
    sudo kill -9 518

    pi@microscope:~ $ topPID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND1496 pi        20   0 1039520 772184 599632 R 157.9  20.9   2514:14 openflexure-con965 pi        20   0  389832  90232  65928 R 105.6   2.4   1700:09 openflexure-con518 openfle+  20   0  328536  74160  32504 S  13.6   2.0 210:55.58 python561 root      20   0  155964  58472  30404 S   9.3   1.6 134:05.59 Xorg971 pi        20   0  218376  41156  34816 S   6.6   1.1 114:46.47 openflexure-con931 pi        20   0  966832  92484  67448 S   5.3   2.5  99:04.76 openflexure-con
    pi@microscope:~ $ sudo kill -9 518
    
  4. 测试摄像头是不是ok了
    使用这个命令测试摄像头是否正常工作:

    raspivid -t 5000
    

    这会显示摄像头画面 5 秒钟。如果正常工作,说明硬件无问题。
    如果ssh远程连接,你本地不一定会显示摄像头画面,但是远端树莓派实际上应该会显示
    你本地表现则为停顿5秒,然后运行结束。

  5. 使用opencv测试摄像头是否ok,记得用python3运行

    import cv2cap = cv2.VideoCapture(0)
    if not cap.isOpened():print("无法打开摄像头")
    else:print("摄像头已打开")

三. 其他说明

  1. 如果不显示图形界面,现在应该不会遇见了, 因为我之前为了调试摄像头显存设置为512M,改回256M就好了

  2. 如果敲python查看摄像头命令之后卡住了,reboot就好了

  3. 有其他读取摄像头不成功的问题可以参考 在树莓派上使用自带的摄像头采集视频

相关文章:

树莓派4B使用opencv读取摄像头配置指南

本文自己记录,给我们lab自己使用,其他朋友们不一定完全适配,请酌情参考。 一. 安装opecnv 我们的树莓派4B默认是armv7l架构,安装的miniconda最新的版本 Miniconda3-latest-Linux-armv7l.sh 仍然是python3.4几乎无法使用&#xff…...

【AI日记】24.12.03 kaggle 比赛 Titanic-6

【AI论文解读】【AI知识点】【AI小项目】【AI战略思考】【AI日记】 工作 内容:学习 kaggle 入门比赛 Titanic - Machine Learning from Disaster时间:7 小时评估:继续 读书 书名:美丽新世界时间:1 小时阅读原因&…...

Linux中的常用基本指令(下)

Linux常用基本指令 Linux中的基本指令12.head指令13.tail指令简单解释重定向与管道(重要) 14.date指令(时间相关的指令)15.cal指令(不重要)16.find指令(灰常重要)17.grep指令(重要)18.which指令和alias指令19.zip/unzip指令:20.tar指令(重要&…...

python笔记3

复习及总结 python的软件安装及简单使用——python3.31 pycharm python的输出:print() 简单(直接)输出 print()输出到指定文件 fpopen(rC:\Users\M15R3\Desktop\1.txt,a) print("334…...

电商营销活动-抽奖业务

目录 一、抽奖系统的核心功能 二、抽奖系统的业务逻辑 三、抽奖系统的业务优势 四、抽奖系统的业务注意事项 电商营销活动中的抽奖系统业务,是一种通过设立抽奖活动来吸引用户参与、提升用户活跃度和转化率的营销手段。以下是对电商营销活动抽奖系统业务的详细解…...

利用 Redis 与 Lua 脚本解决秒杀系统中的高并发与库存超卖问题

1. 前言 1.1 秒杀系统中的库存超卖问题 在电商平台上,秒杀活动是吸引用户参与并提升销量的一种常见方式。秒杀通常会以极低的价格限量出售某些商品,目的是制造紧迫感,吸引大量用户参与。然而,这种活动的特殊性也带来了许多技术挑…...

《山海经》:北山

《山海经》:北山 北山一经单狐山求如山(水马:形状与马相似,滑鱼:背部红色)带山(䑏疏:似马,一只角,鵸鵌:状乌鸦五彩斑斓,儵鱼&#xff…...

React基础教程(12):useRef的使用

12、useRef useRef 是 React 中的一个 Hook,主要用于访问和操作 DOM 元素以及保存组件的可变引用值。它是一个工具,用来避免重新渲染组件的情况下保持某些状态或引用的值。 使用场景: 使用场景 访问 DOM 元素 当需要直接操作某个 DOM 元素(如聚焦、滚动等)时,可以使用…...

释放超凡性能,打造鸿蒙原生游戏卓越体验

11月26日在华为Mate品牌盛典上,全新Mate70系列及多款全场景新品正式亮相。在游戏领域,HarmonyOS NEXT加持下游戏的性能得到充分释放。HarmonyOS SDK为开发者提供了软硬协同的系统级图形加速解决方案——Graphics Accelerate Kit(图形加速服务…...

Linux--Debian或Ubuntu上扩容、挂载磁盘并配置lvm

一、三块12TB组RAID 5 可用容量约24TB 二、安装LVM工具(已安装请忽略) sudo apt-get install lvm2二、查看可用磁盘 sudo lsblk 或者 sudo fdisk -l三、创建物理卷(PV) 选中刚做的磁盘组 sudo pvcreat /dev/sdb1四、创建卷组…...

我谈冈萨雷斯对频域滤波的误解——快速卷积与频域滤波之间的关系

在Rafael Gonzalez和Richard Woods所著的《数字图像处理》中,Gonzalez对频域滤波是有误解的,在频域设计滤波器不是非得图像和滤波器的尺寸相同,不是非得在频域通过乘积实现。相反,FIR滤波器设计都是构造空域脉冲响应。一般的原则是…...

Leetcoed:3274

1,题目 2,思路 把俩个字符串坐标拆开比较二进制, 如a1与b2 ,a与b比较为false ,1与2比较为false,最后俩个结果比较返回true 3,代码 class Solution3274 {public boolean checkTwoChessboards(String str1, String str2) {return (str1.char…...

LabVIEW实现串口调试助手

目录 1、串口通信原理 2、硬件环境部署 3、串口通信函数 4、程序架构 5、前面板设计 6、程序框图设计 本专栏以LabVIEW为开发平台,讲解物联网通信组网原理与开发方法,覆盖RS232、TCP、MQTT、蓝牙、Wi-Fi、NB-IoT等协议。 结合实际案例,展示如何利用LabVIEW和常用模块实现物联…...

ASP.NET Core项目中使用SqlSugar连接多个数据库的方式

之前学习ASP.NETCore及SqlSugar时都是只连接单个数据库处理数据&#xff0c;仅需在Program文件中添加ISqlSugarClient的单例即可&#xff08;如下代码所示&#xff09;。 builder.Services.AddSingleton<ISqlSugarClient>(s > {SqlSugarScope sqlSugar new SqlSugar…...

leetcode hot100【Leetcode 72.编辑距离】java实现

Leetcode 72.编辑距离 题目描述 给定两个单词 word1 和 word2&#xff0c;返回将 word1 转换为 word2 所使用的最少操作数。 你可以对一个单词执行以下三种操作之一&#xff1a; 插入一个字符删除一个字符替换一个字符 示例 1: 输入: word1 "horse", word2 &…...

【开源免费】基于Vue和SpringBoot的服装生产管理系统(附论文)

博主说明&#xff1a;本文项目编号 T 066 &#xff0c;文末自助获取源码 \color{red}{T066&#xff0c;文末自助获取源码} T066&#xff0c;文末自助获取源码 目录 一、系统介绍二、演示录屏三、启动教程四、功能截图五、文案资料5.1 选题背景5.2 国内外研究现状5.3 可行性分析…...

Android13 允许桌面自动旋转

一&#xff09;需求-场景 Android13 实现允许桌面自动旋转 Android13 版本开始后&#xff0c;支持屏幕自动旋转&#xff0c;优化体验和兼容性&#xff0c;适配不同屏幕 主界面可自动旋转 二&#xff09;参考资料 android framework13-launcher3【06手机旋转问题】 Launcher默…...

异常知识及其使用

异常的简单概念 在C中&#xff0c;异常处理是一种机制&#xff0c;用于处理程序运行时发生的意外情况。它允许程序在发生错误时&#xff0c;将控制权转移到一个专门的代码块&#xff0c;而不是让程序直接崩溃。C的异常处理机制包括以下几个关键概念&#xff1a; throw 用途&…...

Spark常问面试题---项目总结

一、数据清洗&#xff0c;你都清洗什么&#xff1f;或者说 ETL 你是怎么做的&#xff1f; 我在这个项目主要清洗的式日志数据&#xff0c;日志数据传过来的json格式 去除掉无用的字段&#xff0c;过滤掉json格式不正确的脏数据 过滤清洗掉日志中缺少关键字段的数据&#xff…...

哈希及其模拟实现

1.哈希的概念 顺序结构以及平衡树中&#xff0c;元素的关键码与其存储位置之间没有对应的关系。因此&#xff0c;在查找一个元素时&#xff0c;必须要经过关键码的多次比较。顺序查找的时间复杂度为O(N)&#xff0c;平衡树中为树的高度&#xff0c;即O(log_2 N)&#xff0c;搜…...

Day 32 动态规划part01

今天正式开始动态规划! 理论基础 无论大家之前对动态规划学到什么程度,一定要先看 我讲的 动态规划理论基础。 如果没做过动态规划的题目,看我讲的理论基础,会有感觉 是不是简单题想复杂了? 其实并没有,我讲的理论基础内容,在动规章节所有题目都有运用,所以很重要!…...

【娱乐项目】竖式算术器

Demo介绍 一个加减法随机数生成器&#xff0c;它能够生成随机的加减法题目&#xff0c;并且支持用户输入答案。系统会根据用户输入的答案判断是否正确&#xff0c;统计正确和错误的次数&#xff0c;并显示历史记录和错题记录。该工具适合用于数学练习&#xff0c;尤其适合练习基…...

XRP 深度解析:从技术到 Meme 币交易指南

撰文&#xff1a;Ignas | DeFi Research 编译&#xff1a;Yuliya&#xff0c;PANews 本文来源Techub News:XRP 深度解析&#xff1a;从技术到 Meme 币交易指南 在当前加密货币市场&#xff0c;一个令人瞩目的现象正在上演&#xff1a;XRP 在短短一个月内暴涨 3.5 倍&#xf…...

机器学习周志华学习笔记-第13章<半监督学习>

机器学习周志华学习笔记-第13章&#xff1c;半监督学习&#xff1e; 卷王&#xff0c;请看目录 13半监督学习13.1 生成式方法13.2 半监督SVM13.3 基于分歧的方法13.4 半监督聚类 13半监督学习 前面我们一直围绕的都是监督学习与无监督学习&#xff0c;监督学习指的是训练样本包…...

【MySql】navicat连接报2013错误

navicat连接mysql报2013错误 报错信息1、检验Mysql数据库是否安装成功2、对Mysql的配置文件进行修改配置2.1、找到配置文件2.2、Linux下修改配置文本 3、连接进入mysql服务4、在mysql下执行授权命令 报错信息 Navicat连接mysql报2013错误 2013-Lost connection to MYSQL serve…...

【微服务】Docker

一、Docker基础 1、依赖的兼容问题&#xff1a;Docker允许开发中将应用、依赖、函数库、配置一起打包&#xff0c;形成可移植镜像Docker应用运行在容器中&#xff0c;使用沙箱机制&#xff0c;相互隔离。 2、如何解决开发、测试、生产环境有差异的问题&#xff1a;Docker镜像…...

renderExtraFooter 添加本周,本月,本年

在 Ant Design Vue 中&#xff0c;a-date-picker 组件提供了一个 renderExtraFooter 属性&#xff0c;可以用来渲染额外的页脚内容。你可以利用这个属性来添加“本周”、“本月”和“本年”的按钮。下面是如何在 Vue 2 项目中实现这一功能的具体步骤&#xff1a; 1.确保安装了…...

警惕开源信息成为泄密源头

文章目录 前言一、信息公开需谨慎1、警惕采购招标泄密。2、警惕信息公开泄密。3、警惕社交媒体泄密。 二、泄密风险需严防1、健全制度&#xff0c;明确责任。2、加强管控&#xff0c;严格审查。3、提高意识&#xff0c;谨言慎行。 前言 大数据时代&#xff0c;信息在网络空间发…...

密码学和CA证书

参考视频 一. 公钥私钥的理解 我们提到的使用公钥私钥进行加密解密只是一种口头表达方式&#xff0c;准确来说应该是公钥和私钥通过加密 算法生成&#xff0c;也需要通过配合加密算法进行解密。而不是直接用公钥和私钥进行加密解密。 二. 对称加密和非对称加密算法 1. 非对…...

Python 入门教程(2)搭建环境 | 2.4、VSCode配置Node.js运行环境

文章目录 一、VSCode配置Node.js运行环境1、软件安装2、安装Node.js插件3、配置VSCode4、创建并运行Node.js文件5、调试Node.js代码 一、VSCode配置Node.js运行环境 1、软件安装 安装下面的软件&#xff1a; 安装Node.js&#xff1a;Node.js官网 下载Node.js安装包。建议选择L…...

Nginx Web服务器管理、均衡负载、访问控制与跨域问题

Nginx Web 服务器的均衡负载、访问控制与跨域问题 Nginx 的配置 1. 安装Nginx 首先安装Nginx apt install nginx -ycaccpurgatory-v:~$ sudo apt install nginx [sudo] password for cacc: Reading package lists... Done Building dependency tree... Done Reading state i…...

排序学习整理(2)

上集回顾 排序学习整理&#xff08;1&#xff09;-CSDN博客 2.3 交换排序 交换排序的基本思想是&#xff1a;根据序列中两个记录键值的比较结果&#xff0c;交换这两个记录在序列中的位置。 特点&#xff1a; 通过比较和交换操作&#xff0c;将键值较大的记录逐步移动到序列…...

【前端】将vue的方法挂载到window上供全局使用,也方便跟原生js做交互

【前端】将vue的方法挂载到window上供全局使用&#xff0c;也方便跟原生js做交互 <template><div><el-button click"start">调用方法</el-button></div> </template> <script> // import { JScallbackProc } from ./JScal…...

单片机的中断系统

作者简介 彭煜轩&#xff0c;男&#xff0c;银川科技学院计算机与人工智能学院&#xff0c;2022级计算机与科学技术8班本科生&#xff0c;单片机原理及应用课程第3组。 指导老师&#xff1a;王兴泽 电子邮件&#xff1a;1696409709qq.com 前言 本篇文章是参考《单片机原理…...

Java基础面向对象(接口高级)

高版本的接口 JDK8.0 普通的公开非抽象方法(默认方法) [public] default 返回值类型 方法名(形参列表){//操作语句 } default: 在此位置身份为非抽象标识 接口中的非抽象方法实现类不需要进行重写且通常不会进行重写 当父类与接口的方法体出现冲突时, 优先执行父类内容 (类优…...

OpenCV圆形标定板检测算法findCirclesGrid原理详解

OpenCV的findCirclesGrid函数检测圆形标定板的流程如下:   findCirclesGrid函数源码: //_image,输入图像 //patternSize,pattern的宽高 //_centers,blobs中心点的位置 //flags,pattern是否对称 //blobDetector,这里使用的是SimpleBlobDetector bool cv::findCirclesGrid(…...

Linux 网卡收包流程如下

Linux 网卡收包流程如下 网卡收到数据包将数据包从网卡硬件缓存移动到服务器内存中(DMA方式&#xff0c;不经过CPU)通过硬中断通知CPU处理CPU通过软中断通知内核处理经过TCP/IP协议栈处理应用程序通过read()从socket buffer读取数据 网卡丢包 我们先看下ifconfig的输出&#…...

普中51单片机——LED流水灯模块

1、GPIO概念 GPIO&#xff08;general purpose intput output&#xff09;是通用输入输出端口的简称&#xff0c;可以通过软件来控制其输入和输出。51 单片机芯片的 GPIO 引脚与外部设备连接起来&#xff0c;从而实现与外部通讯、 控制以及数据采集的功能。 1.1、GPIO分类 &a…...

Linux 各个目录作用

刚毕业的时候学习Linux基础知识&#xff0c;发现了一份特别好的文档快乐的 Linux 命令行&#xff0c;翻译者是happypeter&#xff0c;作者当年也在慕课录制了react等前端相关的视频&#xff0c;通俗易懂&#xff0c;十分推荐 关于Linux的目录&#xff0c;多数博客已有详细介绍…...

【包教包会】CocosCreator3.x——重写Sprite,圆角、3D翻转、纹理循环、可合批调色板、不影响子节点的位移旋转缩放透明度

一、效果演示 重写Sprite组件&#xff0c;做了以下优化&#xff1a; 1、新增自变换&#xff0c;在不影响子节点的前提下位移、旋转、缩放、改变透明度 新增可合批调色板&#xff0c;支持色相、明暗调节 新增圆角矩形、3D透视旋转、纹理循环 所有功能均支持合批、原生平台&…...

腾讯阅文集团Java后端开发面试题及参考答案

Java 的基本数据类型有哪些?Byte 的数值范围是多少? Java 的基本数据类型共有 8 种,可分为 4 类: 整数类型:包括 byte、short、int 和 long。byte 占 1 个字节,其数值范围是 - 128 到 127,用于表示较小范围的整数,节省内存空间,在处理一些底层的字节流数据或对内存要求…...

Kafka如何保证消息可靠?

大家好&#xff0c;我是锋哥。今天分享关于【Kafka如何保证消息可靠&#xff1f;】面试题。希望对大家有帮助&#xff1b; Kafka如何保证消息可靠&#xff1f; 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 Kafka通过多种机制来确保消息的可靠性&#xff0c;主要包…...

【layui】tabs 控件内通过 iframe 加载url 方式渲染tab页面

<!DOCTYPE html> <html><head><meta charset"UTF-8"><title>tabs 内部使用 iframe 嵌套 url 页面</title><link rel"stylesheet" href"../../../libs/layui/layui-2.4.5/dist/css/layui.css"><scr…...

EtherCAT转DeviceNe台达MH2与欧姆龙CJ1W-DRM21通讯案例

一.案例背景 台达MH2设备通常采用EtherCAT通信协议&#xff0c;这种协议在高速实时通信方面表现出色&#xff0c;适合设备之间的快速数据交换和精准控制。而欧姆龙CJ1W-DRM21 模块基于DeviceNet通信协议&#xff0c;DeviceNet在工业现场总线领域应用广泛&#xff0c;侧重于设备…...

清华、智谱团队:「6000亿合成交错语音文本」预训练,问答性能提升近3倍

与基于文本的大语言模型&#xff08;LLM&#xff09;相比&#xff0c;语音语言模型&#xff08;SpeechLM&#xff09;接受语音输入并生成语音输出&#xff0c;能够实现更自然的人机交互。然而&#xff0c;传统的 SpeechLM 因缺乏无监督语音数据和并行语音-文本数据&#xff0c;…...

Python办公——openpyxl处理Excel每个sheet每行 修改为软雅黑9号剧中+边框线

目录 专栏导读背景1、库的介绍①&#xff1a;openpyxl 2、库的安装3、核心代码4、完整代码5、最快的方法(50万行44秒)——表头其余单元格都修改样式总结 专栏导读 &#x1f338; 欢迎来到Python办公自动化专栏—Python处理办公问题&#xff0c;解放您的双手 &#x1f3f3;️‍…...

遇到问题:hive中的数据库和sparksql 操作的数据库不是同一个。

遇到的问题&#xff1a; 1、hive中的数据库和sparksql 操作的数据库不同步。 观察上面的数据库看是否同步 &#xff01;&#xff01;&#xff01; 2、查询服务器中MySQL中hive的数据库&#xff0c;发现创建的位置没有在hdfs上&#xff0c;而是在本地。 这个错误产生的原因是&…...

《网络攻防实践》实践五报告

1.实践内容 防火墙 &#xff08;1&#xff09;基本概念 所谓“防火墙”是指一种将内部网和公众访问网&#xff08;如Internet&#xff09;分开的方法&#xff0c;它实际上是一种建立在现代通信网络技术和信息安全技术基础上的应用性安全技术&#xff0c;隔离技术。越来…...

深入傅里叶级数与傅里叶变换:从基础到应用

傅里叶分析是数学、物理和工程领域的一项基础工具&#xff0c;其核心思想是将复杂的信号或函数分解为一系列简单的正弦和余弦函数的叠加。本文将带你从傅里叶级数入门&#xff0c;逐步深入傅里叶变换的概念及其应用场景。 一、傅里叶级数&#xff1a;周期信号的分解 1. 什么是傅…...

C++入门一

一、命名空间 #include <stdio.h> int rand 0; int main() {printf("hello world\n");printf("%d\n", rand); } 这样是可以运行的&#xff0c;可是当我们加入一个头文件的时候 #include <stdio.h> #include <stdlib.h> int rand 0;…...