树莓派4B摄像头的详细使用教程(拍照+录像+监控)

树莓派4B摄像头的详细使用教程(拍照+录像+监控)树莓派4B摄像头的详细使用教程(拍照+录像+监控)本篇博文将介绍树莓派摄像头是如何在树莓派开发板上从安装到使用的,博主过程中参考了许多帖子,现将整理的比较全面的过程分享出来,供大家参考使用。排线连接硬件连接时我们首先需要使用树莓派摄像头FFC排线,连接树莓派摄像头与树莓派开发板。其中排线连接的接口被称为CSI(CameraSerialInterface)接口。树莓派开发板的CSI接口位于USB和以太网接口旁边。我们先将CSI接口的黑色挡板拔开,之后将排线蓝色一端正对以太网接口方向插入,之后按下黑

大家好,又见面了,我是你们的朋友全栈君。

树莓派4B摄像头的详细使用教程(拍照+录像+监控)

本篇博文将介绍树莓派摄像头是如何在树莓派开发板上从安装到使用的,博主过程中参考了许多帖子,现将整理的比较全面的过程分享出来,供大家参考使用。

排线连接

硬件连接时我们首先需要使用树莓派摄像头FFC排线,连接树莓派摄像头与树莓派开发板。其中排线连接的接口被称为CSI(Camera Serial Interface)接口。

树莓派开发板的CSI接口位于USB和以太网接口旁边。我们先将CSI接口的黑色挡板拔开,之后将排线蓝色一端正对以太网接口方向插入,之后按下黑色挡板进行固定。
树莓派4B摄像头的详细使用教程(拍照+录像+监控)
用同样的方法连接摄像头一端,排线的蓝色端与摄像头背面保持相同方向。
树莓派4B摄像头的详细使用教程(拍照+录像+监控)

注意接线时务必保持电源断开。

摄像头功能的激活

首先打开树莓派终端,对树莓派进行更新:

sudo apt-get update
sudo apt-get upgrade

之后输入指令打开树莓派的配置界面:

sudo raspi-config

按照以下步骤找到摄像头选项,打开树莓派的摄像头功能。
树莓派4B摄像头的详细使用教程(拍照+录像+监控)
树莓派4B摄像头的详细使用教程(拍照+录像+监控)
树莓派4B摄像头的详细使用教程(拍照+录像+监控)
打开后使用reboot命令重启树莓派,至此摄像头已经能够在树莓派上使用啦。

拍照功能

想使用树莓派摄像头拍照很简单,在终端输入命令即可。这里使用的是树莓派系统中的raspistill命令:

raspistill -o a.jpg -t 1000

这行命令的作用是在一秒钟的延迟之后,拍下一张名为a.jpg的照片,保存在树莓派的主目录下。-t的延迟选项后的参数是以毫秒为单位,1000便表示1秒。延时选项在输入命令时可以不加,但-o后的名称是一定要有的。下面放一张效果图:
在这里插入图片描述

录像功能

同样是使用输入命令的方式实现。命令如下:

raspivid -o b.h264 -t 10000 -w 1280 -h 720

该命令的意思是录制一段十秒钟的名为b.h264的视频,且分辨率为1280×720。同样,如果不带名称后的参数的话,系统会默认录制时间为5秒,分辨率为1920×1080。
此时录制的视频虽然能够在树莓派上播放,但并非是能够在一般播放器上运行的常规视频文件,且录制的视频是没有声音的。要想将.h264格式的视频转换为mp4格式的视频,需要使用一个叫做gpac的工具。sudo apt-get install -y gpac
安装后输入以下命令对刚才的视频进行格式转换,转换后的视频为每秒30帧。

MP4Box -fps 30 -add b.h264 b.mp4

监控功能

使用Linux下一款开源监控软件:motion
输入命令进行安装:

sudo apt-get install motion

首先将motion软件的后台进程改为开启,让它能够一直在后台运行。输入以下命令,将文件中 “start_motion_daemon=no” 的no改为yes。

sudo nano /etc/default/motion

之后输入命令打开motion的配置文件:

sudo nano /etc/motion/motion.conf

这个文件中保存了许多motion的基本设置,文件内容很多,感兴趣的话可以慢慢研究。因为选项比较多,下面只写出一些比较重要的选项的值,其他可以用默认值,或者参考motion官网上的documents,那里面写得很详尽,每个参数的解释都有。motion.conf里自带的注释也很完整。

需要更改的参数有以下几行,在nano编辑器环境下可以使用快捷键ctrl+w对关键字进行查找。

daemon on  #off改成on
width 640  
height 480 #根据摄像头像素自行更改
framerate 50 #帧率
stream_maxrate 200
stream_localhost off    #设为off

当然要想获得最佳的效果,文档中的参数需要多次根据自己的设备进行相应的调整。
修改完成后保存并退出。

若你之前打开过motion,那么在每次更改完配置后,需要先关闭motion进程,并再次打开,相当于对motion进行一次重启。关闭motion服务的命令如下:

sudo killall -TERM motion

接着输入命令重新打开motion:

sudo motion

打开后便可以通过在浏览器内访问地址http://树莓派IP:8080,看到相应的监控画面了。
在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/136556.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • Linux文件的rwx含义,Linux文件权限rwx简单了解

    Linux文件的rwx含义,Linux文件权限rwx简单了解Ⅰ了解Linux下的文件权限如上图所示,ll命令详细展示当前目录下的文件或者子目录信息红框标注的即为此文件或者目录的权限【第一行文件10.c的权限以-开头,用来说明这是一个文件;第四行code目录的权限以字母d开头,用来标注code是目录】关于文件权限,我们要先了解有那些用户可以操作文件。可以操作文件或目录的,可以理解为3类:文件或目录的所属者、所属组、以及不同于前两者的其他用户根据上述,文件…

  • ExecuteScalar方法

    ExecuteScalar方法oRs.Open”SELECTCOUNT(*)AsiRowCountFROMOrders”iCount=oRs.Fields(“iRowCount”).ValueADO.NET引入了一种从查询的结果中获取单值的新方式,可以用于预计只返回一行和一列的场合。ADO.NETCommand对象有一个ExecuteScalar方法,它从相关的查询中返回第一行和第一列的值。因为不用创建行集、查

  • 友盟多渠道获取渠道名,后台显示市场标识

    友盟多渠道获取渠道名,后台显示市场标识

  • jrtplib for android,Jrtplib Android平台编译

    jrtplib for android,Jrtplib Android平台编译??jrtplib库使用C++语言实现,封装了RTP、RTCP协议的内容,可用于发送RTP数据包和RTCP数据包。RTP、RTCP协议本身不是很复杂的协议,使用该库可以免去实现协议的细节,但是如果要用好该库,最好对RTP、RTCP协议有一个比较清晰的了解。??本文介绍如何在AndroidStudio中通过编写CMakeList.txt文件,将下载好的jlibrtp库编译成动态库。此处关键…

  • 建立内网Windows补丁服务器「建议收藏」

    建立内网Windows补丁服务器建立内网Windows补丁服务器实施方案一、完成内网WSUS服务器的架设。二、对客户端计算机进行设置。三、进行外网WSUS服务器的架设。建立内网Windows补丁服务器众所周知,Windows系统有着种种安全漏洞和不足,这些都要依靠微软发布的一个个补丁来弥补,但公司内网无法访问Internet,,不能及时地下载更新。补丁的分发是微软应尽的责任,所以他们开发了WindowsServerUpdateServices(简称WSUS)这一软件,可以实现通过一台服务器下载更新

  • 50分钟学会Laravel 50个小技巧(基于laravel5.2,仅供参考)

    50分钟学会Laravel 50个小技巧(基于laravel5.2,仅供参考)

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号