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

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

文章目录

  • 一、Picamera使用
    • 代码
  • 二、Opencv使用
    • 1、安装opencv
    • 2、天坑
    • 3、代码

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

cd /etc/modules-load.d/

sudo nano modules.conf 

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

3、代码

一个最简单的实现:

# 该程序打开摄像头,显示视频,按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

你可能感兴趣的:(树莓派使用教程)