当前位置: 首页 > 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…...

Spring Boot 进阶话题:部署

部署是将应用程序从开发环境移动到可以供用户访问的生产环境的过程。Spring Boot提供了多种部署选项,包括打包为可执行jar文件,使用Docker容器化,以及部署到云平台。 打包Spring Boot应用 Spring Boot应用可以打包为包含所有依赖、类和资源…...

Python 3 和 MongoDB 的集成使用

Python 3 和 MongoDB 的集成使用 MongoDB 是一个流行的 NoSQL 数据库,以其灵活的数据模型和强大的查询功能而闻名。Python 3 作为一种广泛使用的编程语言,与 MongoDB 的集成变得日益重要。本文将介绍如何在 Python 3 环境中集成和使用 MongoDB&#xff…...

perl语言中模式匹配的左右关系

这里简单记录一下,在perl语言中,关于模式匹配的一个细节: 在进行模式匹配的时候,左边写需要查找的字符串,右侧写匹配的关键字. 两边的顺序不一样就会导致匹配结果不一样. 测试代码:…...

【漏洞复现】网动统一通信平台(ActiveUC)接口iactiveEnterMeeting存在信息泄露漏洞

🏘️个人主页: 点燃银河尽头的篝火(●’◡’●) 如果文章有帮到你的话记得点赞👍+收藏💗支持一下哦 @TOC 一、漏洞概述 1.1漏洞简介 漏洞名称:网动统一通信平台(ActiveUC)接口iactiveEnterMeeting存在信息泄露漏洞漏洞编号:无漏洞类型:信息泄露漏洞威胁等级:高危影…...

C++ STL 容器系列(三)list —— 编程世界的万能胶,数据结构中的百变精灵

STL系列学习参考: C STL系列__zwy的博客-CSDN博客https://blog.csdn.net/bite_zwy/category_12838593.html 学习C STL的三个境界,会用,明理,能扩展,STL中的所有容器都遵循这个规律,下面我们就按照这三个境…...

Java经典面试题总结(附答案)2025

点击获取PDF版 10、如何将字符串反转? 添加到StringBuilder中,然后调用reverse()。 11、String 类的常用方法都有那些? equals、length、contains、replace、split、hashcode、indexof、substring、trim、toUpperCase、toLowerCase、isEmpt…...

Stylus 浏览器扩展开发-Cursor AI辅助

项目起源 作为一个经常需要长时间盯着屏幕的开发者,我一直在寻找一个简单的方法来保护眼睛。最初的想法很简单:将网页背景色替换成护眼的豆沙绿。虽然市面上已经有类似的扩展,但我想要一个更加轻量且可定制的解决方案。 这个简单的需求逐渐…...

DAY35|动态规划Part03|LeetCode:01背包问题 二维、01背包问题 一维、416. 分割等和子集

目录 01背包理论基础(一) 基本思路 C代码 01背包理论基础(二) 基本思路 C代码 LeetCode:416. 分割等和子集 基本思路 C代码 01背包理论基础(一) 题目链接:卡码网46. 携带研究材料 文字…...

创建空向量:std::vector<int> v,刚创建时大小为0

创建一个空的std::vector<int> v会在刚创建时具有大小&#xff08;size&#xff09;为0的特点。这意味着此时向量中没有任何元素&#xff0c;而且其容量&#xff08;capacity&#xff09;也返回0&#xff0c;表明还没有为这个向量分配任何内存空间3。换句话说&#xff0c…...

VBA基础2

VBA基础2 sub过程语法对单元格进行赋值操作连续赋值不连续赋值 cells &#xff08;行&#xff0c;列&#xff09;行引用rows列引用 &#xff08;columns&#xff09;offset位移属性End属性&#xff08;指定返回&#xff09; 使用VBA编辑器需要用AltF11打开 或者VB编辑器打开 可…...

计算机网络-GRE基础实验二

前面我们学习了GRE隧道的建立以及通过静态路由指向的方式使得双方能够网络互联&#xff0c;但是通过静态路由可能比较麻烦&#xff0c;GRE支持组播、单播、广播因此可以在GRE隧道中运行动态路由协议使得网络配置更加灵活。 通过前面的动态路由协议的学习我们知道动态路由协议都…...

JSON 使用

JSON 使用 JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。它基于JavaScript编程语言的一个子集,但因其文本格式清晰简洁,被广泛用于数据交换和存储。本文将详细介绍JSON的使用方法,包括其语法、数据类型、如…...

Leetcode—1539. 第 k 个缺失的正整数【简单】

2024每日刷题&#xff08;206&#xff09; Leetcode—1539. 第 k 个缺失的正整数 C实现代码 class Solution { public:int findKthPositive(vector<int>& arr, int k) {int missing 1;int cur 1;int n arr.size();int missingCnt 0;int ptr 0;for(; missingCn…...

深入浅出:PHP 控制结构与循环语句

文章目录 引言控制结构条件判断if-else 语句elseif 语句嵌套的 if 语句三元运算符 switch 语句 循环语句for 循环遍历数组使用 range() while 循环基本用法无限循环循环控制语句break 语句continue 语句do-while 循环 综合案例参考资料 引言 PHP 是一种广泛用于服务器端开发的…...

深入解析 Loss 减少方式:mean和sum的区别及其在大语言模型中的应用 (中英双语)

深入解析 Loss 减少方式&#xff1a;mean 和 sum 的区别及其在大语言模型中的应用 在训练大语言模型&#xff08;Large Language Models, LLM&#xff09;时&#xff0c;损失函数&#xff08;Loss Function&#xff09;的处理方式对模型的性能和优化过程有显著影响。本文以 re…...

c++ auto

在C中&#xff0c;auto 是一种类型推导关键字&#xff0c;它允许编译器根据初始化表达式的类型自动推导变量的类型。自 C11 标准引入以来&#xff0c;auto 使得代码更加简洁&#xff0c;并且可以减少冗长的类型声明&#xff0c;尤其是在类型名称非常复杂或难以立即确定的情况下…...

python中的列表、元组、字典的介绍与使用

目录 一、区别介绍 1.使用场景以及区别图 2.详细介绍 列表 元组 字典 二、例子操作 (一)列表list 1.定义和初始化 2.访问元素&#xff08;下标&#xff09; 3.修改元素&#xff08;下标&#xff09; 4.添加元素&#xff08;append、下标insert&#xff09; 5.删除…...

深入浅出:PHP中的表单处理全解析

引言 在Web开发的世界里&#xff0c;表单是用户与服务器之间交互的重要桥梁。它们允许用户提交信息&#xff0c;并通过后端语言&#xff08;如PHP&#xff09;进行处理。本文将带你深入了解PHP中的表单处理&#xff0c;从基础的创建和提交到高级的安全措施和实用技巧&#xff…...

双绞线直连两台电脑的方法及遇到的问题

文章目录 前言一、步骤二、问题总结&#xff1a;问题1:遇到ping不通的问题。问题2:访问其他电脑上的共享文件时提示输入网络凭证问题3:局域网共享文件时提示“没有权限访问&#xff0c;请与网络管理员联系请求访问权限” 前言 办公室里有两台电脑&#xff0c;一台装了显卡用于…...

思科CCNA认证备考:从题库到实战,这11个章节的易错点你踩过几个?

思科CCNA认证通关指南&#xff1a;11大核心章节的深度避坑策略 从题库到实战的认知跃迁 当您翻开CCNA的备考资料时&#xff0c;是否曾感到困惑——即使熟记题库答案&#xff0c;在实际操作和模拟考试中仍频频出错&#xff1f;这种现象在认证考生中极为普遍。问题的根源往往不在…...

51单片机控制LED灯实现流水灯效果(程序+Proteus仿真)

51单片机控制LED灯实现流水灯效果&#xff08;程序Proteus仿真&#xff09; 【下载地址】51单片机控制LED灯实现流水灯效果程序Proteus仿真 本资源提供了一个完整的项目&#xff0c;使用51单片机控制LED灯实现流水灯效果。资源内容包括Keil5 C语言程序和Proteus软件仿真文件&am…...

【免费下载】 高效演示必备:PPT倒计时小工具推荐

高效演示必备&#xff1a;PPT倒计时小工具推荐 【下载地址】PPT倒计时小工具 本仓库提供了一个专为PPT设计的倒计时小工具&#xff0c;该工具可以直接加载到PPT中使用&#xff0c;方便用户在演示过程中进行时间管理。与传统的倒计时工具不同&#xff0c;这个小工具完全集成在PP…...

vibe coding效率高:一个新mcp server已经试运行尚可

下面是文档&#xff1a; judicial-doc-quality-mcp v0.1.0 司法裁判文书质量评估 MCP 服务器 — 桥接架构&#xff0c;零 LLM 调用 English | 中文 概述 judicial-doc-quality-mcp 是一个基于 Model Context Protocol (MCP) 的裁判文书质量评估服务器&#xff0c;采用**桥接…...

2026年AI工程化的5大发展趋势:从模型到产品的必经之路

2026年AI工程化的5大发展趋势&#xff1a;从模型到产品的必经之路 导读&#xff1a; AI模型越来越强大&#xff0c;但如何将其稳定、高效地部署到生产环境&#xff1f;本文结合我过去3年的MLOps实战经验&#xff0c;深度剖析2026年AI工程化的核心趋势&#xff0c;助你从“会调参…...

ghw高级功能:系统信息、基板、BIOS和产品信息的完整教程

ghw高级功能&#xff1a;系统信息、基板、BIOS和产品信息的完整教程 【免费下载链接】ghw Go HardWare discovery/inspection library 项目地址: https://gitcode.com/gh_mirrors/gh/ghw ghw是一个功能强大的Go硬件发现/检查库&#xff0c;能够帮助开发者轻松获取系统硬…...

【Nginx】Nginx index 指令全解:从首页加载失败到高性能目录服务的生产实践

Nginx index 指令全解:从首页加载失败到高性能目录服务的生产实践 本文面向已部署过简单 Nginx 服务、了解反向代理概念,但尚未系统掌握其静态文件目录索引与默认首页机制的中高级工程师。我们将彻底拆解 index 指令的工作原理、继承规则、与 try_files 的协作边界,揭示为何…...

从莎士比亚到鲁迅,NotebookLM辅助文学研究全流程,深度拆解7类文本生成陷阱与规避方案

更多请点击&#xff1a; https://codechina.net 第一章&#xff1a;NotebookLM在文学研究中的范式革命 传统文学研究长期依赖人工细读、索引比对与跨文本联想&#xff0c;耗时且易受主观经验局限。NotebookLM 以“源文档优先”&#xff08;source-first&#xff09;架构重构人…...

NotebookLM辅助文献综述全链路拆解(2024最新版:支持arXiv/DOI/中文知网多源解析)

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;NotebookLM文献综述辅助的范式变革 NotebookLM 是 Google 推出的基于用户自有文档的 AI 助手&#xff0c;其核心能力在于对上传 PDF、TXT 等学术文献进行语义索引与上下文感知问答&#xff0c;彻底重构…...

【使用高斯原理推导缆绳-拖曳伞系统的动态模型】使用拖缆系统进行微型空中飞行器的空中回收研究附Matlab代码

✅作者简介&#xff1a;热爱科研的Matlab仿真开发者&#xff0c;擅长毕业设计辅导、数学建模、数据处理、程序设计科研仿真。 &#x1f34e;完整代码获取 定制创新 论文复现点击&#xff1a;Matlab科研工作室 &#x1f447; 关注我领取海量matlab电子书和数学建模资料 &…...