树莓派|连接CSI接口摄像头+opencv

CSI(Camera Serial Interface)接口摄像头是一种常见的嵌入式系统或移动设备中使用的摄像头接口。它通常用于与处理器或图像传感器进行直接连接,实现高速的图像数据传输。

CSI接口摄像头具有以下特点:

高速传输:CSI接口摄像头采用差分信号传输方式,能够提供高速的图像数据传输速率,适用于实时图像采集和处理。

低功耗:CSI接口摄像头在传输过程中能够提供较低的功耗,有利于节约设备电源并延长电池寿命。

易于集成:CSI接口摄像头可以通过标准化接口与支持CSI协议的处理器或芯片进行连接,便于系统集成和开发。

高质量图像:CSI接口摄像头能够提供高质量的图像捕获和传输能力,并支持不同的图像格式和分辨率。

首先要打开摄像头作为支持

sudo raspi-config

在配置界面中选择"Interfacing Options"(接口选项),然后选择"Camera"(摄像头),按照提示启用相机。

Advanced Options选择Expand Filesystem,将根目录扩展到这个SD卡,充分利用SD卡的存储空间。如果不进行这一步,后续命令会出现卡死。退出设置界面,重启树莓派。

在命令行输入以下命令:这个命令的意思是用nano编辑器打开modules这个文件:

sudo nano /etc/modules

在这个文件末尾添加一行

bcm2835-v4l2

输入命令:

vcgencmd get_camera

使用以下命令拍摄一张图片并保存为image.jpg:

raspistill -o image.jpg

调用摄像头拍一张照片,命名为image.jpg,存储在/pi/home路径,也就是桌面左上角资源管理器一打开显示的那个路径。如果能看到摄像头上红灯亮,目录里面有照片,则进一步说明摄像头配置正确。

9.在树莓派安装运行在Python3上的OpenCV

检查pip和python版本

# 如果pip版本过低,可能无法安装,需要升级,在终端输入pip install -U pip

安装opencv依赖的动态链接库​​​​​​​

# 终端输入sudo apt install libqt4-testsudo apt install libqtgui4

安装opencv​​​​​​​

# 终端输入sudo pip install opencv-python

这步可能会出现如下错误:

THESE PACKAGES DO NOT MATCH THE HASHES FROM THE REQUIREMENTS FILE. If you have updated the package versions, please update the hashes. Otherwise, examine the package contents carefully; someone may have tampered with them. opencv-contrib-python-headless from https://www.piwheels.org/simple/opencv-contrib-python-headless/opencv_contrib_python_headless-3.4.3.18-cp35-cp35m-linux_armv6l.whl#sha256=ff894c0cc7c98b05b7b260a1dc462e7ad0a4220b042072fc0134a2b7a92bc4a5: Expected sha256 ff894c0cc7c98b05b7b260a1dc462e7ad0a4220b042072fc0134a2b7a92bc4a5 Got 4119d8c56d19ef044c1faca317dd10f2bb3b50cbee77426a22feca9b641c5637

原因分析:

error翻译过来是 hash值和包不匹配

大概是pip源地址是国外的,在国内下载速度特慢,网速问题导致的下载错误,从而导致对用的哈希值不匹配

我的解决方法:

pip换成国内的源,安装第三方包是用下面命令

sudo pip install opencv-python -i https://pypi.tuna.tsinghua.edu.cn/simple

测试​​​​​​​

# 终端输入python3​​​​
# 导入import cv2 as cvprint(cv.__version__)

总结:这种方法在树莓派安装opencv比较快,出错少,特别是在python3上安装的时候。之前尝试过抄作业下载源码自行编译,花费2个小时以上仍是失败,操作步骤完全一样,就是不成功。

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

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

相关文章

Spring MVC(五) 文件上传

1 单文件上传 在程序开发中,有时候需要上传一些文件。我们在学习Servlet的时候,也做过文件上传的操作,只不过基于Servlet的文件上传操作起来过于复杂,因此所有的MVC框架都提供了自己的文件上传操作,基本上都是基于File…

UE5 FARFilter筛选器使用方法

UE5 查找资源时可以用FARFilter进行筛选,之前可以用ClassNames进行筛选,但是5.1之后就弃用这个属性改成ClassPaths属性 构造一个FTopLevelAssetPath对象需要两个FName参数,但是没找到应该传什么 查找官方文档,明显是错误的&#x…

AAAI: Generalized Singular Value Thresholding论文阅读

1 Abstract 这篇论文研究了与非凸函数g相关的广义奇异值阈值(Generalized Singular Value Thresholding, GSVT)算子Proxσ g (),定义为 P r o x g σ ( B ) arg ⁡ min ⁡ X ∑ i 1 m g ( σ i ( X ) ) 1 2 ∥ X − B ∥ F 2 , \mathbf{Prox}_{g}^{\sigma}(\mat…

实验名称:TCP 连接管理

目录 实验目的: 实验原理: 实验步骤: 1) 启动WireShark,设置抓包状态 2) 访问指定服务器 ,通过Wireshark抓取通信数据报文 3) 分析TCP连接建立的三次握手和连接释放的四次握手过程 原始数据记录: 实…

【数据结构陈越版笔记】第1章 概述【习题】

1. 碎碎念 我这答案做的可能不对,如果不对,欢迎大家指出错误 2. 答案 1.1 判断正误 (1) N ( log N ) 2 N(\text{log}N)^{2} N(logN)2是 O ( N 2 ) O(N^{2}) O(N2)的。 (2) N 2 ( log N ) 2 N^{2}(\text…

HTML/CSS3

1.CSS CSS的作用在于在HTML的基础上(决定网页的内容和结构)对网页进行排版布局 对网页中的元素提供样式 使得网页显得更加精美CSS全称是cascading style sheets 即层叠样式表CSS样式的书写格式:样式名: 样式值 例如:color: red建议:之后进行空格 CSS样式…

AXI Interconnect IP核的连接模式简介

AXI Interconnect IP核内部包含一个 Crossbar IP核,用于在 Slave Interfaces(SI)和 Master Interfaces(MI)之间路由传输。在连接 SI 或 MI 到 Crossbar 的每条路径上,可以选择性地添加一系列 AXI Infrastru…

WMS系统批次管理概述

为了提高仓库运作效率,降低库存成本,越来越多的企业开始引入WMS仓库管理系统,WMS系统批次管理作为其核心功能之一,对于实现精细化、智能化的仓储管理具有重要意义。 二、WMS系统批次管理概述 WMS系统批次管理是指通过对仓库中的货…

rust调用SQLite实例

rusqlite库介绍 Rusqlite是一个用Rust编写的SQLite库,它提供了对SQLite数据库的操作功能。Rusqlite的设计目标是提供一个简洁易用的API,以便于Rust程序员能够方便地访问和操作SQLite数据库。 Rusqlite的主要特点包括: 遵循Rust的类型系统和…

SQL_hive的连续开窗函数

SQL三种排序(开窗)第几名/前几名/topN 1三种排序(开窗)第几名/前几名/topN思路 4种排序开窗函数 1三种排序(开窗)第几名/前几名/topN 求每个学生成绩第二高的科目-排序思路 t2表:对每个学生 的…

基于Python的web漏洞挖掘扫描技术的实现与研究【附源码,文档】

博主介绍:✌Java老徐、7年大厂程序员经历。全网粉丝12w、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专栏推荐订阅👇&…

【生信技能树】拿到表达矩阵之后,如何使用ggplot2绘图系统绘制箱线图?

拿到表达矩阵之后,如何使用ggplot2绘图系统绘制箱线图? 目录 预备知识 绘制箱线图示例 预备知识 1.pivot_longer函数 pivot_longer 是tidyr包中的一个函数,用于将数据框(data frame)从宽格式转换为长格式。在宽格…

一文掌握gRPC

文章目录 1. gRPC简介2. Http2.0协议3. 序列化-Protobuf4. gRPC开发实战环境搭建5. gRPC的四种通信方式(重点)6. gRPC的代理方式7. SprintBoot整合gRPC 1. gRPC简介 gRPC是由google开源的高性能的RPC框架。它是由google的Stubby这样一个内部的RPC框架演…

Java日志总结

开发中,日志记录是不可或缺的一部分,应用日志的记录主要用于:记录操作轨迹数据、监控系统运行情况、系统故障定位问题,日志的重要性不言而喻,想要快速定位问题,日志分析是个重要的手段,Java也提…

JAVA 集合(单列集合)

集合框架 1.集合的特点 a.只能存储引用数据类型的数据 b.长度可变 c.集合中有大量的方法,方便我们操作 2.分类: a.单列集合:一个元素就一个组成部分: list.add(“张三”) b.双列集合:一个元素有两部分构成: key 和 value map.put(“涛哥”,“金莲”) -> key,value叫做键值…

锁和MVCC如何实现mysql的隔离级别

概述 MVCC解决读的隔离性,加锁解决写的隔离性。 读未提交 读未提交,更新数据大概率使用的是独享锁吧。 读已提交 在 Read Committed(读已提交)隔离级别下,每次执行读操作时都会生成一个新的 read view。这是因为在读…

AI 图像生成-环境配置

一、python环境安装 Windows安装Python(图解) 二、CUDA安装 CUDA安装教程(超详细)-CSDN博客 三、Git安装 git安装教程(详细版本)-CSDN博客 四、启动器安装 这里安装的是秋叶aaaki的安装包 【AI绘画…

【GlobalMapper精品教程】081:WGS84/CGCS2000转Lambert投影

参考阅读:ArcGIS实验教程——实验十:矢量数据投影变换 文章目录 一、加载实验数据二、设置输出坐标系三、数据导出一、加载实验数据 打开配套案例数据包中的data081.rar中的矢量数据,如下所示: 查看源坐标系:双击图层的,图层投影选项卡,数据的已有坐标系为WGS84地理坐标…

【3dmax笔记】021:对齐工具(快速对齐、法线对齐、对齐摄影机)

文章目录 一、对齐二、快速对齐三、法线对齐四、对齐摄影机五、注意事项3dmax提供了对齐、快速对齐、法线对齐和对齐摄像机等对齐工具: 对齐工具选项: 下面进行一一讲解。 一、对齐 快捷键为Alt+A,将当前选择对象与目标对象进行对齐。 最大对最大:

【小笔记】neo4j用load csv指令导入数据

【小笔记】neo4j用load csv指令导入数据 背景 很久没有用load CSV的方式导入过数据了因为它每次导入有数量限制(印象中是1K还是1W),在企业中构建的图谱往往都是大规模的,此时通常采用的是Neo4j-admin import方式。最近遇到了一些…