0°

(六)树莓派进阶:Pi相机模块与Raspberry Pi连接使用教程

介绍

(六)树莓派进阶:Pi相机模块与Raspberry Pi连接使用教程

Pi相机模块(v1.3)

Pi Camera模块是一种可用于拍摄照片和高清视频的相机。

Raspberry Pi Board具有CSI(相机串行接口)接口,我们可以直接连接PiCamera模块。

该Pi Camera模块可使用15针排线连接到Raspberry Pi的CSI端口。

Pi相机的特点

在这里,我们使用了Pi camera v1.3。其功能如下,

  • 解析度 – 5 MP
  • 高清视频录制 – 1080p @ 30fps,720p @ 60fps,960p @ 45fps等。
  • 它可以捕获分辨率为2592×1944像素的宽,静态(静止)图像
  • 启用CSI接口。

如何将Pi Camera连接到Raspberry Pi?

将Pi Camera连接到Raspberry Pi板的CSI接口,如下所示,

(六)树莓派进阶:Pi相机模块与Raspberry Pi连接使用教程

CSI接口位置

(六)树莓派进阶:Pi相机模块与Raspberry Pi连接使用教程

如何连接Pi相机

现在,我们可以使用Pi Camera使用Raspberry Pi捕获图像和视频。

在使用Pi Camera之前,我们需要启用相机才能正常工作。

如何在Raspberry Pi上启用相机功能

要在Raspberry Pi中启用摄像头,请使用以下命令打开raspberry pi配置,

sudo raspi-config

然后选择Interfacing options,在其中选择camera 选项以启用其功能。

重启Raspberry Pi。

现在我们可以访问Raspberry Pi上的摄像头了。

现在我们可以使用Raspberry Pi上的Pi Camera捕获图像和视频。

捕获图像并将其保存到指定目录。

我们可以使用Python捕获图像。在这里,我们将编写一个Python程序,使用Raspberry Pi上的Pi Camera捕获图像。

在这里,我们使用了picamera package(library),它为Raspberry Pi提供了不同的类。其中我们主要对PiCamera相机模块的类感兴趣。

用于图像捕获的Python程序

'''
	capture images on Raspberry Pi using Pi Camera
	https://www.qutaojiao.com
'''
import picamera
from time import sleep

#create object for PiCamera class
camera = picamera.PiCamera()
#set resolution
camera.resolution = (1024, 768)
camera.brightness = 60
camera.start_preview()
#add text on image
camera.annotate_text = 'Hi Pi User'
sleep(5)
#store image
camera.capture('image1.jpeg')
camera.stop_preview()

使用的功能

要使用picamera 基于python的库,我们必须将它包含在我们的程序中,如下所示

import picamera

该库具有相机模块类。所以,我们必须为PiCamera类创建对象。 picamera PiCamera

PiCamera Class

要在Raspberry Pi上使用Python中的Pi Camera,我们可以使用PiCamera类,它具有不同的相机功能API。我们需要为PiCamera类创建对象。

例如 Camera = picamera.PiCamera()

上面的PiCamera类有不同的成员变量和函数,只需在对象名和成员名之间插入一个点(.)就可以访问它们。

例如 Camera.resolution = (1080, 648)

capture()

它用于使用Pi Camera捕获图像。

例如 Camera.capture(“/home/pi/image.jpeg”)

该capture()函数有不同的参数,我们可以传递给不同的操作,如resize,format,use_video_port等。

例如 Camera.capture(“/home/pi/image.jpeg”, resize=(720, 480))

resolution= (width,height)

它设置摄像机的分辨率,图像捕获,视频记录和预览将显示。分辨率可以指定为(宽度,高度)元组,格式化为WIDTHxHEIGHT的字符串,或者包含通常识别的显示分辨率名称的字符串,例如“HD”,“VGA”,“1080p”等。

例如

                Camera.resolution = (720, 480)
                Camera.resolution = "720 x 480"Camera.resolution = "720p"Camera.resolution = "HD"

Annotate_text = “Text”

它用于在图像,视频等上添加文本。

例如 Camera.annotate_text = “Hi Pi User”

start_preview()

它显示默认或指定分辨率的预览叠加层。

例如 Camera.start_preview()

stop_preview()

它用于关闭预览叠加层。

例如 Camera.stop_preview()

注意: PiCamera类有各种API。因此,要了解更多API,您可以参考PiCamera API

用于视频录制的Python程序

'''
	Record video on Raspberry Pi using pi Camera
	https://www.qutaojiao.com
'''
import picamera
from time import sleep

camera = picamera.PiCamera()
camera.resolution = (640, 480)

print()
#start recording using pi camera
camera.start_recording("/home/pi/demo.h264")
#wait for video to record
camera.wait_recording(20)
#stop recording

余下程序:

限制以下用户组阅读此隐藏内容

请先登录

您的用户组:

使用的功能

我们必须为PiCamera类创建对象。在这里,我们将对象创建为相机。

start_recording()

它用于开始视频录制和存储。

例如 Camera.start_recording(‘demo.h264’)

它记录了名为h264格式的demo的视频。

wait_recording(timeout)

等待视频编码器指定的超时秒数。

例如 Camera.wait_recording(60)

stop_recording()

它用于停止视频录制。

例如 Camera.stop_recording()

播放录制的视频

要打开视频,我们可以使用以下命令使用omxplayer,

 omxplayer video_name

本教程完整程序下载:

限制以下用户组阅读此隐藏内容

请先登录

您的用户组:
「点点赞赏,手留余香」

    还没有人赞赏,快来当第一个赞赏的人吧!
0 条回复 A 作者 M 管理员
    所有的伟大,都源于一个勇敢的开始!
欢迎您,新朋友,感谢参与互动!欢迎您 {{author}},您在本站有{{commentsCount}}条评论