企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
https://picamera.readthedocs.io/en/release-1.13/index.html ## 将摄像头连接到树莓派上 关闭树莓派后,将相机模块连接到树莓派的“**CAMERA**”接口。 轻轻向上拉“CAMERA”接口的塑料夹边缘,然后推入摄像头色带,最后将塑料夹推回原位。 ## 在raspi-config中使能摄像头 启动树莓派,打开终端,在树莓派终端中输入下面命令,以打开Raspberry Pi配置工具。 ``` sudo raspi-config ``` 移动到“**Interfacing Options**”,按下回车键。然后选择“**Camera**”,按下回车键。 <div align="center"><img src="images/screenshot_1559782375623.png"/></div> 选择“**Enable**”,然后回车。 <div align="center"><img src="images/screenshot_1559782435569.png"/></div> ## 测试摄像头是否可用 在终端中输入命令: ``` raspistill -o test.jpg -t 3000 ``` 延时3秒拍摄一张静态图片,并命名为test.jpg ## 相机预览 新建一个文件 ```python sudo nano camera.py ``` 输入以下代码: ```python from picamera import PiCamera from time import sleep camera = PiCamera() #获取一个PiCamera对象 camera.start_preview() #打开摄像头进行预览 sleep(10) #暂停10秒,即预览10秒 camera.stop_preview() #关闭预览 ``` 然后“**Ctrl + X**”后,按“**Y**”保存退出。 终端输入命令,以运行“camera\.py”文件: ```python python camera.py ``` 如果图像是颠倒的,可以在“camera.start_preview()”前添加以下代码来旋转它: ```python camera.rotation = 180 ``` 可以按90,180或270度来旋转图像,也可以将其设置0来重置它。 可以通过设置Alpha级别来更改相机预览的透明度: ```python camera.start_preview(alpha = 200) ``` alpha可以是0到255之间的值。 ## 拍摄图片 修改代码 ```python camera.start_preview() sleep(5) camera.capture('/home/pi/Desktop/image.jpg') camera.stop_preview() ``` 运行代码,相机预览打开5秒钟,预览会立即调整到不同的分辨率,然后拍摄一张静态图片。 程序运行结束后,在桌面上出现刚拍摄的图片,双击文件图标将其打开。 尝试加入循环以连续拍摄五张照片: ```python camera.start_preview() for i in range(5): sleep(5) camera.capture('/home/pi/Desktop/image%s.jpg' % i) camera.stop_preview() ``` ## 录制视频 修改代码,将`capture()`替换成`start_recording()`和`stop_recording()`。 ```python camera.start_preview() camera.start_recording('/home/pi/video.h264') sleep(10) camera.stop_recording() camera.stop_preview() ``` 运行代码,将会录制10秒的视频。 输入下面命令,然后按回车播放视频。 > 函数`start_recording()`支持的视频格式如下: > * 'h264' - Write an H.264 video stream > * 'mjpeg' - Write an M-JPEG video stream > * 'yuv' - Write the raw video data to a file in YUV420 format > * 'rgb' - Write the raw video data to a file in 24-bit RGB format > * 'rgba' - Write the raw video data to a file in 32-bit RGBA format > * 'bgr' - Write the raw video data to a file in 24-bit BGR format > * 'bgra' - Write the raw video data to a file in 32-bit BGRA format ```python omxplayer video.h264 ``` 由于omxplayer帧速率快,所以播放时比实际的视频更快。 PiCamera库学习地址:https://picamera.readthedocs.io/en/release-1.13/api_array.html