在树莓派上使用自带的摄像头采集视频

需要安装的 Python 包

  1. OpenCV:用于处理图像和视频。
  2. PiCamera(可选):如果你使用的是官方的 Raspberry Pi Camera Module,可以通过 opencv 直接访问,也可以安装 picamera 库用于更深层次的控制。
安装步骤

先确认摄像头模块已经启用:

  1. 在终端中运行:
    sudo raspi-config
    
  2. 在菜单中找到 Interface Options,选择 Camera,并启用。
  3. 重启树莓派:
    sudo reboot
    

然后安装好需要的库,可以参考:
树莓派–OpenCV安装踩坑
树莓派明明安装了opencv和numpy,却找不到


测试摄像头状态

ls /dev/video*  

如果有 video0 就说明摄像头没有问题


如果读取不到摄像头,可能原因

  1. 摄像头被其他进程占用

    • 如果其他程序(例如 raspividmotion 或 OpenCV)正在使用摄像头,picamera 库将无法初始化连接。
  2. 摄像头配置不正确

    • 树莓派的摄像头模块可能未正确启用或初始化。
  3. 设备节点冲突

    • 如果有多个视频设备,系统可能尝试分配错误的设备节点。
  4. 显存不足

    • 树莓派的 GPU 内存分配不足,无法满足 picamera 的需求。

解决方法

** 1:检查摄像头是否被占用**
  1. 使用以下命令查找使用摄像头的进程:
    lsof /dev/video0
    
  2. 如果有输出,说明某个进程正在使用摄像头,记录下进程 ID (PID),然后终止它:
    kill -9 <PID>
    

** 2:重启摄像头模块**
  1. 禁用并重新启用摄像头模块:

    sudo modprobe 
### 树莓派上通过摄像头模块采集照片 要在树莓派使用摄像头模块采集照片,可以按照以下方式操作。以下是基于 USB 摄像头和 CSI 摄像头的两种不同方法。 #### 使用 USB 摄像头拍摄照片 对于 USB 摄像头,可以通过 `fswebcam` 工具来捕获图像。首先需要安装此工具: ```bash sudo apt update sudo apt install fswebcam ``` 完成安装后,运行以下命令即可拍摄一张照片并保存到指定路径: ```bash fswebcam /home/pi/image.jpg ``` 这条命令会调用默认的 USB 摄像头拍摄一张图片,并将其存储为 `/home/pi/image.jpg` 文件[^1]。 如果希望调整分辨率或其他参数,可以在命令中加入额外选项。例如设置分辨率为 1920x1080 并添加时间戳: ```bash fswebcam -r 1920x1080 --timestamp "%Y-%m-%d %H:%M:%S" /home/pi/high_res_image.jpg ``` #### 使用 Motion 实现动态监控功能 为了实现实时视频流或者定时拍照的功能,还可以利用软件包 `motion` 来管理摄像头的工作状态。具体步骤如下所示: 1. 安装 motion 软件包: ```bash sudo apt-get install motion ``` 2. 配置 motion 的工作模式以适应个人需求。编辑配置文件通常位于 `/etc/motion/motion.conf` 中。修改一些关键项比如帧率、质量以及目标目录等。 3. 启动 service 或者手动启动程序: ```bash sudo systemctl start motion ``` 这样就可以让系统自动处理来自 USB 摄像头的数据流,并按设定条件触发抓拍动作[^2]。 #### 使用官方 CSI 摄像头拍摄照片 如果是使用的 Raspberry Pi 自带支持的 CSI 接口相机,则推荐采用 `raspistill` 命令来进行静态影像获取。确保已经启用 Camera 功能之后执行下面的操作: ```bash raspistill -o image_csi.jpg ``` 上述指令将会生成一张由硬件加速优化过的高质量 JPEG 图片存放在当前用户的家目录下。 同样也可以自定义更多属性,如曝光补偿(-ex),ISO 设置(iso),旋转角度(rotation)等等。举个例子来说就是创建一个带有特效效果的照片: ```bash raspistill -w 640 -h 480 -rot 180 -ifx sketch -t 5000 -e jpg -q 75 -th none -o custom_effect.jpg ``` 这段脚本设置了宽度高度均为较低值(适合测试用途), 将画面翻转了半圈, 应用了草图风格滤镜等待五秒再结束渲染过程最后输出至custom_effect.jpg当中去. ### 注意事项 无论选用哪种类型的摄像装置都需要确认驱动正常加载完毕并且权限授予充分才能顺利完成整个流程。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值