OAK-FFC 分体式相机使用入门介绍

概述

OAK FFC 主控板和多种可选配镜头模组非常适合灵活的搭建您的3D人工智能产品原型。由于镜头是分体式的,因此你可以根据需要测量的距离,自定义深度相机安装基线,并根据你的项目要求(分辨率、快门类型、FPS、光学元件)选择镜头模组。

OAK FFC 主控板

OAK FFC主控板具有板载 VPU 并具有外置的 FFC 连接器的 OAK 设备,你可以将 OAK FFC 相机模块连接到这些连接器。此外,它们还公开了 串口,GPIO口等外部接口,因此可以进一步扩展。

以下是我们当前的 OAK FFC 主控板列表:

FFC镜头模组

以下是可以选配的 OAK FFC 相机模组,你可以使用软排线轻松将其连接到任OAK FFC 主板上,我们后期会努力提供更多支持的 OAK FFC 相机模组。

FFC相机模组

快门

分辨率

备注

OAK-FFC-IMX378 (AF)

卷帘快门

12 MP

彩色,自动对焦

OAK-FFC-IMX378-FF

卷帘快门

12 MP

彩色,定焦

OAK-FFC-IMX378-W

卷帘快门

12 MP

彩色、定焦、广角

OAK-FFC-OV9282

全局快门

1 MP

单色,定焦

OAK-FFC-OV9282-M12

全局快门

1 MP

单色,M12 接口

OAK-FFC-OV9282-W

全局快门

1 MP

单色、定焦、广角

OAK-FFC-OV9782-M12

全局快门

1 MP

彩色,M12 接口

OAK-FFC-OV9782-W

全局快门

1 MP

彩色、定焦、广角

OAK-FFC IMX582

卷帘快门

32 MP

彩色,自动对焦

OAK-FFC-IMX577-M12

卷帘快门

12 MP

彩色,M12 接口

OAK-FFC-IMX214-W

卷帘快门

13 MP

彩色、定焦、广角

OAK-FFC-AR0234-M12

全局快门

2.3 MP

彩色,M12 接口

OAK-FFC-IMX462 (M12)

卷帘快门

2 MP

彩色,定焦

Arducam HQ Cam for RPi, IMX477

卷帘快门

12.3 MP

彩色,CS卡口镜头

Raspberry Pi 摄像头模块

树莓派官方销售的一些镜头模组可以和OAK FFC主控板兼容。RPi相机可以通过RPi相机适配器连接到OAK FFC主控板上。

RPi 摄像头模块

传感器

快门

像素

备注

RPi 摄像头模块3

IMX708

卷帘快门

12 MP

彩色,自动对焦。初始 (WIP) 集成

RPi 摄像头模块 2

IMX219

卷帘快门

8 MP

彩色,定焦。需要 imx219 分支

RPi 高品质相机

IMX477

卷帘快门

12 MP

彩色,C/CS 卡口

RPi全局快门相机

IMX296

全局快门

1.6 MP

彩色,C/CS 卡口

如果您只想使用 IMX477,我们建议使用 Arducam HQ Cam for RPi,IMX477可直接与 OAK FFC 主控板配合使用(不带 UC-244 适配器)

FFC相机安装

OAK-FFC 配件是安装 OAK FFC 相机模块的支架,它允许您轻松自定义水平和垂直立体声基线。你可以从我们的商店购买。有关用法,请参阅此处的说明。

M12 卡口镜头

上述一些 FFC 相机模块具有 M12 卡口,因此您可以使用各种不同的镜头(用于自定义 FoV),例如:

  • 10 个不同 M12 镜头的套件(用于测试目的)

  • M25156H14 (HFoV: 141°)

  • M40180H10 (HFoV: 100°)

  • M2506ZH04 (HFoV: 33°)

  • 其他

M12 可选 FOV

使用 2 个 OAK-FFC-IMX477-M12 和两个不同的 M12 镜头进行测试:20° FOV 和 190° FOV。

OAK-FFC-IMX477-M12 FOV 和广角 FOV M12 镜头的并排比较:

从鸟瞰图进行测试设置:

使用 OAK FFC 进行开发

1. 安装要求

根据你使用的 FFC 设备,您可以查看入门指南,了解以下任一信息:

USB 部署指南​

PoE 部署指南​

安装dependencies和 depthai 库后,您可以开始使用 OAK FFC 设备进行开发。

2. 测试配置

将镜头连接到主控板后,你可以使用utilities/cam_test.py脚本快速测试镜头是否按预期工作。默认情况下,它将尝试在 2 通道 MIPI 端口 B(左)和 C(右)上运行 2 个单色摄像头,在端口 A (RGB) 和 D(4 通道 MIPI 端口)上运行 2 个彩色摄像头。

如果连接了不同的摄像机,则可以指定要与参数一起使用的--cameras摄像机类型:

Command Line 命令行cam_test.py [-h] [--cameras <BoardSocket>,<CameraType>]

例如,如果您有 3 个单色摄像头连接到端口 A、B 和 C,则可以运行以下命令:

Command Line 命令行python3 cam_test.py --cameras rgb,m right,m left,m

3. 在代码中运行

要将此类配置添加到脚本中,可以使用以下代码

cam_a = pipeline.create(dai.node.MonoCamera)
cam_a.setBoardSocket(dai.CameraBoardSocket.CAM_A) # Same as CameraBoardSocket.RGB
cam_a.setResolution(dai.MonoCameraProperties.SensorResolution.THE_400_P)cam_b = pipeline.create(dai.node.MonoCamera)
cam_b.setBoardSocket(dai.CameraBoardSocket.CAM_B) # Same as CameraBoardSocket.LEFTcam_c = pipeline.create(dai.node.MonoCamera)
cam_c.setBoardSocket(dai.CameraBoardSocket.CAM_C) # Same as CameraBoardSocket.RIGHTcam_d = pipeline.create(dai.node.MonoCamera)
cam_d.setBoardSocket(dai.CameraBoardSocket.CAM_D)

auto cam_a = pipeline.create<dai::node::MonoCamera>();
cam_a->setBoardSocket(dai::CameraBoardSocket::CAM_A); // Same as CameraBoardSocket::RGB
cam_a->setResolution(dai::MonoCameraProperties::SensorResolution::THE_400_P);auto cam_b = pipeline.create<dai::node::MonoCamera>();
cam_b->setBoardSocket(dai::CameraBoardSocket::CAM_B); // Same as CameraBoardSocket::LEFTauto cam_c = pipeline.create<dai::node::MonoCamera>();
cam_c->setBoardSocket(dai::CameraBoardSocket::CAM_C); // Same as CameraBoardSocket::RIGHTauto cam_d = pipeline.create<dai::node::MonoCamera>();
cam_d->setBoardSocket(dai::CameraBoardSocket::CAM_D);
 

扩展功能

1. PSRBS 连接器

OAK-FFC-4P 具有 PSRBS 连接器,允许用户轻松地将 OAK 相机连接到外部逻辑。您可以使用 PSRBS cable连接到此连接器

pin

名称

介绍

1

VDD_5V

5V电源输入/输出

2

STROBE

频闪信号输出,可驱动外部照明(投影仪、照明灯等)

3

MODULE_nRST

允许从外部源重置 OAK-FFC(GND 将重置 RVC2,与 RST 按钮相同)

4

BOOT_SEL

允许选择是否启动到引导加载程序(1.8V将跳过引导加载程序,与BOOT按钮相同)

5

COM_AUX_IO2

2-land MIPI FSYNC 信号输入/输出

6

FSIN_4LANE

4-land MIPI FSYNC 信号输入/输出

7

GND

GND 电源输入/输出

2. 连接 IR 模块

如果你有 OAK-FFC-4P R5 或更高版本,并且希望使用 OAK-FFC-IR 模块,必须首先确定配置哪个镜头将 STROBE 信号驱动连接 IR 模块的连接器。连接器位于交换机的左侧(J12,见下图)

如果你在CAM_B和CAM_C上拥有一对立体声摄像头,并且希望将点投影仪与立体声摄像头同步,则应将开关 2 或 3 向上移动 。请记住,一次只能启动一个开关。

3. UART

某些 OAK FFC 设备上具有 UART端口,因此您可以使用它与其他设备进行通信。例如,您可以将 GPS 模块连接到 UART 端口,并在应用程序中获取 GPS 数据。

要在应用程序中使用 UART,请查看

UART示例​

4. UART 引脚排列

引脚排列取决于您使用的电路板。以下是 OAK-FFC 器件的 UART 引脚排列:

OAK-FFC设备

TX

RX

OAK-FFC-4P

15

16

OAK-FFC-4P POE OAK-FFC-4P POE电设备

/

/

OAK-FFC-1P POE OAK-FFC-1P POE电设备

45

46

OAK-FFC-3P

/

/

5. SD 卡支持

SD 卡功能仅供社区支持,仍应在单独的 depthai 分支上运行,但不会经常更新。

您可以使用 SD 卡来存储来自正在运行的设备的数据(日志/图像/配置) - 请参阅示例。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/49012.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

微前端--qiankun(3)

微前端–qiankun(3) 微前端的运行原理 监听路由变化匹配子应用加载子应用渲染子应用 监听路由变化 window.onhashchange 和window.addEventListener(popstate,() > {})等等&#xff0c;下篇文章我写个 匹配子应用 const currentApp apps.find(app > window.locati…

FPGA教程|零基础到实战的全方位指导

在数字化时代&#xff0c;FPGA&#xff08;现场可编程门阵列&#xff09;作为一种灵活的硬件编程平台&#xff0c;正逐渐成为电子工程师和计算机科学家必备的技能之一。无论你是电子专业的学生&#xff0c;还是职场中的工程师&#xff0c;掌握FPGA开发技术&#xff0c;都将为你…

前端与HTML

前端与HTML 什么是前端&#xff1f; 解决GUI人机交互问题跨终端&#xff08;PC/移动浏览器&#xff09;&#xff08;客户端小程序&#xff09;&#xff08;VR/AR等&#xff09;Web技术栈 前端工程师&#xff1a;利用web技术栈解决多端图形界面用户交互的工程师 前端技术栈 …

CDGA|数据治理:安全如何贯穿数据供给、流通、使用全过程

随着信息技术的飞速发展&#xff0c;数据已经成为企业运营、社会管理和经济发展的核心要素。然而&#xff0c;数据在带来巨大价值的同时&#xff0c;也伴随着诸多安全风险。因此&#xff0c;数据治理的重要性日益凸显&#xff0c;它不仅仅是对数据的简单管理&#xff0c;更是确…

Lua 类管理器

Lua 类管理器 -- ***** Class Manager 类管理*****‘local ClassManager {}local this ClassManagerfunction ClassManager.Class(className, ...)print(ClassManager::Class)--print(className)-- 构建类local cls {__className className}--print(cls)-- 父类集合local …

rv1126物体检测 rkmedia、opencv……

整体码流流向&#xff1a; 因此代码也分为这几部分&#xff1a; VI&#xff1a;采集视频 配置视频采集信息 模型推理线程&#xff1a;获取VI码流、载入模型、进行模型推理、保存推理结果 画框线程&#xff1a;获取VI码流、获取推理结果、显示推理结果、输出码流到VENC VENC…

LeetCode-day25-2844. 生成特殊数字的最少操作

LeetCode-day25-2844. 生成特殊数字的最少操作 题目描述示例示例1&#xff1a;示例2&#xff1a;示例3&#xff1a; 思路代码 题目描述 给你一个下标从 0 开始的字符串 num &#xff0c;表示一个非负整数。 在一次操作中&#xff0c;您可以选择 num 的任意一位数字并将其删除…

如何使用C#快速创建定时任务

原文链接&#xff1a;https://www.cnblogs.com/zhaotianff/p/17511040.html 使用Windows的计划任务功能可以创建定时任务。 使用schtasks.exe可以对计划任务进行管理&#xff0c;而不需要编写额外代码 这里掌握schtasks /CREATE 的几个核心参数就可以快速创建计划任务 /SC …

vue3响应式转换常用API

响应式常用API ref 相关&#xff1a;toRef、toRefs、unRef只读代理&#xff1a;readonly判断相关&#xff1a;isRef、isReactive、isProxy、isReadonly3.3新增API&#xff1a;toValue ref相关 toRef&#xff1a;基于响应式对象的某一个属性&#xff0c;将其转换为 ref 值 i…

必修-场景题

场景题 1. 树遍历二叉树三叉树 2. 并发问题架构设计前端后端NginxSpring Cloud Gateway和限流的依赖&#xff1a; 处理优惠券的缓存逻辑&#xff1a;处理优惠卷HTTP请求&#xff1a;实现令牌桶算法请求限流一秒 用Resilience4j实现降级策略在 application.yml 或 application.p…

论文总结:A Survey on Evaluation of Large Language Models-鲁棒性相关内容

A Survey on Evaluation of Large Language Models 只取了鲁棒性相关的内容 LLMs&#xff1a;《A Survey on Evaluation of Large Language Models大型语言模型评估综述》理解智能本质(具备推理能力)、AI评估的重要性(识别当前算法的局限性设 3.2.1 Robustness鲁棒性&#xf…

Gitlab以及分支管理

一、概述 Git 是一个分布式版本控制系统&#xff0c;用于跟踪文件的变化&#xff0c;尤其是源代码的变化。它由 Linus Torvalds 于 2005 年开发&#xff0c;旨在帮助管理大型软件项目的开发过程。 二、Git 的功能特性 Git 是关注于文件数据整体的变化&#xff0c;直接会将文件…

php将数字转为中文汉字

记录&#xff1a;php将数字转为中文汉字 if (!function_exists(num_to_cn_money)) {// 金额数字转汉字function num_to_cn_money($num, $mode true, $sim false){if (!is_numeric($num)) return 含有非数字非小数点字符&#xff01;;$char $sim ? array(零, 一, 二, 三, 四…

HTTP模块(二)

HTTP 设置 HTTP 响应报文 HTTP报文常见属性&#xff1a; const http require(http);const server http.createServer((request, response) > {// 设置请求状态码 2xx 4xx 5xxresponse.statusCode 200;// 设置请求描述 了解即可response.statusMessage hello// 指定响…

谷粒商城实战笔记-59-商品服务-API-品牌管理-使用逆向工程的前后端代码

文章目录 一&#xff0c; 使用逆向工程生成的代码二&#xff0c;生成品牌管理菜单三&#xff0c;几个小问题 在本次的技术实践中&#xff0c;我们利用逆向工程的方法成功地为后台管理系统增加了品牌管理功能。这种开发方式不仅能快速地构建起功能模块&#xff0c;还能在一定程度…

uni-app声生命周期

应用的生命周期函数在App.vue页面 onLaunch:当uni-app初始化完成时触发&#xff08;全局触发一次&#xff09; onShow:当uni-app启动&#xff0c;或从后台进入前台时显示 onHide:当uni-app从前台进入后台 onError:当uni-app报错时触发,异常信息为err 页面的生命周期 onLoad…

如何使用RESTful API构建 web 应用程序。

RESTful API&#xff08;Representational State Transferful Application Programming Interface&#xff09;是一种架构风格&#xff0c;用于设计网络应用程序的 API。它基于 HTTP 协议&#xff0c;使用不同的 HTTP 动词&#xff08;GET、POST、PUT、DELETE&#xff09;执行不…

rust 初探 -- 枚举和模式匹配

rust 初探 – 枚举和模式匹配 定义枚举 enum IpAddrKind {// 将数据附加到枚举的变体中// - 不需要额外使用 struct// - 每个变体可以拥有不同的类型以及关联的数据量V4(String), V6(String), }可以使用 impl 为枚举定义方法 enum IpAddrKind {a,b(String),c{x: i32, y: i32}…

Linux-安装VMware-01

一、认识linux Linux 是一个开源的类 Unix 操作系统&#xff0c;由林纳斯托瓦兹&#xff08;Linus Torvalds&#xff09;于1991年首次发布。Linux 是许多计算机硬件的底层操作系统&#xff0c;特别是服务器、嵌入式系统和个人电脑。它支持多种架构&#xff0c;包括 x86、x64、A…

算法学习笔记(8.8)-多重背包

目录 Question: 思路解析&#xff1a; 代码示例 多重背包的优化问题&#xff1a; 1.二进制优化 代码示例&#xff1a; 2.单调队列优化(滑动窗口) 代码示例 Question: 4. 多重背包问题 I - AcWing题库https://www.acwing.com/problem/content/description/4/ 多重背包简单来说其…