树莓派开始,玩转Linux11:你是我的眼

2024-01-15 08:59
文章标签 玩转 树莓 linux11

本文主要是介绍树莓派开始,玩转Linux11:你是我的眼,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

树莓派开始,玩转Linux11:你是我的眼

树莓派官方出品有小型摄像头,用于录制视频或拍摄图片。树莓派加上小型摄像头,就构成了一个好玩的移动摄影装置。
最新的官方摄像头版本是V2,配有8M像素的Sony IMX219感光板,可以满足一般的摄影摄像需求。V2摄像头又可以分为两款。
一款摄像头用于正常的可见光拍摄,名为Pi Camera V2;
另一款摄像头带有红外夜视功能,名为Pi NoIR Camera V2。
本章的内容同时适用于这两种摄像头。

1.摄像头的安装与设置:

树莓派摄像头安装在一个方形的电路板上,从电路板上伸出一根柔软的排线。我们需要把摄像头的排线插入树莓派上的"camera"接口。首先抬起接口的盖子,然后放入排线,最后把盖子重新装回去,如图所示。
在这里插入图片描述
安装好摄像头后,打开树莓派。首先更新Raspbian系统的软件源并升级:
在这里插入图片描述
其次,我们要在树莓派设置中,启动摄像头模块,用命令进入设置页面:

在这里插入图片描述
在设置页面中选择启动摄像头。

2.摄像头的基本使用:

设置完成后,摄像头就可以工作了。
Raspbian提供了raspistill和raspivid两个工具,分别用于获得图片和视频。

1.用摄像头拍照
我们用raspistill拍照:
在这里插入图片描述
拍照获得的图片保存为文件image.jpg。你可以用文件管理器找到并查看该照片。

2.用摄像头录视频
我们可以用raspivid录视频:
在这里插入图片描述
获得10秒H.264压缩格式的视频,存入文件video.h264。

我们可以把H.264文件转换为更常见的MP4视频文件格式。GPAC是一款多媒体框架,提供了视频格式转换的功能。
安装GPAC:
在这里插入图片描述

用GPAC中的MP4Box把文件转换为video.mp4:
在这里插入图片描述
大部分视频播放器都可以播放MP4视频。在Raspbian中播放video.mp4:
在这里插入图片描述
这里的omxplayer是Raspbian中的视频播放器。

3.用VLC做网络摄像头:

除了直接录制视频文件,树莓派的摄像头还能拍摄流媒体,用于网络播放。
Raspbian下有很多工具可以实现这一功能,这里介绍VLC的用法。

VLC是大名鼎鼎的视频播放软件,支持包括Raspbian在内的多个平台。
在Raspbian下安装VLC,作为流媒体的服务器:
在这里插入图片描述
利用Linux下的管道机制,把raspivid拍摄的内容导入VLC:
在这里插入图片描述
选项-n说明了不显示预览窗口。随后VLC作为服务器,将流媒体送到树莓派的8160端口。同一网络的任意装有VLC的设备都可以通过访问树莓派的IP地址和8160端口来播放摄像头拍摄的内容。比如树莓派在笔者的局域网中的IP地址是192.168.1.27,那么在手机版VLC的网络媒体源中输入下面网络源:
在这里插入图片描述
就可以在同一局域网下查看该网络摄像头的实时视频。

我们用树莓派制作了一个可移动的网络摄像头。更进一步,我们可以通过隧道的方式把视频内容绑定到某个互联网服务器上,从而在互联网范围内发布该网络摄像头。实现隧道的方法已经在第8章中介绍过了。

4.用Motion做动作捕捉:

Motion是Linux下一款轻量级的监控软件。在日常工作模式下,Motion可以提供网络摄像头的功能。在拍摄过程中,当画面发生变动时,Motion可以保存动作发生时的图片和视频。动作捕捉的功能对于安保监控有很大帮助。我们配合Motion来使用树莓派摄像头。

1.使用Motion
首先,下载安装Motion:
在这里插入图片描述
修改/etc/default/motion,更改设置,让Motion启动后台的守护进程:
在这里插入图片描述
然后,修改Motion的配置文件/etc/motion/motion.conf,更改下面几个值为:
在这里插入图片描述
让Motion作为背景的守护进程运行。

在这里插入图片描述
如果是on,那么只有树莓派自己可以看到流媒体。如果是off,那么网络上的其他主机也可以看到。

在这里插入图片描述
表示流媒体的帧速率最大为每秒30帧。

在这里插入图片描述
表示摄像头捕捉视频的帧速率为每秒30帧。
选项修改好之后,就可以启动Motion了:
在这里插入图片描述
现在摄像头已经在录制流媒体了。在同一局域网下,用浏览器打开192.168.8.113:8081这一网址,可以直接看到即时拍摄的流媒体。
此外,Motion还可以进行动作捕捉。如果你在摄像头前挥手,那么Motion会捕捉这一动作,并把相关的图片和视频存储在目录/var/lib/motion之下。

2.Motion的其他设置
Motion的主要设置都在/etc/motion/motion.conf文件中。除上面我们修改的配置外,文件中还有许多其他选项,这里选择一些重要的配置进行介绍。

(1)target_dir:该选项的默认值为/var/lib/motion。这就是Motion存储动作捕捉结果的地方。Motion的进程是以用户motion的身份运行的,所以用户motion必须对该目标文件夹有写入权限。本书的第18章会介绍用户权限的相关内容。
(2)stream_port:流媒体的输出端口,默认值是8081,也就是我们刚才访问流媒体的端口。如果有需要,可以更改输出端口。
(3)threshold:动作捕捉阈值,默认值为1500。如果有超过阈值的像素点发生变化,那么认为有动作发生。
(4)videodevice:该项默认为路径/dev/video0。这个路径对应了默认的视频设备。如果你无法在/dev下找到video0,那么可以尝试加载V4L2驱动来解决问题:

在这里插入图片描述

这篇关于树莓派开始,玩转Linux11:你是我的眼的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/608344

相关文章

让树莓派智能语音助手实现定时提醒功能

最初的时候是想直接在rasa 的chatbot上实现,因为rasa本身是带有remindschedule模块的。不过经过一番折腾后,忽然发现,chatbot上实现的定时,语音助手不一定会有响应。因为,我目前语音助手的代码设置了长时间无应答会结束对话,这样一来,chatbot定时提醒的触发就不会被语音助手获悉。那怎么让语音助手也具有定时提醒功能呢? 我最后选择的方法是用threading.Time

树莓派5_opencv笔记27:Opencv录制视频(无声音)

今日继续学习树莓派5 8G:(Raspberry Pi,简称RPi或RasPi)  本人所用树莓派5 装载的系统与版本如下:  版本可用命令 (lsb_release -a) 查询: Opencv 与 python 版本如下: 今天就水一篇文章,用树莓派摄像头,Opencv录制一段视频保存在指定目录... 文章提供测试代码讲解,整体代码贴出、测试效果图 目录 阶段一:录制一段

秒变高手:玩转CentOS 7软件更换的方法大全

在 CentOS 7 中更换软件源可以通过以下步骤完成。更换源可以加快软件包的下载速度,特别是当默认源速度较慢时。以下是详细步骤: 前言 为了帮助您解决在使用CentOS 7安装不了软件速度慢的问题,我们推出了这份由浪浪云赞助的教程——“CentOS7如何更换软件源加快下载速度”。 浪浪云,以他们卓越的弹性计算、云存储和网络服务受到广泛好评,他们的支持和帮助使得我们可以将最前沿的技术知识分

1-8 图像腐蚀 opencv树莓派4B 入门系列笔记

目录 一、提前准备 二、代码详解 kernel=np.ones((2,2),np.uint8) _, binary_image = cv2.threshold(image, 127, 255, cv2.THRESH_BINARY) eroded_image=cv2.erode(binary_image,kernel,iterations=1) eroded_image2=cv2.ero

全能AI神器!工作效率提升80倍!Zmo.ai带你玩转AI做图!

今天,我要给大家介绍一款神器:Zmo.ai。 这个平台简直是做图神器,集多种功能于一身,让你像专业人士一样轻松创建和编辑图像,不需要任何美术与设计基础,真的非常适合我们这些“手残党”! 我们只需单击按钮即可从文本或图像生成令人惊叹的 AI 艺术、图像、动漫和逼真的照片,最关键的是它的功能真的很全啊! Zmo.ai旗下产品分类: AI照片生成器 AI动漫生成器 AI照片编辑器 A

玩转Python Turtle库,实现满屏飘字的魔法!

前言     本文将教你如何使用Python的Turtle库,通过简单的编程实现满屏飘字的炫酷效果。无需复杂的编程知识,跟着我们的步骤,你也可以成为编程小达人! 效果展示 开发过程 一、准备工作 首先,确保你的电脑上已经安装了Python环境。然后,你需要安装或更新Turtle库(通常Python安装时自带了Turtle库)。 二、编写代码 接下来,我们将通过编写一个简单的P

逗比学树莓派之lcd1602显示

通过树莓派GPIO连接LCD1602,使用wiringPi库和其附带的LCD库进行显示树莓派的CPU温度和内存使用情况。 1.首先按下图连接好硬件电路图: 2.然后在终端使用命令 sudo apt-get install git 安装版本管理软件Git 。

树莓派wiringPi常用的函数介绍

 1.void pinMode (int pin, int mode) ; 这个函数式设置pin脚的输入和输出模式以及PWM的输入和输出模式。在wiringPi中只有 pin 1 (BCM_GPIO 18)是支持PWM的输出的。 2.void digitalWrite (int pin, int value) ; 这个函数式用来设置pin脚的高低电平的,当我们写HIGH or LO

RasberryPi 3B树莓派基本配置

RaspberryPi 3B树莓派基本配置 文章目录 RaspberryPi 3B树莓派基本配置一、准备工作1.1 硬件准备:1.1.1 树莓派和电源适配器:1.1.2 USB转TTL模块:1.1.3 读卡器和TF卡: 1.2 软件准备:1.2.1 下载 Raspberry Pi OS:1.2.2 SD Card Formatter:1.2.3 下载系统镜像刻录软件:1.2.4 MobaX

树莓派使用WiringPi库配合时间函数实现超声波测距

树莓派使用WiringPi库配合时间函数实现超声波测距 文章目录 树莓派使用WiringPi库配合时间函数实现超声波测距一、HR-04超声波模块原理1.1 超声波测距原理:1.2 超声波时序图: 二、树莓派与超声波模块硬件连接三、时间函数3.1 时间函数gettimeofday()原型和头文件: 四、实现超声波测距4.1 使用wiringOP库和时间函数实现超声波测距: 五、实现超声波测距