文章目录
- 1.TM461-E2相机
-
- [1.1 TM461-E2工作场景](#1.1 TM461-E2工作场景)
- [1.2 TM461-E2 IO线和数据线定义](#1.2 TM461-E2 IO线和数据线定义)
-
- [1.2.1 IO接口定义](#1.2.1 IO接口定义)
- [1.2.2 数据接口线](#1.2.2 数据接口线)
- [1.2.3 TM461-E2相机正面安装方向](#1.2.3 TM461-E2相机正面安装方向)
- [1.2.4 上下面螺纹孔安装](#1.2.4 上下面螺纹孔安装)
- [1.2.5 侧面螺纹孔安装](#1.2.5 侧面螺纹孔安装)
- [1.2.6 TM461-E2相机IO指示灯](#1.2.6 TM461-E2相机IO指示灯)
- [1.3 TM461-E2相机性能指标](#1.3 TM461-E2相机性能指标)
-
- [1.3.1 0~4channel测量性能](#1.3.1 0~4channel测量性能)
- [1.3.2 5~9channel测量性能](#1.3.2 5~9channel测量性能)
- 2.TM461-E2相机操作
-
- [2.1 下载看图软件连接相机](#2.1 下载看图软件连接相机)
- [2.2 图漾PercipioViewer软件更改相机IP](#2.2 图漾PercipioViewer软件更改相机IP)
- [2.3 深度图调参](#2.3 深度图调参)
-
- [2.3.1 相机的IR参数](#2.3.1 相机的IR参数)
- [2.3.2 相机的Depth参数](#2.3.2 相机的Depth参数)
- [2.3.3 相机的RGB参数](#2.3.3 相机的RGB参数)
- [2.4 深度图评估](#2.4 深度图评估)
-
- [2.4.1 评估点云](#2.4.1 评估点云)
- [2.4.2 填充空洞](#2.4.2 填充空洞)
- [2.4.3 滤波功能](#2.4.3 滤波功能)
- [2.4.4 时域滤波功能](#2.4.4 时域滤波功能)
- [2.4.5 中值滤波](#2.4.5 中值滤波)
- [2.4.6 调节深度图渲染效果](#2.4.6 调节深度图渲染效果)
- [2.5 保存图像](#2.5 保存图像)
-
- [2.5.1 单张存图](#2.5.1 单张存图)
- [2.5.2 连续存图](#2.5.2 连续存图)
- [2.6 相机保存参数配置](#2.6 相机保存参数配置)
-
- [2.6.1 保存参数限制](#2.6.1 保存参数限制)
- 3.TM461-E2相机SDK相关
-
- [3.1 TYCamera之C++语言SDK(`推荐`)](#3.1 TYCamera之C++语言SDK(
推荐)) - [3.2 TYCamera之ROS1版本(`推荐`)](#3.2 TYCamera之ROS1版本(
推荐)) - [3.3 TYCamera之ROS2版本(`推荐`)](#3.3 TYCamera之ROS2版本(
推荐)) - 3.4 TYCamera之C#语言SDK
- [3.5 TYCamera之Python语言SDK](#3.5 TYCamera之Python语言SDK)
- [3.6 Halcon语言SDK](#3.6 Halcon语言SDK)
- [3.7 VisionPro语言SDK](#3.7 VisionPro语言SDK)
- [3.1 TYCamera之C++语言SDK(`推荐`)](#3.1 TYCamera之C++语言SDK(
- 4.TM461-E2相机内外参说明
-
- [4.1 如何获取TM461-E2相机内参?](#4.1 如何获取TM461-E2相机内参?)
-
- [4.1.1 方法一 运行DumpCalibInfo](#4.1.1 方法一 运行DumpCalibInfo)
- [4.1.2 方法二 运行DumpAllFeature例子](#4.1.2 方法二 运行DumpAllFeature例子)
- [4.1.3 通过PV软件](#4.1.3 通过PV软件)
- [4.2 TM461-E2相机内参说明](#4.2 TM461-E2相机内参说明)
-
- [4.2.1 深度图内参](#4.2.1 深度图内参)
- [4.2.2 彩色图内参/畸变系数/外参](#4.2.2 彩色图内参/畸变系数/外参)
- [4.3 TM461-E2相机光心位置](#4.3 TM461-E2相机光心位置)
- 5.TM461-E2相机常见问题FAQ
-
- [5.1 拍摄料架上的圆形反光贴,点云却呈现菱形](#5.1 拍摄料架上的圆形反光贴,点云却呈现菱形)
-
- [5.1.1 解决措施](#5.1.1 解决措施)
- [5.2 在黑暗环境下,RGB过暗](#5.2 在黑暗环境下,RGB过暗)
- 6.TM461-E2相机测试结果
-
- [6.1 TM461-E2 帧率测试](#6.1 TM461-E2 帧率测试)
-
- [6.1.1 TM461-E2 帧率测试](#6.1.1 TM461-E2 帧率测试)
- 7.TM461-E2相机属性设置
-
- [7.1 Device组件](#7.1 Device组件)
- [7.2 Depth组件](#7.2 Depth组件)
- [7.3 RGB组件](#7.3 RGB组件)
- [7.4 左IR组件](#7.4 左IR组件)
- 8.其他学习资料
1.TM461-E2相机

TM461-E2相机外观
1.1 TM461-E2工作场景
材质 :木质、蓝色等托盘,适合在室内,半室外等工作场景
不适宜场景:相机贴地安装,附近有高反物体(如反光柱)场景,黑色托盘等
1.2 TM461-E2 IO线和数据线定义
1.2.1 IO接口定义
TM461-E2相机的IO引脚定义如下:

注释:TM461相机,供电线为红黑线,红色接24V,黑色接0V。
1.2.2 数据接口线
TM461-E2相机数据线如下图:

1.2.3 TM461-E2相机正面安装方向
TM461-E2相机正面安装方向如下:

从上到下依次是激光发射器,IR镜头和RGB相机。
1.2.4 上下面螺纹孔安装
TM461-E2相机上下面有一组M3螺纹孔(螺纹深度6mm)


1.2.5 侧面螺纹孔安装
TM461-E2相机左右侧面有一组M3螺纹孔(螺纹深度5mm)


1.2.6 TM461-E2相机IO指示灯
TM461-E2相机的状态指示灯如下图:

TM461-E2相机指示灯说明
1.3 TM461-E2相机性能指标
TM461-E2相机的性能指标如下:


1.3.1 0~4channel测量性能

1.3.2 5~9channel测量性能

2.TM461-E2相机操作
2.1 下载看图软件连接相机
1.TM461-E2相机,建议搭配图漾官网PercipioViewer看图软件使用,看图软件下载链接:图漾官网

2.PercipioViewer看图软件详细操作,可查看此链接:图漾官网PercipioViewer软件操作手册

2.2 图漾PercipioViewer软件更改相机IP
详细更改相机的IP操作,可打开链接:
2.3 深度图调参
2.3.1 相机的IR参数
PercipioViewer软件参数设置:

2.3.2 相机的Depth参数
PercipioViewer软件参数设置:

2.3.3 相机的RGB参数
PercipioViewer软件参数设置:

每个参数的作用,可参看链接:相机参数作用
2.4 深度图评估
2.4.1 评估点云
打开深度取图开关,打开下图如下位置:


个人建议参考上图中的1和3,2的数值会受到ROI大小和ROI是否平整等因素有关,会波动较大。
2.4.2 填充空洞

2.4.3 滤波功能

2.4.4 时域滤波功能

2.4.5 中值滤波

2.4.6 调节深度图渲染效果
个人推荐使用Turto渲染功能,该功能类似Opencv中的colorformap函数。

2.5 保存图像
详细操作和图像格式,可打开链接:图漾看图软件保存图片
2.5.1 单张存图

具体操作步骤如下:

2.5.2 连续存图
Percipio Viewer 可以按照预设帧数连续保存图像(深度图、彩色图、左右灰度图、深度图映射至彩色图的对齐图、彩色图映射至深度图的对齐图、点云图、深度与彩色对齐后生成的点云图)。

2.6 相机保存参数配置
保存相机参数进相机storage区域,具体操作流程如下图:

2.6.1 保存参数限制
只能保存每个组件control下的属性,其他的参数无法保存进相机里。

3.TM461-E2相机SDK相关
TM461-E2相机,推荐使用的编程语言和SDK版本如下:
3.1 TYCamera之C++语言SDK(推荐)
TM461-E2相机,既可以使用官网3.X.X版本的SDK,也可以使用4.X.X版本的SDK。
具体操作和Sample和案例,可打开如下链接:
官网修改后的C++语言SDK,可参考链接:官网修改后的C++语言的SDK
1.如果只是单纯使用TM461-E2相机,或者其他旧的相机,没有使用GM46X和PMD相机,建议使用3.6.66 版本SDK。
2.如果同时使用TM461-E2和GM46X新相机,个人仍建议使用4.X.X版本中的Sample_V1例子。
3.2 TYCamera之ROS1版本(推荐)
TM461-E2相机,既可以使用官网3.X.X版本的SDK,也可以使用4.X.X版本的SDK。
具体操作和Sample和案例,可打开如下链接:
1.图漾相机-ROS1_SDK_ubuntu_3.X.X版本编译
2.图漾相机-ROS1_SDK_ubuntu 4.X.X版本编译
4.官网修改后的SDK,增加打印相机外参+修改相机参数的SDK,下载链接:官网修改后ROS1的SDK
cpp
git clone git@gitee.com:damaoyou/ty_-ros1.git
修改说明:
1.将SDK版本从4.0.21升级到4.1.1 。
2.增加了打印colorforleftIR的外参打印。
3.添加了相机左右IR参数,深度图后处理,SGBM参数纹理滤波,RGB自动白平衡,自动曝光开启/关闭等功能。
4.每个相机增加独立的camera_link。
5.在launch文件中设置帧率限制功能
5.适配新旧相机ROS1的SDK:官网修改后的4.1.18版本的SDK
3.3 TYCamera之ROS2版本(推荐)
TM461-E2相机,既可以使用官网3.X.X版本的SDK,也可以使用4.X.X版本的SDK。
具体操作和Sample和案例,可打开如下链接:
1.图漾相机-ROS2-SDK-Ubuntu 3.X.X版本编译
2.图漾相机-ROS2-SDK-Ubuntu 4.X.X版本编译
官网修改后的ROS2的SDK,可适配所有新旧相机,下载链接如下:官网修改后的ROS2的SDK
cpp
git clone git@gitee.com:damaoyou/ty_ros2.git
注意 :官网修改的版本,增加的新功能,同时会比官网的SDK版本要高一些。
1.如果只是单纯使用TM461-E2相机,或其他旧的相机,没有使用GM46X和PMD相机,建议使用3.6.66 版本SDK。
2.如果同时使用TM461-E2和GM46X新相机,建议使用4.1.18及其以上版本SDK。
3.4 TYCamera之C#语言SDK
目前只建议使用3.X.X版本
建议参考以下链接
如果涉及到和GM46X和PMD相机混用的情况,建议使用官网VCamera的SDK。
3.5 TYCamera之Python语言SDK
目前只建议使用3.X.X版本
建议参考以下链接:
1.图漾相机------Python 3.X.X版本属性设置
如果涉及到和GM46X和PMD相机混用的情况,建议使用官网VCamera的SDK。
3.6 Halcon语言SDK
建议参考以下链接:
1.图漾Halcon版本SDK使用教程【V1.1.X新版本】
3.7 VisionPro语言SDK
建议参考以下链接:
如果使用VisionPro调用TOF相机,请联系图漾技术,获取最新版本的SDK。
4.TM461-E2相机内外参说明
4.1 如何获取TM461-E2相机内参?
4.1.1 方法一 运行DumpCalibInfo
SDK3.6.52之后版本,新增示例程序,此示例程序可以将相机的标定参数以json文件的形式导出到本地。
编译C++语言中的例子,之后运行Sample_V1文件夹中的DumpCalibInfo 例子,会生成一个json文件,里面记录TM461--E2相机的内外参信息。

生成的json文件如下图:
cpp
{
"sn": "207000143819",
"timestamp": "2026-01-10 17:41:10",
"depth_calib_info" : {
"intri": [
982.627075,
0.000000,
634.988770,
0.000000,
982.686462,
476.472839,
0.000000,
0.000000,
1.000000
],
"distortion": [
0.056499,
-1.000000,
-0.000760,
-0.000065,
-0.332853,
-0.096912,
-0.714167,
-0.414859,
-0.000616,
0.000810,
0.000622,
-0.000164
],
"image_width": 1280,
"image_height": 960,
"scale_unit": 1.000000
},
"color_calib_info" : {
"intri": [
1170.227783,
0.000000,
957.846680,
0.000000,
1170.013306,
555.975769,
0.000000,
0.000000,
1.000000
],
"extri": [
0.999977,
0.006095,
-0.003003,
-0.058123,
-0.006050,
0.999872,
0.014826,
10.424235,
0.003093,
-0.014808,
0.999886,
0.170297,
0.000000,
0.000000,
0.000000,
1.000000,
-0.284756
],
"distortion": [
-0.284756,
0.535869,
0.000145,
0.000443,
0.440697,
-0.228689,
0.595631,
0.594965,
-0.000735,
-0.000003,
-0.000691,
0.000178
],
"image_width": 1920,
"image_height": 1080
}
}
4.1.2 方法二 运行DumpAllFeature例子
使用官网如下路径下的x64 压缩包,通过鼠标右键+shift键 ,进入到PowerShell界面,运行DumpAllFeatures例子,生成对应内容:

cpp
TY_COMPONENT_DEPTH_CAM:
TY_STRUCT_CAM_INTRINSIC: comp(0x10000) feat(0x7000) name(depth intrinsic) access(1) bindComponent(0x0) bindFeature(0x0)
491.313538 0.000000 317.494385
0.000000 491.343231 238.236420
0.000000 0.000000 1.000000
TY_STRUCT_CAM_DISTORTION: comp(0x10000) feat(0x7006) name(distortion) access(1) bindComponent(0x0) bindFeature(0x0)
0.056499 -1.000000 -0.000760 -0.000065
-0.332853 -0.096912 -0.714167 -0.414859
-0.000616 0.000810 0.000622 -0.000164
TY_INT_WIDTH: comp(0x10000) feat(0x1104) name(image width) access(1) bindComponent(0x0) bindFeature(0x0)
: 640
TY_INT_HEIGHT: comp(0x10000) feat(0x1105) name(image height) access(1) bindComponent(0x0) bindFeature(0x0)
: 480
TY_COMPONENT_IR_CAM_LEFT:
TY_STRUCT_CAM_INTRINSIC: comp(0x40000) feat(0x7000) name(intrinsic) access(1) bindComponent(0x0) bindFeature(0x0)
982.627075 0.000000 634.988770
0.000000 982.686462 476.472839
0.000000 0.000000 1.000000
TY_STRUCT_CAM_DISTORTION: comp(0x40000) feat(0x7006) name(distortion) access(1) bindComponent(0x0) bindFeature(0x0)
0.056499 -1.000000 -0.000760 -0.000065
-0.332853 -0.096912 -0.714167 -0.414859
-0.000616 0.000810 0.000622 -0.000164
TY_INT_WIDTH: comp(0x40000) feat(0x1104) name(image width) access(1) bindComponent(0x0) bindFeature(0x0)
: 1280
TY_INT_HEIGHT: comp(0x40000) feat(0x1105) name(image height) access(1) bindComponent(0x0) bindFeature(0x0)
: 960
TY_COMPONENT_RGB_CAM_LEFT:
TY_STRUCT_CAM_INTRINSIC: comp(0x100000) feat(0x7000) name(rgb intrinsic) access(1) bindComponent(0x0) bindFeature(0x0)
1170.227783 0.000000 957.846680
0.000000 1170.013306 555.975769
0.000000 0.000000 1.000000
TY_STRUCT_EXTRINSIC_TO_DEPTH: comp(0x100000) feat(0x7001) name(rgb to leftIR extrinsic) access(1) bindComponent(0x0) bindFeature(0x0)
0.999977 0.006095 -0.003003 -0.058123
-0.006050 0.999872 0.014826 10.424235
0.003093 -0.014808 0.999886 0.170297
0.000000 0.000000 0.000000 1.000000
TY_STRUCT_CAM_DISTORTION: comp(0x100000) feat(0x7006) name(distortion) access(1) bindComponent(0x0) bindFeature(0x0)
-0.284756 0.535869 0.000145 0.000443
0.440697 -0.228689 0.595631 0.594965
-0.000735 -0.000003 -0.000691 0.000178
TY_INT_WIDTH: comp(0x100000) feat(0x1104) name(image width) access(1) bindComponent(0x0) bindFeature(0x0)
: 1920
TY_INT_HEIGHT: comp(0x100000) feat(0x1105) name(image height) access(1) bindComponent(0x0) bindFeature(0x0)
: 1080
4.1.3 通过PV软件
具体方法如下:

获得的fetch_config.xml文件内容如下:

cpp
<?xml version="1.0" ?>
<config version="1">
<comprotocol>1.0</comprotocol>
<component id="0x00010000" addr="0x02000000" name="depth">
<feature hide="0" id="0x210a" name="scale unit" rw="1">1.0</feature>
<feature id="0x1104" addr="0x10" name="image width" rw="1" hide="0" volatile="1">640</feature>
<feature id="0x1105" addr="0x14" name="image height" rw="1" hide="0" volatile="1">480</feature>
<feature id="0x3109" addr="0x18" name="image mode" rw="3" hide="0">
<entry value="0x202801e0" name="depth16 640x480"></entry>
<entry value="0x201400f0" name="depth16 320x240"></entry>
<entry value="0x200a0078" name="depth16 160x120"></entry>
</feature>
<feature id="0x3900" addr="0x508" name="depth quality" rw="3" hide="0">
<entry name="basic" value="1"/>
<entry name="medium" value="2"/>
<entry name="high" value="4"/>
</feature>
<feature id="0x1901" addr="0x050c" name="filter threshold" rw="3" hide="0" min="0" max="100" inc="1" writableAtRun="1" ></feature>
<feature id="0x1902" addr="0x0510" name="tof channel" rw="3" hide="0" min="0" max="9" inc="1" writableAtRun="1" ></feature>
<feature id="0x1903" addr="0x0514" name="tof modulation threshold" rw="3" hide="0" min="0" max="65536" inc="1" writableAtRun="1"></feature>
<feature id="0x7000" name="depth intrinsic" rw="1" hide="0" > 982.627075 0.000000 634.988770 0.000000 982.686462 476.472839 0.000000 0.000000 1.000000</feature>
<feature id="0x7006" name="distortion" rw="1" hide="0"> 0.056499 -1.000000 -0.000760 -0.000065 -0.332853 -0.096912 -0.714167 -0.414859 -0.000616 0.000810 0.000622 -0.000164</feature>
<feature id="0x1003" name="intrinsic width" rw="1" hide="1">1280</feature>
<feature id="0x1004" name="intrinsic height" rw="1" hide="1">960</feature>
</component>
<component id="0x80000000" addr="0x01000000" name="device" blank="1">
<feature id="0x5f00" name="SN" rw="1" hide="0">207000143819</feature>
<feature id="0x5f01" name="vendor" rw="1" hide="0">Percipio</feature>
<feature id="0x5f02" name="model" rw="1" hide="0">TM461-E2</feature>
<feature id="0x1010" absaddr="0x64c" name="persistent IP" rw="3" hide="0"></feature>
<feature id="0x1011" absaddr="0x65c" name="persistent netmask" rw="3" hide="0"></feature>
<feature id="0x1012" absaddr="0x66c" name="persistent gateway" rw="3" hide="0"></feature>
<feature id="0x1014" addr="0x400020" name="packet delay" rw="3" hide="0" min="0" max="10000" inc="1"></feature>
<feature id="0x1017" addr="0x40002c" name="packet size" rw="3" hide="0" min="100" max="1500" inc="1"></feature>
<feature id="0x4203" name="keep alive onoff" rw="3" hide="0"></feature>
<feature id="0x1204" name="keep alive timeout" rw="3" hide="0" min="2000" inc="1" max="30000"></feature>
<feature id="0x3211" addr="0x22c" name="sync type" rw="3" hide="0" volatile="1">
<entry name="sync type none" value="0"/>
<entry name="sync type host" value="1"/>
</feature>
<feature id="0x4212" addr="0x230" name="sync ready" rw="1" hide="0" volatile="1"></feature>
<feature bind="0x00013900"></feature>
<feature id="0x5f03" name="hardware version" rw="1" hide="0">1.3.0</feature>
<feature id="0x5f04" name="firmware version" rw="1" hide="0">1.5.4</feature>
<build>
<hash>model:;rtl:;kernel:AP04T01B004-tof_v1.5.4-0-gf313852aff;tycam:R1.5.4-d38720bd;gevcam:tof_v1.5.4-0-g9ad11bda</hash>
</build>
<tech_model>TM461-G4-CA-V5</tech_model>
<generated_time>2023-10-20T131617</generated_time>
<calibration_time>2023-10-20T211608</calibration_time>
<calibration_tag>F002BBT2BA00DZ</calibration_tag>
<intpf>AWQAUAACCgAAAA==</intpf>
<binfile_tag>5.2.2_TM_SA_LASER180_FRE40</binfile_tag>
<config_version>1.5.2_5.2.2_TM_SA_LASER180_FRE40</config_version>
</component>
<component id="0x00040000" addr="0x03000000" name="leftIR">
<feature id="0x1104" addr="0x10" name="image width" rw="1" hide="0">1280</feature>
<feature id="0x1105" addr="0x14" name="image height" rw="1" hide="0">960</feature>
<feature id="0x1003" name="intrinsic width" rw="1" hide="1">1280</feature>
<feature id="0x1004" name="intrinsic height" rw="1" hide="1">960</feature>
<feature id="0x3109" addr="0x18" name="image mode" rw="3" hide="0">
<entry value="0x235003c0" name="mono16 1280x960"></entry>
<entry value="0xa42801e0" name="tofir 640x480"></entry>
</feature>
<feature hide="0" id="0x7000" name="intrinsic" rw="1"> 982.627075 0.000000 634.988770 0.000000 982.686462 476.472839 0.000000 0.000000 1.000000</feature>
<feature hide="0" id="0x7006" name="distortion" rw="1"> 0.056499 -1.000000 -0.000760 -0.000065 -0.332853 -0.096912 -0.714167 -0.414859 -0.000616 0.000810 0.000622 -0.000164</feature>
<feature id="0x1301" addr="0x304" name="exposure time" rw="3" hide="0" min="0" max="3000" inc="1" writableAtRun="1"></feature>
</component>
<component id="0x00100000" addr="0x05000000" name="RGB">
<feature id="0x1104" addr="0x10" name="image width" rw="1" hide="0" volatile="1">640</feature>
<feature id="0x1105" addr="0x14" name="image height" rw="1" hide="0" volatile="1">360</feature>
<feature id="0x3109" addr="0x18" name="image mode" rw="3" hide="0">
<entry value="0x32780438" name="jpeg 1920x1080"></entry>
<entry value="0x225002d0" name="yuyv 1280x720"></entry>
<entry value="0x22280168" name="yuyv 640x360"></entry>
</feature>
<feature id="0x1003" name="intrinsic width" rw="1" hide="1">1920</feature>
<feature id="0x1004" name="intrinsic height" rw="1" hide="1">1080</feature>
<feature hide="0" id="0x7000" name="rgb intrinsic" rw="1"> 1170.227783 0.000000 957.846680 0.000000 1170.013306 555.975769 0.000000 0.000000 1.000000</feature>
<feature hide="0" id="0x7001" name="rgb to leftIR extrinsic" rw="1"> 0.999977 0.006095 -0.003003 -0.058123 -0.006050 0.999872 0.014826 10.424235 0.003093 -0.014808 0.999886 0.170297 0.000000 0.000000 0.000000 1.000000</feature>
<feature hide="0" id="0x7006" name="distortion" rw="1"> -0.284756 0.535869 0.000145 0.000443 0.440697 -0.228689 0.595631 0.594965 -0.000735 -0.000003 -0.000691 0.000178</feature>
<feature hide="0" id="0x4300" addr="0x300" name="auto exposure" rw="3" writableAtRun="1"></feature>
<feature hide="0" id="0x1301" addr="0x304" name="exposure time" rw="3" min="0" max="1080" inc="1" writableAtRun="1"></feature>
<feature hide="0" id="0x4304" addr="0x314" name="auto balance" rw="3" writableAtRun="1"></feature>
<feature hide="0" id="0x1520" addr="0x318" name="r gain" rw="3" min="0" max="1024" inc="1" writableAtRun="1" ></feature>
<feature hide="0" id="0x1522" addr="0x320" name="b gain" rw="3" min="0" max="1024" inc="1" writableAtRun="1" ></feature>
</component>
</config>
4.2 TM461-E2相机内参说明
运行DumpAllFeatures例子,具体方法参考4.1章节方法二,打印出来的内参如下:
cpp
TY_COMPONENT_DEPTH_CAM:
TY_STRUCT_CAM_INTRINSIC: comp(0x10000) feat(0x7000) name(depth intrinsic) access(1) bindComponent(0x0) bindFeature(0x0)
491.313538 0.000000 317.494385
0.000000 491.343231 238.236420
0.000000 0.000000 1.000000
TY_STRUCT_CAM_DISTORTION: comp(0x10000) feat(0x7006) name(distortion) access(1) bindComponent(0x0) bindFeature(0x0)
0.056499 -1.000000 -0.000760 -0.000065
-0.332853 -0.096912 -0.714167 -0.414859
-0.000616 0.000810 0.000622 -0.000164
TY_INT_WIDTH: comp(0x10000) feat(0x1104) name(image width) access(1) bindComponent(0x0) bindFeature(0x0)
: 640
TY_INT_HEIGHT: comp(0x10000) feat(0x1105) name(image height) access(1) bindComponent(0x0) bindFeature(0x0)
: 480
TY_COMPONENT_IR_CAM_LEFT:
TY_STRUCT_CAM_INTRINSIC: comp(0x40000) feat(0x7000) name(intrinsic) access(1) bindComponent(0x0) bindFeature(0x0)
982.627075 0.000000 634.988770
0.000000 982.686462 476.472839
0.000000 0.000000 1.000000
TY_STRUCT_CAM_DISTORTION: comp(0x40000) feat(0x7006) name(distortion) access(1) bindComponent(0x0) bindFeature(0x0)
0.056499 -1.000000 -0.000760 -0.000065
-0.332853 -0.096912 -0.714167 -0.414859
-0.000616 0.000810 0.000622 -0.000164
TY_INT_WIDTH: comp(0x40000) feat(0x1104) name(image width) access(1) bindComponent(0x0) bindFeature(0x0)
: 1280
TY_INT_HEIGHT: comp(0x40000) feat(0x1105) name(image height) access(1) bindComponent(0x0) bindFeature(0x0)
: 960
TY_COMPONENT_RGB_CAM_LEFT:
TY_STRUCT_CAM_INTRINSIC: comp(0x100000) feat(0x7000) name(rgb intrinsic) access(1) bindComponent(0x0) bindFeature(0x0)
1170.227783 0.000000 957.846680
0.000000 1170.013306 555.975769
0.000000 0.000000 1.000000
TY_STRUCT_EXTRINSIC_TO_DEPTH: comp(0x100000) feat(0x7001) name(rgb to leftIR extrinsic) access(1) bindComponent(0x0) bindFeature(0x0)
0.999977 0.006095 -0.003003 -0.058123
-0.006050 0.999872 0.014826 10.424235
0.003093 -0.014808 0.999886 0.170297
0.000000 0.000000 0.000000 1.000000
TY_STRUCT_CAM_DISTORTION: comp(0x100000) feat(0x7006) name(distortion) access(1) bindComponent(0x0) bindFeature(0x0)
-0.284756 0.535869 0.000145 0.000443
0.440697 -0.228689 0.595631 0.594965
-0.000735 -0.000003 -0.000691 0.000178
TY_INT_WIDTH: comp(0x100000) feat(0x1104) name(image width) access(1) bindComponent(0x0) bindFeature(0x0)
: 1920
TY_INT_HEIGHT: comp(0x100000) feat(0x1105) name(image height) access(1) bindComponent(0x0) bindFeature(0x0)
: 1080
4.2.1 深度图内参
cpp
TY_COMPONENT_DEPTH_CAM:
TY_STRUCT_CAM_INTRINSIC: comp(0x10000) feat(0x7000) name(depth intrinsic) access(1) bindComponent(0x0) bindFeature(0x0)
491.313538 0.000000 317.494385
0.000000 491.343231 238.236420
0.000000 0.000000 1.000000
TY_STRUCT_CAM_DISTORTION: comp(0x10000) feat(0x7006) name(distortion) access(1) bindComponent(0x0) bindFeature(0x0)
0.056499 -1.000000 -0.000760 -0.000065
-0.332853 -0.096912 -0.714167 -0.414859
-0.000616 0.000810 0.000622 -0.000164
TY_INT_WIDTH: comp(0x10000) feat(0x1104) name(image width) access(1) bindComponent(0x0) bindFeature(0x0)
: 640
TY_INT_HEIGHT: comp(0x10000) feat(0x1105) name(image height) access(1) bindComponent(0x0) bindFeature(0x0)
: 480


1.cx和cy通常大约是图像分辨率W和H的一半,得出TM421-E1相机深度图出厂标定分辨率为640x480 。
2.通过此处,发现图漾相机的TOF相机,深度图也是需要进行畸变校正的
4.2.2 彩色图内参/畸变系数/外参
cpp
TY_COMPONENT_RGB_CAM_LEFT:
TY_STRUCT_CAM_INTRINSIC: comp(0x100000) feat(0x7000) name(rgb intrinsic) access(1) bindComponent(0x0) bindFeature(0x0)
1170.227783 0.000000 957.846680
0.000000 1170.013306 555.975769
0.000000 0.000000 1.000000
TY_STRUCT_EXTRINSIC_TO_DEPTH: comp(0x100000) feat(0x7001) name(rgb to leftIR extrinsic) access(1) bindComponent(0x0) bindFeature(0x0)
0.999977 0.006095 -0.003003 -0.058123
-0.006050 0.999872 0.014826 10.424235
0.003093 -0.014808 0.999886 0.170297
0.000000 0.000000 0.000000 1.000000
TY_STRUCT_CAM_DISTORTION: comp(0x100000) feat(0x7006) name(distortion) access(1) bindComponent(0x0) bindFeature(0x0)
-0.284756 0.535869 0.000145 0.000443
0.440697 -0.228689 0.595631 0.594965
-0.000735 -0.000003 -0.000691 0.000178
TY_INT_WIDTH: comp(0x100000) feat(0x1104) name(image width) access(1) bindComponent(0x0) bindFeature(0x0)
: 1920
TY_INT_HEIGHT: comp(0x100000) feat(0x1105) name(image height) access(1) bindComponent(0x0) bindFeature(0x0)
: 1080
1.cx和cy通常大约是图像分辨率W和H的一半,得出TM461-E2相机深度图出厂标定分辨率为1920x1080
2.彩色图相机的畸变系数如下:

3.彩色图相机的外参如下:
cpp
TY_STRUCT_EXTRINSIC_TO_DEPTH: comp(0x100000) feat(0x7001) name(rgb to leftIR extrinsic) access(1) bindComponent(0x0) bindFeature(0x0)
0.999977 0.006095 -0.003003 -0.058123
-0.006050 0.999872 0.014826 10.424235
0.003093 -0.014808 0.999886 0.170297
0.000000 0.000000 0.000000 1.000000

4.3 TM461-E2相机光心位置
同时通过RGB外参,可得知RGB至左IR应该在10.4mm左右。
cpp
TY_STRUCT_EXTRINSIC_TO_DEPTH: comp(0x100000) feat(0x7001) name(rgb to leftIR extrinsic) access(1) bindComponent(0x0) bindFeature(0x0)
0.999977 0.006095 -0.003003 -0.058123
-0.006050 0.999872 0.014826 10.424235
0.003093 -0.014808 0.999886 0.170297
0.000000 0.000000 0.000000 1.000000
5.TM461-E2相机常见问题FAQ
5.1 拍摄料架上的圆形反光贴,点云却呈现菱形

5.1.1 解决措施
1.首先降低左IR的曝光参数

2.增大ToF Modulation Threshold 激光调制光强

5.2 在黑暗环境下,RGB过暗
这个时候,建议使用tofir 640x480格式,之后选择后处理模式

实测下来,只有基于LinearStretchStdProcesser标准差和NoLinearStretchHistProcesser直方图的线性拉伸这两种较为有效。

6.TM461-E2相机测试结果
6.1 TM461-E2 帧率测试
6.1.1 TM461-E2 帧率测试
FPS(帧率):指相机设置在自由采集模式下,上位机每秒采集的图像帧数。
DepthQuality=Basic 下帧率测试结果如下所示:

Basic模式下帧率测试结果
DepthQuality=Medium下帧率测试结果如下所示:

Medium模式下帧率测试结果
DepthQuality=High 下帧率测试结果如下所示:

High模式下帧率测试结果
7.TM461-E2相机属性设置
7.1 Device组件

7.2 Depth组件

7.3 RGB组件

7.4 左IR组件

8.其他学习资料
7.TOF系统
8. 图漾官网相机规格书
9.深度图滤波