开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 459|回复: 10
打印 上一主题 下一主题
收起左侧

[其它源码] OAK深度相机 简单调用范例

[复制链接]
结帖率:88% (80/91)
跳转到指定楼层
楼主
发表于 2025-4-30 11:31:22 | 只看该作者 |只看大图 回帖奖励 |正序浏览 |阅读模式   江苏省苏州市
分享源码
界面截图: -
是否带模块: 纯源码
备注说明: -
  
窗口程序集名保 留  保 留备 注
程序集1   
子程序名返回值类型公开备 注
_启动子程序整数型 本子程序在程序启动后最先执行
变量名类 型静态数组备 注
数据处理管道OAK数据处理管线类创建一个数据处理管道,用于组织和管理设备上的节点和数据流
彩色相机节点OAK彩色相机类 
深度OAK立体深度类 
外部输出流OAK外部链接输出类 
单左OAK单目相机类 
单右OAK单目相机类 
深度图输出流OAK外部链接输出类 
左外部输出OAK外部链接输出类 
设备OAK设备类 
彩色RGB帧队列OAK数据输出队列类 
深度帧队列OAK数据输出队列类 
左相机帧队列OAK数据输出队列类 
状态逻辑型 
OAK已连接设备信息OAK设备信息0
OAK已连接设备数量整数型 
OAK已连接设备信息 = OAK_获取所有可用设备 ()
OAK已连接设备数量 = 取数组成员数 (OAK已连接设备信息)
如果真 (OAK已连接设备数量 > 0)
调试输出 (OAK已连接设备数量, OAK已连接设备信息 [OAK已连接设备数量].设备名称)
' 定义彩色 RGB 相机节点,用于捕获彩色图像
彩色相机节点 = 数据处理管道.创建彩色相机节点 ()
' 设置彩色相机预览图像的分辨率为 640x400 像素
彩色相机节点.设置预览流分辨率 (640, 400)
彩色相机节点.设置交错 ()
' 创建一个 XLinkOut 节点,用于将数据通过 XLink 协议从设备传输到主机
外部输出流 = 数据处理管道.创建输出节点 ()
' 为输出流命名为 "rgb",方便后续在主机端识别和获取该流的数据
外部输出流.设置流的名称 (“rgb”)
' 将彩色相机的预览输出连接到 XLinkOut 节点的输入,以便将彩色图像数据传输到主机
彩色相机节点.预览 ().链接 (外部输出流.输入 ())
' 创建左单目相机节点,用于捕获左侧的单目图像
单左 = 数据处理管道.创建单相机节点 ()
' 创建右单目相机节点,用于捕获右侧的单目图像
单右 = 数据处理管道.创建单相机节点 ()
' 设置左单目相机的分辨率为 400P
单左.设置分辨率 ( #OAK_单摄相机_分辨率_400P )
' 指定左单目相机使用的硬件板载插槽为 CAM_B
单左.设置相机板载插槽 ( #OAK_插槽_B )
' 设置右单目相机的分辨率为 400P
单右.设置分辨率 ( #OAK_单摄相机_分辨率_400P )
' 指定右单目相机使用的硬件板载插槽为 CAM_C
单右.设置相机板载插槽 ( #OAK_插槽_C )
' 创建 StereoDepth 节点,用于计算左右单目相机图像之间的视差,从而生成深度图
深度 = 数据处理管道.创建立体深度节点 ()
' 将左单目相机的输出连接到 StereoDepth 节点的左输入
单左.输出 ().链接 (深度. ())
' 将右单目相机的输出连接到 StereoDepth 节点的右输入
单右.输出 ().链接 (深度. ())
' 创建一个 XLinkOut 节点,用于将深度图数据通过 XLink 协议从设备传输到主机
深度图输出流 = 数据处理管道.创建输出节点 ()
' 为深度图输出流命名为 "depth",方便后续在主机端识别和获取该流的数据
深度图输出流.设置流的名称 (“depth”)
' 将 StereoDepth 节点的深度图输出连接到 XLinkOut 节点的输入
深度.深度 ().链接 (深度图输出流.输入 ())
' 建一个 XLinkOut 节点,用于将左单目相机的图像数据通过 XLink 协议从设备传输到主机
左外部输出 = 数据处理管道.创建输出节点 ()
' 为左单目相机输出流命名为 "left",方便后续在主机端识别和获取该流的数据
左外部输出.设置流的名称 (“left”)
' 将左单目相机的输出连接到 XLinkOut 节点的输入
单左.输出 ().链接 (左外部输出.输入 ())
' 设置深度图的输出分辨率为 640x400 像素,与彩色图像分辨率保持一致
深度.设置输出分辨率 (640, 400)
' 置深度图与彩色相机的图像对齐,以便深度信息能准确对应到彩色图像上
深度.设置深度对齐 ( #OAK_插槽_A )
' 尝试连接到支持 DepthAI 的设备,并将之前创建的管道部署到该设备上
设备.初始化 (数据处理管道)
' 设置红外激光点阵投影仪的强度为 0 mA,即关闭该功能
设备.设置红外激光点投影仪强度 (0, -1)
' 设置红外泛光灯的强度为 0 mA,即关闭该功能
设备.设置红外泛光灯强度 (0, -1)
' 获取名为 "rgb" 的输出队列,用于接收彩色图像数据,队列最大容量为 4,不进行阻塞操作
彩色RGB帧队列 = 设备.获取输出队列 (“rgb”, 4, )
' 获取名为 "depth" 的输出队列,用于接收深度图数据,队列最大容量为 4,不进行阻塞操作
深度帧队列 = 设备.获取输出队列 (“depth”, 4, )
' 获取名为 "left" 的输出队列,用于接收左单目相机的图像数据,队列最大容量为 4,不进行阻塞操作
左相机帧队列 = 设备.获取输出队列 (“left”, 4, )
' 进入一个循环,持续从设备接收和处理图像数据
判断循环首 (状态)
彩色RGB帧队列.图像帧 (&回调)
深度帧队列.图像帧 (&回调)
左相机帧队列.图像帧 (&回调)
判断循环尾 ()

返回 (0)  ' 可以根据您的需要返回任意数值
子程序名返回值类型公开备 注
回调  
参数名类 型参考可空数组备 注
帧数据指针整数型
整数型
整数型
数据类型整数型
变量名类 型静态数组备 注
图像数据矩阵类 
B通道数据矩阵类 
G通道数据矩阵类 
R通道数据矩阵类 
彩色图数据矩阵类 
面积整数型 
通道图层数组容器 
判断 (数据类型 = #OAK_图像帧_类_BGR888p )
面积 = 宽 × 高
B通道.初始化指针 (宽, 高, #矩阵_单通道字节型U, 帧数据指针 + 面积 × 0, 0)
G通道.初始化指针 (宽, 高, #矩阵_单通道字节型U, 帧数据指针 + 面积 × 1, 0)
R通道.初始化指针 (宽, 高, #矩阵_单通道字节型U, 帧数据指针 + 面积 × 2, 0)
通道图层.加入数据矩阵类 (B通道)
通道图层.加入数据矩阵类 (G通道)
通道图层.加入数据矩阵类 (R通道)
视觉_合并通道 (通道图层, 彩色图)
视觉_显示图像 (“小白鼠0”, 彩色图)
判断 (数据类型 = #OAK_图像帧_类_RAW8 )
图像.初始化指针 (宽, 高, #矩阵_字节型无符号, 帧数据指针, 0)
视觉_显示图像 (“小白鼠1”, 图像)
判断 (数据类型 = #OAK_图像帧_类_RAW16 )
图像.初始化指针 (宽, 高, #矩阵_短整型无符号, 帧数据指针, 0)
视觉_显示图像 (“小白鼠2”, 图像)
判断 (数据类型 = #OAK_图像帧_类_RGB888p )
面积 = 宽 × 高
B通道.初始化指针 (宽, 高, #矩阵_单通道字节型U, 帧数据指针 + 面积 × 2, 0)
G通道.初始化指针 (宽, 高, #矩阵_单通道字节型U, 帧数据指针 + 面积 × 1, 0)
R通道.初始化指针 (宽, 高, #矩阵_单通道字节型U, 帧数据指针 + 面积 × 0, 0)
通道图层.加入数据矩阵类 (B通道)
通道图层.加入数据矩阵类 (G通道)
通道图层.加入数据矩阵类 (R通道)
视觉_合并通道 (通道图层, 彩色图)
视觉_显示图像 (“小白鼠0”, 彩色图)



视觉_等待按键 (1)


i支持库列表   支持库注释   
OAK(未知支持库)
spec特殊功能支持库
OpenCV(未知支持库)


结帖率:88% (80/91)

签到天数: 8 天

11
 楼主| 发表于 2025-5-2 07:59:42 | 只看该作者   江苏省苏州市
eklove 发表于 2025-5-1 21:50
这帖子哈,标题党啊!说好的“简单”呢?代码都快比脸还大了~


只做  案例备份
回复 支持 反对

使用道具 举报

签到天数: 10 天

10
发表于 2025-5-1 21:50:00 | 只看该作者   山东省青岛市
这帖子哈,标题党啊!说好的“简单”呢?代码都快比脸还大了~
回复 支持 反对

使用道具 举报

结帖率:80% (4/5)
9
发表于 2025-5-1 17:46:03 | 只看该作者   山东省潍坊市
已经顶贴,感谢您对论坛的支持!
回复 支持 反对

使用道具 举报

结帖率:100% (4/4)

签到天数: 10 天

8
发表于 2025-5-1 17:06:18 | 只看该作者   山东省淄博市
感谢分享
回复 支持 反对

使用道具 举报

签到天数: 9 天

7
发表于 2025-5-1 10:52:22 | 只看该作者   广东省广州市
学习一下
回复 支持 反对

使用道具 举报

结帖率:96% (410/429)

签到天数: 6 天

6
发表于 2025-5-1 09:14:38 | 只看该作者   内蒙古自治区乌海市
感谢分享
回复 支持 反对

使用道具 举报

结帖率:33% (1/3)
地下
发表于 2025-4-30 19:31:42 | 只看该作者   广东省佛山市
支持开源~!感谢分享
回复 支持 反对

使用道具 举报

结帖率:100% (1/1)

签到天数: 1 天

地板
发表于 2025-4-30 14:54:17 | 只看该作者   广东省江门市
支持开源~!感谢分享
回复 支持 反对

使用道具 举报

结帖率:100% (1/1)

签到天数: 7 天

板凳
发表于 2025-4-30 14:30:57 | 只看该作者   内蒙古自治区兴安盟
厉害
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:[email protected]
网站简介:精易论坛成立于2009年,是一个程序设计学习交流技术论坛,隶属于揭阳市揭东区精易科技有限公司所有。
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表