资讯动态

ToF相机深度视觉全链路解析:从测距原理到工业落地

发布时间:2026/9/14 3:32:32 来源:尧图企业网站定制
前段时间在帮一个客户做AGV避障方案选型对方拿着两三种ToF模组和一台双目相机来回纠结问我到底哪种靠谱。我跟他讲了半小时原理最后他说了一句话让我印象很深“原来ToF不是一颗芯片的事是一整条链路的事。”这话我特别同意因为干这一行这几年我在ToF相机上调过的坑几乎都发生在链路环节而不是单点器件上。这篇文章想把这个“整体链路”完整拆开来讲一遍从ToF的测距原理到VCSEL激光器和传感器读出的硬件细节再到内参标定、SDK应用、ROS集成、工业选型和现场排障。适合三类人看刚接触深度视觉、正在做相机选型的工程师项目里已经用了ToF但被深度图飞点、精度漂移折磨的应用开发者还有要给产线落地视觉方案的技术负责人。内容是我实际调试和踩坑后的整理按“底层到上层”的顺序来写尽量让每个环节都能直接拿去用。1. 先把原理吃透ToF测距与三种深度方案怎么选1.1 两种ToF的底层区别dToF与iToF到底在测什么很多新手第一次接触ToF都会问为什么苹果那个LiDAR叫ToF工业相机也叫ToF其实它们都用“光的飞行时间”测距但在硬件实现上分成了dToF和iToF两条路。dToF也就是直接飞行时间靠单光子雪崩二极管SPAD直接记录单个光子从发射到返回的时间戳距离就是光速乘以时间除以二。这种方案要求脉冲激光非常陡但单个像素能做的时间分辨率很高远距离表现好苹果LiDAR、不少激光雷达就是这条路。代价是SPAD像素面积大分辨率做不高很难像普通CMOS一样做到百万像素级。iToF则是间接测相位。发射端发出高强度连续调制光通常是方波或正弦波像素把回波光信号在一个周期内分成多个窗口做电荷积分通过相位差反推距离。在同等光学面积下iToF能利用CMOS工艺把分辨率做到VGA甚至更高成本也更可控。我们平时看到的消费级和工业级ToF深度相机比如奥比中光、RealSense的ToF系列基本都是iToF。这两种方案在应用上有个关键差异dToF对多路径反射的免疫力强但点云稀疏iToF点云密集但遇到墙角、凹坑这种多次反射场景容易出“拖尾”。后面讲数据滤波的时候你会发现这些原理层面的特点最终都会变成算法参数的取舍依据。如果你要往下深挖iToF的计算过程最经典的模型是四步相移法。传感器在0°、90°、180°、270°四个相位窗口分别采集光电子强度记为C0、C90、C180、C270。相位差的计算式是φ atan2(C90 - C270, C0 - C180)距离则是d (c * φ) / (4π * f_mod)其中c是光速f_mod是调制频率。这个公式看起来简单但实际踩坑点很多atan2的象限处理要正确四个窗口的曝光时间必须完全一致而且调制频率f越高固定噪声越小但无模糊距离越短。所谓无模糊距离是指相位差在0到2π之间对应的最大距离等于c除以2f。15MHz调制下大概是10米30MHz下就只有5米。所以固定单频的ToF相机理论测距范围其实有限工业品通常会用两个甚至三个调制频率做解包裹把有效量程撑大。1.2 ToF、双目、结构光怎么选一张对比表看清楚选型之所以让人纠结是因为只看“距离精度”这个数字远远不够。我经常遇到客户拿一份标称“精度±3mm”的深度相机spec问能不能做某测量项目结果一测现场环境光一变化就废。所以先把这个对比关系理清楚。方案测距原理主动光优势主要短板典型方向iToF发射连续波调制光测相位差是点云密集、体积小、无纹理环境可用多路径干扰、户外强光需滤光、透明/高反物体易飞点工业测量、机器人避障、手势识别dToFSPAD记录光子飞行时间是远距离、抗多路径、响应快分辨率偏低、成本高激光雷达、手机距离传感双目/主动立体两个相机三角测量可无/可有红外投影可用RGB成本可控日内光线好无纹理/反光表面易失效计算量大近距离精度受基线限制机器人视觉、三维重建、D435这类主动立体结构光投编码散斑相机解相位是近距离精度高怕强光投射距离有限投射器存在寿命问题人脸识别、短距3D扫描这里面还要提一嘴D435。很多人问“D435是ToF吗”严格说D435是主动立体相机先用红外投影给白墙、桌面增加纹理再通过双目三角化测距。它不是ToF测距方式本质是几何三角所以基线长短直接影响近距离精度。理解这点后你就会明白为什么它在远距离和弱纹理下没有ToF稳但在近距离、有丰富纹理场景下又很能打。热词里有个“zed单目相机”ZED也有深度模式同样依赖双目匹配选型逻辑和D435类似。选型结论我一般给三条一室内近距离、高分辨率点云优先ToF二户外白天、强调远距离和抗干扰优先dToF或激光雷达三预算敏感且场景纹理丰富主动立体也可以但要接受它在光滑表面上的失效风险。2. 底层硬件链路拆解从一颗激光器到一个深度帧2.1 认识ToF模组的光学系统VCSEL、扩散片、带通滤光片和镜头ToF模组的核心光学链路可以分成发射和接收两段。发射端是VCSEL激光器垂直腔面发射激光器的好处是出光方向垂直于芯片表面适合做成阵列、封装成本低。VCSEL外面一般贴一片扩散片把原本集中的光斑均匀拉开覆盖整个视场。波长方面民用和工业ToF常用850nm和940nm两种红外波长。850nm在普通CMOS传感器上的量子效率更高但太阳光背景辐射也强940nm更有利于室外抗光很多户外机器人避障方案选940nm。接收端最容易被忽略的是那块“毫不起眼的黑玻璃”也就是带通滤光片。它只让激光波长附近很窄的红外光透过把大部分可见光挡在外面。这也是为什么ToF相机的镜头区是深色和普通彩色工业相机放一起一眼就能分辨。镜头方面有件事必须强调ToF相机的镜头不是随便换的。接收镜片决定了光线进入sensor的角度镜头、滤光片、调制时序这三者是联合匹配过的。有人为了省成本想把ToF模组上换一个普通工业镜头结果深度图边缘全花。原因是滤光片带宽、镜头色差、芯片成像角度都对不上同一个点在不同波长下的像面位置发生了偏移。所以除非厂家明确支持换镜头否则工业项目里不要动镜头这点比普通RGB工业相机要严格得多。2.2 一颗iToF传感器如何算出一个深度值说回iToF的内部处理。发射端把VCSEL用调制信号驱动比如几十兆赫兹的方波或正弦波。激光照到目标后反射回来ToF像素不像普通CIS那样只记录“累计亮度”而是把曝光分成多个相位窗口每个窗口对应调制周期里不同时间段的电荷。四步相移法是基础每个窗口分别采集C0、C90、C180、C270然后做反正切计算。这个计算有的在传感器内部直接完成有的在SoC/DSP里做看你用的模组是“深度图直出”还是“原始相位图输出”。这里有个应用层面的坑很多ToF相机的“深度图”已经不是原始测量而是经过多频融合、滤波甚至AI修复后的数据。如果你要做高精度测量尽量拿到原始相位数据或者至少关闭内置的强滤波否则边缘会变得平滑真实细节被抹掉。另外ToF一帧数据通常不仅仅包含深度图还输出幅度图amplitude和置信度图confidence。幅度图表示回波信号强度置信度图表达这个深度值的可靠程度。上层的去飞点、去噪都依赖这两张图而不是只看深度值本身。我在项目里就吃过亏直接用深度图做定位结果角落里的飞点把重心拉偏了好几毫米后来加上幅度阈值过滤和置信度掩膜问题立刻消失。2.3 硬件层面的三大隐形杀手多路径干扰、环境光与温漂多路径干扰MPI是iToF最典型的硬件层难题。光线打到墙角或者凹面一部分光直接返回另一部分反弹后再返回同一个像素收到多个路径的回波测出来的相位值是这些路径的叠加距离就会偏大或产生“拖尾”。处理MPI很难只能从波形设计、多频融合、后处理滤波里找补或者尽量让被测物体避开墙角、反光面。环境光是另一个杀手。室内普通灯光还好一旦放到阳光直射或近窗口位置即便有带通滤光片背景光干扰也会让幅度图饱和深度值开始剧烈抖动。带通滤光片能挡可见光但挡不住同波段的红外太阳光所以不少工业ToF相机都带背景光抑制BGS功能用额外一次不发光曝光来减去环境光底噪。如果你选的相机没有BGS户外基本别想用。温漂最容易被忽略。VCSEL的波长会随温度变化偏移滤光片的中心波长也会漂。温度升高后激光器的光功率下降回波幅度降低距离误差变大温度降低时又可能出现近距离过曝。所以高端ToF模组内部会有温度传感器和补偿校准甚至有TEC温控。我在一个长期运行的检测项目里发现早上和下午测同一工件的厚度差到了2~3mm找了一圈最后发现是模组温度从18°C升到了45°C距离零偏一直在漂。后来换了一个带在线温度补偿的工业ToF或者启动时重新做一次零点标定问题才稳住。3. 数据链路与标定为什么出厂深度图不能直接当答案用3.1 深度图之外幅度图、置信度图和无效值处理ToF相机输出的数据链通常是一条深度流、一条幅度流和一条IR红外流。很多人只盯着深度图画框找圆完全不看幅度图这是不对的。幅度图有两个关键用法一是判断当前像素的信号强度是否足够幅度太低说明这个深度值可能来自环境噪点或极弱回波建议直接把深度值置为无效二是可以发现暗色吸光物体、倾斜表面这些问题。比如黑色橡胶吸光严重深度图上会形成空洞这是因为回波幅度跌到了传感器的检测阈值之下。置信度图更直接。很多SDK里提供每个像素的置信度或噪声估计值用它能做像素级掩膜。我一般会在读取深度后会做三件事第一把置信度低于阈值的像素置为0第二把幅度低于阈值的像素置为0第三做一个3x3或5x5的中值滤波把孤立飞点消掉。千万不要上来就用高斯滤波高斯会保留甚至模糊掉飞点中值才是处理椒盐噪声的正确选择。如果是动态场景再加一个时间域上的中值或均值滤波连续几帧同一个位置取中值能把随机噪声压下去不少代价是运动物体边缘会残留一点拖影。3.2 ToF相机标定到底标什么内参、畸变、多频零点很多工程师以为标定就是跑一下OpenCV的棋盘格Get一下内参这事就完了。对彩色相机确实差不多对ToF不够。ToF的内参标定和普通相机类似用棋盘格或者其中的红外图调用OpenCV calibrateCamera就能拿到焦距、主点和畸变系数。但ToF还有一个更重要的“距离零偏”标定。由于镜头安装、滤光片厚度、电路延时等因素测出来的距离和真实距离之间会有一个固定的系统偏差即使目标在1米整的位置深度图可能显示1.003米。这个偏差需要通过不同距离下采集真实值来做拟合通常是多项式或查找表补偿。多频ToF还要标定不同调制频率之间的相位偏差否则融合后的深度在某个距离段会明显弯曲。外加多相机系统时还得标外参。同一个工件从两个ToF视角扫描点云拼接对不齐十有八九是外参标定精度不够。普通的标定板在远距离下角点检测误差偏大建议用高对比度的陶瓷标定板或者发光标定板并且多转几个姿态让优化方程尽量约束充分。热词里有“visionmaster进行相机内参标定”工业生产里VisionMaster这类软件确实能简化流程原理还是那套网格标定板提取角点、非线性优化、重投影误差评估。你可以理解为做标定不是目的让点云在实际物理空间里“对齐”才是目的。3.3 从9点标定到手眼标定应用级标定关系到底怎么解应用层标定比内参标定更容易被搞混。最常见的工业误操作是拿单目相机的9点标定法去套ToF其实ToF有深度完全可以用三维方式做。9点标定的本质是求一个平面单应矩阵把像素坐标映射到机械手基座坐标适合工件放在固定平面上、只用2D坐标定位的场景但ToF本身直接给出Z坐标所以做3D定位抓取时更应该用三维点对做刚体变换求解也就是Umeyama算法用至少三个不共线的非平面点解出旋转和平移矩阵。这样算出来的3D位姿比平面投影更稳尤其当工件有高度差、倾斜时单应矩阵会失真刚体变换不会。手眼标定则是解AXXB的问题。手在眼上相机装在机械臂末端标定时让机械臂运动到多组姿态拍摄同一个标定板和机器人正运动学给出的位姿一起优化解出相机相对机械臂末端的变换矩阵。这个标定的难点在于角度约束不足机械臂的姿态变化不能太小否则解出来的旋转分量误差很大。Kalibr这类工具还可以做相机和IMU的联合标定输出相机内参、相机到IMU外参、时间延时偏移是后续做VIO融合的基础。顺便说一句ROS2环境下相机标定也能用这些传统流程只是话题和TF树的组织方式要按ROS2重写。4. 上层应用落地OpenCV、ROS、SDK与点云处理怎么入手4.1 用OpenCV和SDK读取ToF数据几个常见大坑先说OpenCV调用相机的原理。在Linux上普通UVC的RGB相机通过V4L2暴露成/dev/videoX节点OpenCV的VideoCapture封装了V4L2所以打开、读帧、转Mat都很顺。但ToF相机往往不是标准UVC类它的深度流是16bit灰度甚至自定义格式需要厂商SDK把数据从底层接口读取出来再转换成可处理的图像。换句话说V4L2帮你把数据从USB搬到内存但数据怎么解释成深度图得靠SDK或协议文档。部分UVC标准的ToF相机可以伪装成16bit灰度摄像头OpenCV处理起来也容易但你要提前确认位深、字节序和无效值定义否则深度图颜色完全错乱。实操里我建议优先用厂商SDK读数据再用OpenCV做后续图像处理。奥比中光有OrbbecSDKRealSense有librealsenseBasler有pylon SDK海康机器人有VisionMaster和第三方SDK。不要绕开SDK去裸读USB会做很多无用功。常见坑有三个设备打开失败大概率是USB带宽或设备权限不足试试换USB3.0独立控制器口同时打开多台ToF相机时每台相机都吃带宽超过5Gbps就掉帧这时候要么降低帧率要么改用GigE接口16bit深度图直接imshow是一团黑要先把深度值归一化到0~255并做色彩映射再叠加置信度掩膜显示。4.2 ROS/ROS2集成与录制深度话题机器人项目里最常用的还是ROS。RealSense有realsense-ros奥比中光有orbbec_rosBasler也有ROS驱动海康工业相机在ROS社区有第三方包但成熟度不一。安装驱动后相机节点会发布/camera/depth/image_raw、/camera/color/image_raw、/camera/depth/points等话题。如果你想录制一段测试数据直接启动相机驱动然后执行rosbag record相关话题就行。要注意的是rosbag record只会录制话题消息不会保存相机内参以外的SDK状态所以录制前先确认内参和外参已配置正确不然回放时标定参数对不上。ROS2下的做法类似只是启动文件、话题名和QoS策略要额外关注最好保证可靠性传输策略避免丢帧。热词里提到“海康相机驱动ros录制”其实海康工业相机一般走GigE Vision协议先在Windows上设置好IP和带宽包大小然后启动ROS驱动节点发布image_raw话题再用rosbag录制。如果录制过程中发现话题频率忽高忽低多半是GigE的包大小或网卡巨帧没调好。设置网卡MTU到9000可以减少数据包拆分帧率会明显平稳。相机与IMU联合标定则可以用Kalibr这类工具录制一段含有棋盘格而IMU又在运动的bag运行kalibr_calibrate_cameras和kalibr_calibrate_imu_camera就能一次性拿到相机内参、相机-IMU外参和时间延时。这个过程我建议多录几段每段包含不同的角速度和线速度激励标定结果会更可靠。4.3 点云、测量、识别等应用开发思路有了深度图下一步是转点云。如果SDK已经给你点云直接用如果没有用内参反投影x (u - cx) * z / fxy (v - cy) * z / fyz depth_value这套反投影公式是后续所有三维视觉的基础OpenCV里可以写成矩阵乘法的形式避免写循环。拿到点云后常见应用有体积测量、定位抓取和缺陷检测。体积测量我常用的流程是用RANSAC拟合桌面平面把物体点云和桌面平面做分割再用投影到平面上的面积乘上平均高度估算体积。这个办法对规则纸箱很准对曲面物体误差大一些但作为初筛足够。热词里有个“openpnp底部相机有些芯片识别不了”这就涉及2D视觉和3D配合的问题。底部相机识别芯片方向本质是靠芯片轮廓和mark点定位但芯片引脚反光、表面低对比度时普通2D很容易识别失败。解法一般有三个方向换低角度环形光或背光消除反光在OpenCV流程里改用边缘检测加形状匹配如果依然不稳可以用ToF的高度数据辅助生成轮廓掩膜。同一颗芯片2D图像糊成一团但深度图里芯片和背景的高度差是清晰的两者融合后鲁棒性会好很多。5. 工业ToF相机选型与实战从FOV计算到触发接线5.1 选型计算已知距离和视野宽度怎么算FOV分辨率选型阶段被问最多的一个问题是我的相机离目标两米八想看到一米宽该选多大FOV的镜头其实这是个简单三角问题。水平视场角FOV_h满足FOV_h 2 * atan( (目标宽度/2) / 工作距离 )把2.8米距离、1米目标宽度代入FOV_h 2 * atan(0.5 / 2.8) ≈ 2 * atan(0.17857) ≈ 20.25°也就是说水平视场角大约20度。如果你用的是640像素宽、512像素高的ToF相机按正方形像素粗略估算垂直视场角约为水平视场乘以512/640也就是约16.2度。对应的空间分辨率就更直观了宽度1米对应640像素每个像素横向约1.56毫米。做定位项目时如果要求像素级定位精度在±1毫米以内这个分辨率就不够要么缩短工作距离要么换更高分辨率的相机要么换更小的视场角。工业相机镜头选型也常用这个公式反推焦距f (工作距离 * 传感器宽度) / 目标宽度。例如传感器宽度6.4mm工作距离2.8米目标宽度1米焦距大约就是17.9mm。选型时还要关注深度精度。ToF相机标称精度往往是“满量程的百分之几”比如标称1%3m那3米处误差约30mm做大范围定位可以做精密测量就悬了。热词里提到“适合飞拍的工业相机”飞拍对ToF的挑战主要在曝光时间和帧率运动速度越快单帧曝光时间必须越短否则深度图拖影严重而工作距离拉大会让回波变弱又需要更长曝光。这个矛盾基本只能靠选择更强光源、更高灵敏度传感器或多频硬件方案解决。5.2 工业相机接口、IO触发与接线排雷工业相机接口主流是GigE Vision和USB3 Vision少数高帧率用Camera Link或CoaXPress。ToF相机因为数据量大如果只是简单读深度图USB3.0够用要长时间稳定跑产线GigE或10GigE更有优势毕竟网线可以拉长到100米USB线的长度上限低。海康工业相机、Basler相机都有GigE型号配置时先设好相机IP和网卡IP在同一网段再通过厂商工具搜索设备。如果相机掉线第一反应应该是网络链路换六类网线、关掉网卡节能、关闭巨型帧以外的干扰选项。Basler的pylon里面有带宽控制参数合理设置可以避免多相机抢带宽导致图像丢包。IO拍照是另一个高频问题。海康相机或者Basler相机的IO接口通常设计成光耦隔离输入输出用于外接光源、传感器或运行中信号。接线时要注意外触发信号接在Line In输出电压和电流要匹配相机IO的规格极性也不要接反。常见错误是外部PLC的信号是PNP输出相机配置却是NPN触发结果怎么触发都不动作。正确做法是先查相机手册确认IO类型再在SDK或相机配置工具里把触发源设为Line In、触发边沿和极性配好最后用示波器量一下触发线上的电压有没有到电平阈值。我见过太多所谓“相机坏了”的案例最后都是IO接线和触发配置不一致。5.3 从OpenPnP芯片识别看2D/3D分工很多贴片机项目用底部相机定位芯片方向用的都是普通2D工业相机。相机对着芯片底部拍照图像上能看到引脚和丝印通过模板匹配算旋转角。识别不了的原因主要有三类一是引脚反光导致过曝二是芯片本体和背景对比度太低三是镜头畸变或照明不均匀导致边缘变形。这种场景并不是必须ToF才能解决但ToF可以提供一个额外维度芯片底部是一个平面背景是另一个平面高度差天然形成分割。你可以把棋盘格之外的背景掩膜掉用深度边界辅助2D轮廓细化。反过来如果2D已经稳了也不必非上ToF成本会直线上升。“工业相机如何看芯片方向”这个细节我的经验是先把光学打好底子用低角度环形光让引脚轮廓清晰光源亮度不要过曝镜头加偏振片消除镜面反射。如果芯片表面有透明保护层试试红外照明普通可见光反而看不清内部结构和引脚。再不够才考虑3D辅助。判断标准很简单批量生产时误识别率能不能做到千分之一以下做不到就换方案不要在这类成熟场景里硬秀高精尖。6. 常见故障排查与经验速查表6.1 相机掉线、未收到触发信号先查这六项ToF相机和工业相机在现场最常报的问题就是掉线和触发不到。掉线这块我建议按下面顺序查第一供电是否稳定很多USB3.0相机插在电脑前置口或普通hub上电流不够导致反复重连要换独立供电或带电源的工业hub第二USB/网线接口是否松动工业现场要加固定架不能用一根裸线晃来晃去第三驱动和SDK版本是否匹配尤其是Windows更新后把默认驱动覆盖掉相机直接神秘失踪第四同一控制器下挂载多台相机带宽超限会随机掉线降帧率或者改成GigE接口。海康、Basler这类厂家都有设备诊断工具可以看丢包率、链路速度和错误计数不要凭感觉猜。“未收到触发信号”这类问题排查顺序也很有规律先确认触发源到底有没有电压信号用示波器量IO线别上来就怀疑相机再确认触发模式是硬件触发还是软件触发很多工况是代码里改了触发源但相机配置没改接着看触发电平和极性PNP还是NPN必须和相机IO输入匹配最后看曝光时间设置有些相机的触发延迟和曝光窗口只有几十微秒外部信号太短会直接漏触发。我把这类问题做成一个固定检查清单现场谁去都不用打电话问“这台相机为什么不动”。6.2 标定失败与不合格角点剔除的经验相机标定失败太常见了尤其是棋盘格在ToF红外图里的成像质量远不如RGB。典型问题有三个红外图像上棋盘格对比度差角点检测不出来标定板太小在图像里占的面积不足畸变太大导致边缘棋盘角点严重变形OpenCV检测到但不是正确位置。解决办法是在标定板背后加红外补光或者直接用发光标定板。也可以稍微缩小棋盘格边长、增大格子数量让角点分布更均匀而不只是让标定板充满视野。采集图像时尽量覆盖图像中心和四个角姿态要有倾斜、旋转、虚化变化避免所有图像都是正对直拍。OpenCV的calibrateCamera返回perViewErrors后能看每一帧的重投影误差。误差特别大的那几帧要么角点检测错了要么标定板有翘曲不应该参与最终标定。我通常先跑一轮完整标定然后剔除RMS误差超过均值两倍以上的图像再重跑一遍一般重投影误差能下降一半以上。双目相机标定或双ToF标定同样适用这个思路剔除不合格角点后立体匹配和点云拼接质量会有非常直观的提升。热词里“双目相机标定剔除不合格角点”说的就是这种操作别觉得麻烦这是投入产出比最高的标定优化手段。6.3 深度应用现场快速排查速查表现象可能原因快速处理深度图大量飞点/黑点环境光强、物体吸光、置信度过低加带通滤光/遮光调曝光提高幅度阈值距离偏大或偏小未做距离零偏标定、温度漂移重新做零点补偿开启温度补偿点云边缘拖尾iToF多路径干扰换角度采集后处理中值滤波多频融合优化相机掉线供电不足、带宽超限、驱动被覆盖独立供电、换线、降帧率、重装SDK触发拍照没反应IO类型/极性不匹配、触发信号太短示波器量信号改PNP/NPN配置延长触发脉宽标定重投影误差大标定板不平、图像未覆盖边缘、角点误检换硬质标定板剔除高误差帧重新采集面板白墙测距不稳定低纹理表面回波均匀性差用局部区域均值或加贴纸增加回波散射多台ToF互相干扰同波长主动光互串错峰曝光的硬件同步或安装时拉开角度这张表我看着就想起自己当年跑现场的狼狈样。很多时候问题不是单一原因而是多重因素叠加。所以我建议调试时一次只改一个变量改完立刻记录深度图的均值、方差和置信度否则改了一堆配置最后都不知道是哪个起的作用。最后说点个人体会。折腾ToF这些年最大的感悟就是它从来不是“装上就能用”的传感器而是一条从调制频率、曝光、滤光、标定到算法逐级对齐的链路。很多项目翻车都不是翻在原理上而是翻在没人把这条链路捋清楚——温度一变、光照一强、多台相机一连问题就全冒出来了。所以如果你正要上一个ToF项目建议先把标杆场景下的标定链路和滤波链路跑通再谈后面那些识别和测量的花活。我能帮你的就是把前面这些坑都标出来少走点弯路。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价