树莓派摄像头使用有两种主要的方法,一是使用Picamera,二是使用Opencv。
先要明确几个坑:摄像头在工作时会有指示灯亮;摄像头不能被多个占用,只能在一个进程中使用。
文章目录
- 一、Picamera使用
- 代码
- 二、Opencv使用
- 1、安装opencv
- 2、天坑
- 3、代码
一、Picamera使用
参考库说明:picamera.docs
Github仓库:github
- 注意不要把文件命名为
picamera.py
,因为这会和python库函数名冲突。
代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15from picamera import PiCamera, Color from time import sleep demoCamera = PiCamera() demoCamera.start_preview() #打开摄像头预览 demoCamera.annotate_background = Color('white') demoCamera.annotate_foreground = Color('red') demoCamera.resolution = (480, 320) #设置摄像头的分辨率 demoCamera.framate = 60 #设定摄像头的帧率 demoCamera.annotate_text = " Picamera" #在图像上方显示一段文字 sleep(5) #休息5秒 demoCamera.capture('/home/pi/Desktop/photo.jpg') #拍下并保存一张照片 demoCamera.stop_preview() #关闭摄像头预览
二、Opencv使用
1、安装opencv
要用opencv,得先安装吧,树莓派下的安装与其他操作系统python下的安装一致,直接用命令:注意python3 使用pip3
$ sudo pip install opencv-python
or sudo apt-get install python-opencv
如果遇到失败,是需要升级一些依赖项
pip更新:$ sudo pip install --upgrade pip
依赖项更新:$ sudo apt-get update
and sudo apt upgrade
有时候还会遇到缺少一些包的问题,比如报错ImportError: libSM.so.6: cannot open shared object file: No such file or directory
就需要执行:$ sudo apt-get install libsm6
简言之遇到这种问题,缺什么就下什么
安装好后,试试import cv2
成功就好了
2、天坑
树莓派摄像头模块没有video0,这也就意味着使用cv2.VideoCapture(0)
是读取不到图像的,所以先要添加以下配置文件
1
2
3
4cd /etc/modules-load.d/ sudo nano modules.conf
然后在文件中添加bcm2835-v4l2
就可以了
3、代码
一个最简单的实现:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21# 该程序打开摄像头,显示视频,按q拍摄一张照片并储存下来 import cv2 cap = cv2.VideoCapture(0) while(1): # 获得图片 ret, frame = cap.read() # 展示图片 cv2.imshow("capture", frame) if cv2.waitKey(1) & 0xFF == ord('q'): # 存储图片 cv2.imwrite("camera.jpg", frame) break cap.release() cv2.destroyAllWindows()
参考博客:https://blog.csdn.net/u012005313/article/details/70244747
最后
以上就是纯情小懒猪最近收集整理的关于【方法】树莓派摄像头使用教程一、Picamera使用二、Opencv使用的全部内容,更多相关【方法】树莓派摄像头使用教程一、Picamera使用二、Opencv使用内容请搜索靠谱客的其他文章。
发表评论 取消回复