TyCameraResource 图漾相机资源

TyCameraResource 算子属于资源类线程算子,用于在 RVS 的分线程中启动一个图漾相机资源。

通过添加图漾相机资源,实现图漾相机图像和点云的采集。

算子参数

  • 自动启动/auto_start:用于自动开启资源算子。

    • 是/True:打开 RVS 软件后第一次进入运行状态时自动开启资源线程。

    • 否/False:不自动开启资源线程。

  • 启动/start:用于开启资源算子。

    • 是/True:勾选为是,开启资源线程。

    • 否/False:不启动资源线程。

  • 停止/stop:用于停止资源算子。

    • 是/True:勾选为是,停止资源线程。

    • 是/False:不停止资源线程。

  • 重置/reset:重置该资源。该资源算子已经运行后,如果重新更改属性参数,需要点击重置,然后重新勾选 启动 运行。

  • 相机型号/camera_model:默认不填写。连接设备后,根据相机ID显示对应的相机型号。

  • 相机ID/camera_id:默认不填写。在打开该资源线程后会自动查找当前工控机所在网段的所有图漾相机并将这些设备的硬件信息打印在 terminal 中,然后随机选中一台设备进行连接。

    说明:如果需要指定连接某台图漾相机设备,则需要将该设备的编码填写到相机ID选项。编码可以在相机设备硬件上查看,也可以在上述 terminal 的打印信息中查找。

  • 深度图像模式/selected_depth_mode:默认不填写。连接设备后会自动选择并显示深度图的的图像尺寸。

    说明:影响最终形成的点云图的尺寸。后续可以更改,但是需要设置重置选项

  • 彩色图像模式/selected_rgb_mode:默认不填写。连接设备后会自动选择并显示2D图的图像尺寸。

    说明:后续可以更改,但是需要设置重置选项

  • 畸变矫正/undistortion:设置是否对 rgb 进行去畸变处理后再输出。

    • 是/True:对 rgb 进行去畸变处理。

    • 否/False:对 rgb 不进行去畸变处理。

  • 输出彩色图像/output_color:设置是否输出彩色图像。

    • 是/True:输出。

    • 否/False:不输出。

  • 输出深度图像/output_depth:设置是否输出深度图像。

  • 输出左IR图/output_ir_left:设置是否输出左IR图。

  • 输出右IR图/output_ir_right:设置是否输出右IR图。

  • 输出点云/output_cloud:设置是否输出点云。需要勾选输出深度图像输出点云

  • 激光自动控制/laser_auto_ctrl:激光自适应模式。

    • 是/True:激光自动控制。

    • 否/False:根据激光强度数值设置激光的强度。

  • 激光强度/laser_power:设置激光强度。取值范围:[0,100]。

  • 彩色图像Isp/rgb_isp:设置是否对 rgb 图像的预处理。

  • 点云比例/cloud_scale:调整该值设置点云在 RVS 中的比例。

    说明:相机 SDK 中点云单位为毫米,RVS 中点云单位为米,默认值:0.001,表示将相机 SDK 中点云毫米转换为米在 RVS 中输出。

  • 相机深度图标定文件/depth_calib_file:存放在相机设备内的深度相机的出厂标定参数,开启资源线程后会自动读取该标定参数并按照该参数对应的文件路径保存成文件。

  • 相机彩色图标定文件/color_calib_file:存放在相机设备内的2D 相机的出厂标定参数,开启资源线程后会自动读取该标定参数并按照该参数对应的文件路径保存成文件。

    文件内容说明

    color_calib_file

    第一行(下图红色区域)表示相机的 RGB 镜头在进行出厂标定时所采用的镜头分辨率。实际使用相机时,只有将相机分辨率同这里的数值保持一致,才可以直接使用下述的内参矩阵。否则需要对应的进行数值缩放(但是会有一定的精度损失)。

    第二行(下图蓝色区域)表示相机 RGB 镜头的内参。总共 9 个数值,是一个按行排列的 3 * 3 矩阵。矩阵形式为 [fx,0,cx,0,fy,cy,0,0,1] ,其中 fx 表示 x 轴方向的相机焦距 (单位为像素),其中 cx 表示 x 轴方向的相机中心(单位为像素);fy 、cy 类似。

    第三行(下图绿色区域)表示相机 RGB 镜头的外参,即 RGB 镜头到左 IR 镜头的空间坐标系转换矩阵。总共 16 个数值,是一个按行排列的 4 * 4 矩阵。左上角的 3 * 3 模块表示旋转,右上角的 1 * 3 表示平移。平移值的单位为毫米。

    第四行(下图黄色区域)表示相机 RGB 镜头的畸变参数,总共 12 个数值。可以用来对原始的RGB图像进行畸变校正。

    另外,关于 depth_calib_file,其说明同上述说明保持一致。特别的,由于深度相机是虚拟相机,所以其畸变参数以及外参都是零矩阵。

    Resource_TyCameraResource_1

  • 触发模式/trigger_mode:设置触发方式。

    • TY_SOFTWARE_TRIGGER_MODE:为软件触发方式,每一次发送 trigger 命令时相机采集一帧图像

    • TY_HARDWARE_TRIGGER_MODE:为硬件触发方式,通过硬件触发相机采集。

    • TY_TRIGGER_MODE_OFF:则为相机不停的采集图像,每一次发送 trigger 命令时,相机回传一帧数据给 RVS 。TY_TRIGGER_MODE_OFF 时间上效率更高,但请注意,t 时刻发送 trigger 获得的图像并非是 t 时刻采集的,而是 t-t0 时刻采集的,t0 由相机型号来定,一般大于 0.5 秒。

  • 是否再发/resend

    • 是/True:在每一次相机回传 RVS 数据发生丢包时会重新发送。

    • 否/False:在每一次相机回传 RVS 数据发生丢包时不会重新发送。

  • 相机外参坐标/extrinsic_pose:无法修改,是从当前相机资源载入后,从 sdk 中读取当前相机的 rgb 相机的外参(即 rgb 相机到左 ir 深度相机的转换矩阵)并转换成 pose 形式进行展示。

  • 相机参数展开/camera_params_exposure:是否暴露相机的一些功能属性参数。

    • 是/True:在属性栏展开相机的功能属性参数。

    • 否/False:默认不展开相机的功能属性参数。

功能演示

使用 TyCameraResource 进行图漾相机型号为 FS820-E1 的点云和图像单次采集。

说明:本案例需要有图漾相机才可进行。

步骤1:算子准备

添加 TyCameraResource 、Trigger 、TyCameraAccess 算子至算子图。

步骤2:设置算子参数

  1. 设置 TyCameraResource 算子参数:

    • 自动启动 → 是

  2. 设置 TyCameraAccess 算子参数:

    • 点云 → icon_visOn

    • 彩色 → icon_visOn

步骤3:连接算子

Resource_TyCameraResource_2

步骤4:运行

  1. 点击 RVS 运行按钮, TyCameraResource 资源算子连接成功。

  2. 成功后,触发 Trigger 算子。

    说明:若 Trigger 算子的循环 属性勾选为是,则会连续采集图像。

运行结果

  1. 打开 RVS 的运行按钮,TyCameraResource 算子会自动触发,并变为蓝色,日志栏会同时打印算子运行说明如下图所示,表示连接图漾相机成功。

    Resource_TyCameraResource_3

  2. 下图为相机资源连接前后属性面板的对比图。

    Resource_TyCameraResource_4

  3. 当触发 Trigger 算子后,TycameraAccess 运行完成后,在 2D 视图中显示采集时的图像。

    Resource_TyCameraResource_5

  4. 在 3D 视图中显示采集时的点云。

    Resource_TyCameraResource_6