Raspbian中python使用CSI摄像头

概述:csi摄像头是树莓派的官方摄像头,python要调用可以有两种办法,第一种是用官方的picamera包,第二种是使用opencv.

0. 启用摄像头

无论使用哪种方法,都先确保摄像头启用。在Shell中输入

sudo raspi-config

移动光标至菜单中的 “Enable Camera(启用摄像头)”,将其设为Enable(启用状态)。完成之后重启树莓派。
这里写图片描述

1.使用picamera包

安装picamera

pip install picamera
或者
apt-get install picamera

具体操作方法见官方手册

2.使用opencv

这里要注意一点,树莓派官方摄像头插入后没有/dev/video0节点,这就导致无法直接用opencv调用。

解决办法:树莓派中的camera module是放在/boot/目录下以固件的形式加载的,不是一个标准的v4l2的摄像头ko驱动,所以加载起来之后会找不到/dev/video0的设备节点。这是因为这个驱动是在底层的,v4l2这个驱动框架还没有加载,所以要在/etc/modules里面添加一行bcm2835-v4l2(是4L2,不是412,小写的L),这句话意思是在系统启动之后会加载bcm2835-v4l2这个模块,这个模块在树莓派系统的/lib/modules/xxx/xxx/xxx下面,添加之后重启系统,就会在/dev/下面发现video0设备节点了。

# 在/etc/modules里添加这一行
bcm2835-v4l2

这样之后就可以用opencv调用,可以尝试执行如下代码进行验证:

import numpy as np
import cv2 as cv


def take_photo():
    cap = cv.VideoCapture(0)
    ret, photo = cap.read()
    if ret:
        print "take photo successfuly"
        cv.imwrite("./photo.png", photo)
    else:
        print "Error! Photo failed!"


if __name__ == "__main__":
    take_photo()

看看是否生成./photo.png照片。

也可以用mplaer播放器播放试试

sudo apt-get install mplayer
sudo mplayer tv://
  • 0
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
树莓派4B是一款功能强大的单板计算机,可以通过Python编程语言轻松地调用CSI摄像头。 在开始之前,我们需要确保树莓派4B的操作系统已经安装并正确配置。接下来,我们需要连接CSI摄像头树莓派摄像头接口上。 首先,我们需要通过树莓派的配置界面打开摄像头功能。在终端输入以下命令: sudo raspi-config 然后选择"Interfacing Options",进入子菜单后选择“Camera”,并选择启用CSI摄像头。接下来,重新启动树莓派以使配置生效。 接下来,我们可以使用Python的picamera库来调用CSI摄像头。首先,我们需要确保已经安装了picamera库。在终端使用以下命令安装: sudo apt-get update sudo apt-get install python-picamera 一旦安装完成,我们可以通过编写Python代码来调用CSI摄像头。以下是一个简单的示例代码: ```python import picamera import time # 创建摄像头对象 camera = picamera.PiCamera() # 设置摄像头的分辨率 camera.resolution = (640, 480) # 开始预览摄像头画面 camera.start_preview() # 等待3秒钟 time.sleep(3) # 拍摄一张照片 camera.capture('image.jpg') # 停止预览 camera.stop_preview() # 关闭摄像头 camera.close() ``` 这个示例代码使用picamera库创建了一个摄像头对象,并设置了摄像头的分辨率为640x480像素。然后,它开始预览摄像头的画面,等待3秒钟后拍摄一张照片,并保存为image.jpg。最后,停止预览并关闭摄像头。 以上就是使用树莓派4B通过Python调用CSI摄像头的简单步骤。你可以根据自己的需求进行更复杂的摄像头操作和图像处理。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值