一步一步学OAK之三:实现RGB相机场景切换

本文介绍如何一步步使用Python和DepthAI库在嵌入式硬件上实现RGB相机的场景和特效切换。主要步骤包括环境配置、依赖安装、创建pipeline、设置节点、建立数据流连接、创建输入输出队列、定义图像处理函数以及主循环中的用户交互。通过遍历所有可用的场景和特效模式,用户可以通过按键选择并实时更新相机设置。

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

Setup 1: 创建文件

  • 创建新建3-rgb-scene文件夹
  • 用vscode打开该文件夹
  • 新建一个main.py 文件

Setup 2: 安装依赖

安装依赖前需要先创建和激活虚拟环境,我这里已经创建了虚拟环境OAKenv,在终端中输入cd…退回到OAKenv的根目录,输入 OAKenv\Scripts\activate激活虚拟环境

安装pip依赖项:

pip install numpy opencv-python depthai blobconverter --user

Setup 3: 导入需要的包

在main.py中导入项目需要的包

import cv2
import depthai as dai
from itertools import cycle

Setup 4: 遍历所有场景模式和特效模式

scenes = cycle([item for name,item in vars(dai.RawCameraControl.SceneMode).items() if name !="UNSUPPORTED" and name.isupper()])
effects = cycle([item for name,item in vars(dai.RawCameraControl.EffectMode).items() if name.isupper()])

curr_scene = "OFF"
curr_effect = "OFF"

这段代码创建了两个无限循环的迭代器sceneseffects,用于循环遍历dai.RawCameraControl.SceneModedai.RawCameraControl.EffectMode中的所有场景模式和特效模式。

scenes迭代器通过从dai.RawCameraControl.SceneMode中选择大写名称的项,并排除UNSUPPORTED和非大写字母的项来创建。这样可以获取到所有合法的场景模式。

effects迭代器通过从dai.RawCameraControl.EffectMode中选择大写名称的项来创建,也排除了非大写字母的项。

curr_scenecurr_effect是当前选择的场景和特效模式,默认为"OFF"。

这段代码的作用是创建了用于循环遍历场景模式和特效模式的迭代器,并初始化当前选择的场景和特效模式为"OFF"。

Setup 5: 创建pipeline

pipeline = dai.Pipeline()

Setup 6: 创建节点

camRgb = pipeline.create(dai.node.ColorCamera)
camRgb.setIspScale(1,3)

xoutRgb = pipeline.create(dai.node.XLinkOut)
xo
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

九仞山

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值