树莓派利用python-opencv使用CSI摄像头调用监控视频

news2024/10/6 14:28:03

目录

一、安装python-opencv。

二、使用工具Xshell7和MobaXterm

三、连接并打开CSI摄像头

3.1连线如图所示:

3.2打开摄像头

四、编写摄像头代码调用摄像头


一、安装python-opencv。

        一定要选择配置好的安装python-opencv,不要去配置安装,然后还cmake编译,没有必要基本上安装过程都会报2-3个错误,还需要修改错误特别麻烦。

二、使用工具Xshell7和MobaXterm

        个人建议不要选择putty+vncviewer,因为VNC用的真难受,有时会很卡,有时很流畅,调用摄像头因为分辨率原因还会黑屏,有时能调好,有时不行(可能是我个人不会用吧,但是我强烈不推荐)。

三、连接并打开CSI摄像头

 3.1连线如图所示:

       

3.2打开摄像头

        登录MobaXterm 使用SSH(Xshell7)输入IP登录树莓派界面:

输入

sudo raspi-config

 进入树莓派配置界面

 选择 3 Interface Options  进入

 选择 1 Legacy Camera 

 然后 YES→OK→Finsh 就可以了,一般可能要重启一下。

输入 ls /dev 查看树莓派是否连接到摄像头,查看是否右 video0如果没有则是你的线没有插紧。

ls /dev

 输入 vcgencmd get_camera 查看摄像头是否打开

vcgencmd get_camera

 supported=1;就是没有问题,可以使用。

四、编写摄像头代码调用摄像头

cd /home/pi/Desktop    #进入树莓派桌面

mkdir UserDemo         #在树莓派桌面下mkdir创建UserDemo文件夹存放用户代码

ls                     #查看树莓派桌面所有文件夹,用于检测上面的命令

cd UserDemo            #进入UserDemo文件夹

touch csidemo.py       #touch创建csidemo.py文件用于编写CSI摄像头代码

 点击左侧的Desktop→UserDemo→csidemo.py   双击csidemo.py

 

 打开csidemo.py开始编写代码

import cv2     #导入库
import time

cap = cv2.VideoCapture(0)    #捕获摄像头设备图像数据存入cap。
cap.set(3,600)               #cap.set 摄像头参数设置
cap.set(4,480)               #3代表图像高度,4代表图像宽度,5代表图像帧率
cap.set(5,40)                #图像高为600,宽度为480,帧率为40

while True:                  
    ret, frame = cap.read()   
    #frame读取cap的图像数据,返回ret,读取成功返回true,失败返回flase
    if ret:
        cv2.imshow('video', frame)        #读取成功,显示窗口名为'video'的摄像头图像
    if cv2.waitKey(1) & 0xFF == ord('q'): #按下键盘'q'键退出窗口
        break
        
cv2.destroyAllWindows()  #关闭窗口
cap.release()            #关闭摄像头数据读取

编写好代码后ctrl+s 保存代码,在 /home/pi/Desktop/UserDemo 下输入

python3 csidemo.py

运行代码:得到下图

 打开摄像头读取摄像头图像完成。

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

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

相关文章

012 - C++指针

本期我们将学习 C 中的指针。 指针是一个令很多人都很痛苦的内容,然而指针其实没有大家想象中的那么复杂。另外我先要说明本期我们要讨论的是原始的指针,还有一种常用的指针叫智能指针,这个我们在之后的内容中会接触学习。 计算机处理内存&…

LeetCode_二叉搜索树_中等_236.二叉搜索树的最近公共祖先

目录1.题目2.思路3.代码实现(Java)1.题目 给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。 百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 …

jQuery讲解|这一章就够了|(超详细|保姆级)

🙈作者简介:练习时长两年半的Java up主 🙉个人主页:老茶icon 🙊 ps:点赞👍是免费的,却可以让写博客的作者开兴好久好久😎 📚系列专栏:Java全栈,计…

【设计模式】生产者消费者模型

带你轻松理解生产者消费者模型!生产者消费者模型可以说是同步与互斥最典型的应用场景了!文末附有模型简单实现的代码,若有疑问可私信一起讨论。 文章目录一:为什么要使用生产者消费者模型?二:生产者消费者模…

JDK 17:Java 17 中的新特性简介

Java 开发工具包 (JDK) 17 将是一个长期支持 (LTS) 版本,预计来自 Oracle 的扩展支持将持续数年。该功能集定于 6 月 10 日冻结,届时 JDK 17 将进入初始阶段。作为 OpenJDK JDK 17 的一部分提交的功能包括: 特定于上下文的反序列化过滤器允许…

计算机网络 实验一

⭐计网实验专栏,欢迎订阅与关注! ★观前提示:本篇内容为计算机网络实验。内容可能会不符合每个人实验的要求,因此以下内容建议仅做思路参考。 一、实验目的 掌握在Packet Tracer软件中搭建实验平台,配置基本的网络参数…

8D和A3报告

8D和3A报告,他们都不仅仅是记录问题的一种文书,而是解决问题的工具。 A3发展于TPS (Toyota Production system),可以用来解决问题,沟通,记录,是一种流程,当人们在使用A3…

MySQL中添加新字段

© Ptw-cwl 要在MySQL中添加新字段,您可以使用ALTER TABLE语句。 以下是添加新字段的基本语法: ALTER TABLE table_name ADD column_name datatype;其中: table_name 是您要在其中添加新字段的表的名称。column_name 是新字段的名称。…

Linux安装Anaconda

目录1.下载Anaconda的安装包2.安装Anaconda3.用conda创建虚拟环境4.安装项目依赖包1.下载Anaconda的安装包 首先需要在官网上选择需要安装的版本。 官网地址:https://repo.anaconda.com/archive/,如选择当前最新版本进行安装: https://repo.…

TWIST阅读笔记

目录TWIST: Two-Way Inter-label Self-Training for Semi-supervised 3D Instance Segmentation摘要本文方法语义引导的实例提议生成提议纠正基于提议的伪标签更新TWIST: Two-Way Inter-label Self-Training for Semi-supervised 3D Instance Segmentation 摘要 利用无标签数…

浙大版《C语言程序设计实验与习题指导(第3版)》题目集实验2合集

实验2-1-1 计算摄氏温度 本题要求编写程序,计算华氏温度100F对应的摄氏温度。计算公式:C5(F−32)/9,式中:C表示摄氏温度,F表示华氏温度,输出数据要求为整型。 输入格式:本题目没有输入。 输出格式:按照下…

Java每日一练(20230413)

目录 1. 子集 II 🌟🌟 2. 快乐数 ※ 3. 整数反转 ※ 🌟 每日一练刷题专栏 🌟 Golang每日一练 专栏 Python每日一练 专栏 C/C每日一练 专栏 Java每日一练 专栏 1. 子集 II 给你一个整数数组 nums ,其中可能…

【pip换源操作】解决用pip下载Python第三方库慢问题

python自带的第三方库使用pip安装速度会很慢,还有可能会报错。 常见的报错信息有: check_hostname requires server_hostname raise ValueError(“check_hostname requires server_hostname”) ValueError: check_hostname requires server_hostname EO…

波尔模型的实验验证之类氢粒子光谱类实验

光谱产生的原因:原子中电子在轨道上跃迁产生,如莱曼系为电子从n2,3,4等轨道跃迁到n1的基态轨道产生。 中心的原点为原子核,中心最接接近原子核的圆为n1的电子轨道。 r_na_0n^2,轨道大小正比于n的平方 根据电子轨道图即可以获得…

AE开发之图层渲染20210603

AE开发之图层渲染比例符号化地图的整饰唯一值符号的符号化过程点符号设置,线符号设置标注图层,(写得不好,不推荐看) 唯一值符号化,字段进行设置,这里用到了UniqueValueRenderer接口,这里面有一…

用pyocd读写gd32f4系列mcu的otp区

如前一篇文章所述,pyocd是一个调试、编程cortex-m单片机的简单、强大的工具,本文就结合实例讲解pyocd的一些用法。 使用j-link、dap-link等工具在keil或其它ide中调试单片机程序的场景比较常见,而使用这些工具对单片机片内和片外flash存储区…

[ 应急响应基础篇 ] evtx提取安全日志 事件查看器提取安全日志

🍬 博主介绍 👨‍🎓 博主介绍:大家好,我是 _PowerShell ,很高兴认识大家~ ✨主攻领域:【渗透领域】【数据通信】 【通讯安全】 【web安全】【面试分析】 🎉点赞➕评论➕收藏 养成习…

【C++中关于abs()函数的告警问题】“abs“ is ambiguousC/C++(266)

C中关于abs()函数的告警问题 “abs” is ambiguousC/C(266) 在调试异常打卡记录这道华为OD机考题的时候,完成了C版本之后,在vscode进行调试,出现了如下的告警:abs有歧义,所以就开始查找到底是设什么原因: …

MAC-安装Java环境、JDK配置、IDEA插件推荐

背景:发现经常换电脑装环境等比较麻烦,主要还是想记录一下,不要每次安装都到处翻。。 1、下载并安装JDK 到官网下载所需的JDK:https://www.oracle.com/technetwork/java/javase/downloads/jdk11-downloads-5066655.html 这儿下…

Wine运行器帮助——使用Qemu User运行Wine(理论支持全架构)

提醒 Qemu 的转换效率较低,如果可以的话建议使用其它方案以提升运行效率 此方案理论上支持全架构(amd64、arm64、mips64、loongarch64、riscv64、ppc64、s390x……),只要能跑 Qemu User 即可,在 x86、arm64 真机测试通…