一、摄像头模块安装
- 将摄像头排线露出金属的部分背对网孔和usb接口,即另一面的蓝色塑料封皮正对网孔和usb接口
- 小心地将接线板上的黑色塑料往上拉(请务必保证电源关闭,手指干燥)
- 将排线插入,黑色塑料往下压紧排线
- 开机,使用sudo raspi-config,选择interfacing opinions,选择Camera,并Enable
- Finish退出配置
- 重启
二、使用命令控制摄像头
如果一切顺利的话,就可以使用命令控制摄像头了
- 拍照---raspistill
拍摄一张照片,保存在桌面,命名为image.jpg,等待几秒后,桌面就会出现jpg文件
pi@raspberrypi:~ $ raspistill -o Desktop/image.jpg
增加参数修改照片的大小
pi@raspberrypi:~ $ raspistill -o Desktop/image-small.jpg -w 640 -h 480
输入raspistill直接回车可查询raspistill命令其他参数
- 摄像---raspivid
最直接的参数 -t设置拍摄时间 -w -h设置分辨率宽和高
pi@raspberrypi:~ $ raspivid -o Desktop/video.h264 -t 5000 -w 1024 -h 768 #时长5000毫秒、分辨率为1024x768的视频,保存在桌面,命名为video.h264
三、使用Python程序控制摄像头
使用Python程序控制摄像头需要使用PiCamera库
打开Raspberry Pi自带的Thonny Python IDE,新建camera.py文件,文件命名不能用PiCamera.py
- 预览摄像画面(仅在接入显示屏幕有效)
from picamera import PiCamera from time import sleep camera = PiCamera() # Rotate by 180 degrees when the camera is upside-down camera.rotation = 180 camera.start_preview(alpha=200) # Make the camera preview see-through by setting an alpha level from 0 to 255 sleep(5) camera.stop_preview()
- 照相和录像
在拍照前,最好让摄像头sleep至少2秒,使之能够感光
将capture()改成start_recording()和stop_recording()就可控制摄像头拍摄录像了
from picamera import PiCamera from time import sleep camera = PiCamera() # Rotate by 180 degrees when the camera is upside-down camera.rotation = 180 camera.start_preview(alpha=200) # Make the camera preview see-through by setting an alpha level from 0 to 255 sleep(5) # Take a picture and save as /home/pi/Desktop/image.jpg' camera.capture('/home/pi/Desktop/image.jpg') # Take 5 pictures every 5 seconds and save as /home/pi/Desktop/image0.jpg' ... image4.jpg for i in range(5): sleep(5) camera.capture('/home/pi/Desktop/image%s.jpg' % i) camera.stop_preview()
- 更多设置
PiCamera库提供了很多关于图像和摄像头预览的设置,并且两者是分开的,即一部分只对拍摄的画面有效,另一部分只对预览有效
- 分辨率 resolution
图片最大是2592×1944 视频最大是1920×1080,最小是64x64 - 帧数 framerate
- 图像中增加文本 annotate_text
- 图像文本大小 annotate_text_size,范围:6到160,默认32
- 图像文本颜色 import Color,annotate_background 和 annotate_foreground
- 摄像头预览亮度修改 brightness,范围:0到100,默认50
- 摄像头预览对比度 contrast
- 其他参考
from picamera import PiCamera, Color from time import sleep #初始化参数 camera = PiCamera() camera.rotation = 180 camera.resolution = (1024, 768) camera.framerate = 15 #图片里增加文本 camera.start_preview() camera.brightness = 70 camera.annotate_background = Color('blue') camera.annotate_foreground = Color('yellow') camera.annotate_text = "Hello world!" camera.annotate_text_size = 30 sleep(5) camera.capture('/home/pi/Camera/pic.jpg') camera.stop_preview() #实现摄像头预览亮度递增效果 camera.start_preview() for i in range(5): camera.annotate_text = "Brightness: %s" % i camera.brightness = i*20 sleep(0.1) camera.capture('/home/pi/Camera/brightness%s.jpg' % i) camera.stop_preview() #实现摄像头预览对比度递增效果 camera.start_preview() for i in range(5): camera.annotate_text = "Contrast: %s" % i camera.contrast = i*20 sleep(0.1) camera.capture('/home/pi/Camera/contrast%s.jpg' % i) camera.stop_preview()