【一】树莓派使用Python Opencv打开CSI摄像头

本文介绍了如何在树莓派上配置摄像头并使用Python的OpenCV库进行视频捕获和显示。首先确保摄像头正确连接,通过raspi-config设置,重启后检查设备识别。接着,通过Python代码实现摄像头的读取与显示,循环读帧并展示,当按下ESC键时释放资源并退出程序。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、首先你先得有一个摄像头

把他插上树莓派
在这里插入图片描述

二、配置摄像头

sudo raspi-config

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
重启树莓派

重启完然后使用命令

ls /dev/video*

在这里插入图片描述
看到video0就看到了摄像头成功被识别啦

三、使用Python OpenCV打开摄像头

代码

import cv2 as cv

def video_demo():
    capture=cv.VideoCapture(0) 
    while(True):
        ref,frame=capture.read()
        cv.imshow("1",frame)
        c= cv.waitKey(30) & 0xff 
        if c==27:
            capture.release()
            break
video_demo()
cv.waitKey()
cv.destroyAllWindows()

然后运行程序
在这里插入图片描述

成功

### 如何在树莓派使用OpenCV打开并配置CSI摄像头 #### 验证硬件连接与支持情况 为了确认CSI摄像头是否被正确识别和支持,在终端执行命令`vcgencmd get_camera`可以查看当前设备对于CSI接口的支持状态以及是否有摄像头模块接入[^3]。 #### 安装必要的软件包 由于新版本树莓派及其操作系统转向采用libcamera库作为底层驱动程序,这可能导致传统方式通过OpenCV直接访问CSI摄像头遇到困难。因此建议先安装专门针对树莓派优化过的Raspicam摄像头库来增强兼容性和功能特性[^2]: ```bash sudo apt update && sudo apt install libraspberrypi-bin raspberrypi-kernel-headers python3-pip pip3 install imutils opencv-python-headless picamera[array] ``` #### 修改系统设置以启用相机功能 尽管某些新型号的树莓派可能存在图形化界面中的`raspi-config`工具缺少Camera选项的现象[^1],仍然可以通过编辑配置文件的方式手动激活摄像机服务: ```bash sudo nano /boot/config.txt ``` 向文件末尾追加如下行以确保启动时加载相应的内核模块和服务: ``` start_x=1 gpu_mem=128 dtoverlay=imx219 # 或者 dtoverlay=mipi-csi-imx477 对于不同型号的传感器做适当调整 ``` 保存更改后重启系统使新的设定生效。 #### 编写Python脚本实现视频流捕获 基于上述准备工作完成后,下面给出段简单的Python代码用于测试能否成功读取来自CSI摄像头的数据帧并显示出来[^4]: ```python import cv2 as cv def video_demo(): capture = cv.VideoCapture('libcamerasrc ! video/x-raw, width=640, height=480 ! videoflip method=rotate-180 ! appsink', cv.CAP_GSTREAMER) while True: ret, frame = capture.read() if not ret: print("Failed to grab frame") break cv.imshow("Video Stream from CSI Camera", frame) key = cv.waitKey(30) & 0xFF if key == ord('q') or key == 27: # ESC键退出循环 break capture.release() cv.destroyAllWindows() if __name__ == "__main__": video_demo() ``` 这段代码尝试创建个GStreamer管道字符串指定使用libcamera源,并设置了分辨率参数;同时考虑到实际应用场景中可能存在的旋转需求加入了翻转操作。如果切正常的话应该可以看到窗口里播放着由内置CSI摄像头捕捉到的画面。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值