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

devtools/2024/9/24 2:15:49/

概述

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.ppmy.cn/devtools/85276.html

相关文章

Redis-缓存

什么是缓存&#xff1f; 缓存就像自行车和越野车的避震器&#xff0c;降低硬着陆造成的损害 缓存就是系统的避震器&#xff0c;,防止过高的数据访问猛冲系统,导致其操作线程无法及时处理信息而瘫痪 缓存(Cache),就是数据交换的缓冲区,俗称的缓存就是缓冲区内的数据,一般从数…

Live555源码阅读笔记:哈希表的实现(C++)

&#x1f601;博客主页&#x1f601;&#xff1a;&#x1f680;https://blog.csdn.net/wkd_007&#x1f680; &#x1f911;博客内容&#x1f911;&#xff1a;&#x1f36d;嵌入式开发、Linux、C语言、C、数据结构、音视频&#x1f36d; &#x1f923;本文内容&#x1f923;&a…

python_合并同一个文件夹下的excel文件

python_合并同一个文件夹下的excel文件 import os import glob import pandas as pddef merge_excel_sheets(input_folder, output_file):# 创建一个空的 DataFrame 用于存储所有数据combined_data pd.DataFrame()# 获取指定文件夹内所有的 Excel 文件excel_files glob.glob…

哪里可以查找短视频素材?6个素材查找下载渠道分享!

在短视频的风靡浪潮中&#xff0c;不少创作者纷纷投身于这一领域&#xff0c;无论是分享生活点滴还是进行商业宣传&#xff0c;高质量的短视频内容总能吸引众多观众的目光。然而&#xff0c;精良的短视频制作离不开优质的素材支持。本文将为大家介绍6个优秀的高质量短视频素材下…

Centos7下安装配置最新版本Jenkins

1、基础环境配置 1.1 服务器下载Jenkins安装包 下载地址&#xff1a;Download and deploy 下载命令&#xff1a;wget https://get.jenkins.io/war-stable/2.452.3/jenkins.war 1.2 服务器安装配置JDK Jenkins 是基于 Java 语言开发的&#xff0c;因此需要 Java 运行环境支…

Mac应用快速启动器:Alfred 5 for Mac 激活版

Alfred 5 是一款专为 macOS 系统设计的效率提升工具。这款软件以其快速启动和高效操作功能著称&#xff0c;通过使用快捷键来呼出输入界面&#xff0c;用户可以快速完成各种任务。 最新版本 Alfred 5.5 引入了一些新功能。其中包括整合了 ChatGPT 和 DALL-E&#xff0c;这意味…

oracle使用backup as copy方式迁移数据文件

oracle使用backup as copy方式迁移数据文件 1 基础环境 --确认数据文件路径 set line 200 col name for a75 select file#,name from v$datafileFILE# NAME ---------- ---------------------------------------------------------------------------1 /u01/app/oracle/orada…

Mysql高阶语句

Mysql高阶语句 去重查询 : distinct 1、创建库 create database xy102;create table info ( id int primary key, name varchar(10), score decimal(5,2), address varchar(20), hobbid int(5) );insert into info values(1,liuyi,80,beijing,2); insert into info values(2…