树莓派|连接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…

Python学习-Numpy-1

学习参考链接: Numpy的介绍和安装和性能对比_哔哩哔哩_bilibili Numpy相对List的优势和特点 1、Numpy的数据结构是array数组 2、相较List的性能更好,并且包含大量的便捷的函数,以及数组中元数据的信息 3、array的数据类型必须一致&#xff0c…

实验名称:TCP 连接管理

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

微信小程序生命周期揭秘:从启动到消亡的全过程剖析【附代码】

微信小程序生命周期揭秘:从启动到消亡的全过程剖析 一、小程序生命周期概览核心生命周期函数 二、深入理解生命周期回调2.1 onLoad: 首次亮相的准备2.2 onShow: 重登舞台的瞬间2.3 onReady: 舞台就绪,静待表演2.4 onHide & onUnload: 谨慎离场&#…

【数据结构陈越版笔记】第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…

蓝桥杯备战12.阶乘

P5739 【深基7.例7】计算阶乘 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 递归 #include<bits/stdc.h> #define endl \n #define int long long using namespace std; const int N 2e710,M 1e310; double a[N]; int jie(int n) {if(n1)return 1;else return n*ji…

HTML/CSS3

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

AXI Interconnect IP核的连接模式简介

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

2024年安全员C证报名条件

安全员c证&#xff0c;又称建筑施工企业三类人员c证&#xff0c;持证者一般是建筑施工企业专职安全生产管理的专业人员。安全员c证报名条件是: 1、职业道德良好&#xff0c;身体健康&#xff0c;年龄不超过60周岁(法定代表人除外); 2、具有中专及以上文化程度或初级及以上技术…

WMS系统批次管理概述

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

rust调用SQLite实例

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

SQL_hive的连续开窗函数

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

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

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

Vue3 项目

创建 Vue3 项目的步骤如下&#xff1a; 安装 Node.js Vue3 需要依赖 Node.js 环境&#xff0c;因此需要先安装 Node.js。可以从官网下载 Node.js 的安装包并安装&#xff0c;也可以使用包管理器安装&#xff0c;例如在 Ubuntu 上可以使用以下命令安装&#xff1a; sudo apt-get…

C语言笔记13

字符数组与字符串常量区别 #include <stdio.h> int main() {char str1[] "hello bit.";char str2[] "hello bit.";char *str3 "hello bit.";char *str4 "hello bit.";if(str1 str2)printf("str1 and str2 are same\n…

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

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

一文掌握gRPC

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

reactJs动态执行js代码

参考了这篇文章 js——new Function 一个可以随时动态执行字符串js代码的神器 因为一些原因&#xff0c;想要js代码块配置在数据库中返回&#xff0c;例如时间&#xff0c;我需要用到第三方库 moment。然后动态的得到startDate 和 endDate 配置在数据库中的startDate值是$mom…