【方法】树莓派摄像头使用教程

版权声明:偷我的我会气死的, 希望你去访问我的个人主页:https://crazyang.top https://blog.csdn.net/yzy_1996/article/details/83756198

树莓派摄像头使用有两种主要的方法,一是使用Picamera,二是使用Opencv。
先要明确几个坑:摄像头在工作时会有指示灯亮;摄像头不能被多个占用,只能在一个进程中使用。

一、Picamera使用

参考库说明:picamera.docs
Github仓库:github

  • 注意不要把文件命名为picamera.py,因为这会和python库函数名冲突。

代码

from 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下的安装一致,直接用命令:
$ 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)是读取不到图像的,所以先要添加以下配置文件

cd /etc/modules-load.d/

sudo nano modules.conf 

然后在文件中添加bcm2835-v4l2 就可以了

3、代码

一个最简单的实现:

import cv2

cap = cv2.VideoCapture(0)
while(1):
    ret, frame = cap.read()
    cv2.imshow("capture", frame)
    if cv2.waitKey(1) & 0xFF == ord('q'):
        break
cap.release()
cv2.destroyAllWindows() 

参考博客:https://blog.csdn.net/u012005313/article/details/70244747

猜你喜欢

转载自blog.csdn.net/yzy_1996/article/details/83756198