图漾TM461-E2相机专栏

文章目录

  • 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)
  • 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操作,可打开链接:

通过PercipioViewer软件更改相机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和案例,可打开如下链接:

1.图漾相机4.X.X版本C++语言SDK

2.图漾官网C++语言教程

官网修改后的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版本编译

3.图漾官网ROS1教程

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版本编译

3.图漾官网ROS2教程

官网修改后的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版本

建议参考以下链接

1.图漾相机------C#语言 3.X.X版本属性设置

2.图漾官网3.X.X版本C#语言属性设置

如果涉及到和GM46X和PMD相机混用的情况,建议使用官网VCamera的SDK。

3.5 TYCamera之Python语言SDK

目前只建议使用3.X.X版本

建议参考以下链接:

1.图漾相机------Python 3.X.X版本属性设置

2.图漾官网3.X.X版本Python语言属性设置

如果涉及到和GM46X和PMD相机混用的情况,建议使用官网VCamera的SDK。

3.6 Halcon语言SDK

建议参考以下链接:

1.图漾Halcon版本SDK使用教程【V1.1.X新版本】

3.7 VisionPro语言SDK

建议参考以下链接:

1.图漾相机搭配VisionPro使用简易教程

如果使用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例子

图漾C++语言SDK下载链接

使用官网如下路径下的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.其他学习资料

1.TOF系统 第一章 系统综述

2.TOF系统 第二章 dTOF系统

3.TOF系统 第三章 iTOF系统

4.TOF系统 第四章 dTOF和iTOF比较及应用

5.TOF系统 第五章 VCSEL

6.TOF系统 第六章 电路系统

7.TOF系统

8. 图漾官网相机规格书

9.深度图滤波

相关推荐
爱凤的小光1 个月前
解析图漾相机录制的bag视频文件
图漾相机
爱凤的小光8 个月前
图漾相机错误码解析
数码相机·图漾相机
爱凤的小光8 个月前
图漾相机——Sample_V2示例程序(待补充)
3d·图漾相机
爱凤的小光10 个月前
图漾PercipioIPTool软件使用
图漾相机
爱凤的小光1 年前
图漾相机基础操作
图漾相机