目录
介绍
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接口,如下所示,
CSI接口位置
如何连接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
本教程完整程序下载: