机器视觉入行这十来年,我见过太多项目在实验室里跑得好好的,一上产线就“翻车”。最讽刺的是,很多时候算法工程师把模型调了又调,最后发现根本不是算法的问题,而是相机拍到的图像本身就不稳定。今天这篇《机器视觉技术十讲》第二讲,我想认真聊聊那个让项目“死掉”的第一杀手——光。
先说个真实场景:一条装配线做手机中框缺陷检测,白天直射光强,晚上车间灯光自动切换,同一套算法在白天的误判率是0.3%,到了晚上直接飙到3%。产线工艺工程师说是算法不稳定,算法工程师说是相机参数不对,最后我让人用一块黑布把整个检测工位罩住,问题消失了。你看,这就是典型的“死在光上”——不是死在算法里,而是死在光学系统设计没做扎实。
这篇文章适合视觉工程师、自动化设备集成商、正在评估视觉方案的项目负责人,以及那些刚入门想系统学习机器视觉的朋友。我会从光的本质作用讲起,把光源选型、镜头计算、照明角度设计、现场防护这些环节拆开揉碎,全部用实际项目里验证过的经验来讲,看完你至少能回答三个问题:为什么光路决定视觉系统的上限?打光方式到底怎么选?现场稳定性怎么做才不会让项目反复返工?
1. 机器视觉项目“翻车”,为什么绝大多数倒在了光路上
很多刚接触视觉的人容易有一个错觉:视觉系统就是“相机加算法”,图像拍出来是什么样,那都是相机和软件决定的。这个认知在实验室里勉强够用,到了工业现场就是灾难。我做了这么多年项目,越来越认同一个结论:机器视觉的本质,是光信号的采集与解释过程。你看到的每一张图像,本质上是物体表面反射、透射、散射之后进入相机传感器的光子分布。算法只是在解释这张“光分布图”,光场一旦变了,算法训练的再好都是白搭。
1.1 视觉系统本质上是“光信号的采集与解释”
相机镜头、传感器、图像处理算法,这套链路里最容易被忽略也最关键的一环,是照明。为什么这么说?你想象一下,算法工程师拿到的一张图像,里面每个像素的灰度值,代表的是对应位置接收到的光能量。如果这个光能量信号被环境光扰动、被漫反射干扰、被阴影污染,那么图像里的特征就已经失真了,后面所有的边缘提取、阈值分割、缺陷检测都在处理错误信息。
有一个很贴切的类比:视觉系统就像人眼带着高度近视镜看工件,镜片本身不干净、有反光,你看什么都觉得有缺陷。你要做的不是去训练大脑“适应这种模糊”,而是先把眼镜擦干净。光路设计就是那副眼镜,光源、镜头、相机、遮光结构共同决定你“看得清不清楚、看得稳不稳定”。
1.2 三类典型的“光路事故”,我几乎每个季度都会遇到
回看这些年经手的项目,光路导致失败的现象虽然五花八门,但归纳起来主要是三类:
第一类,环境光干扰型。最典型的就是开头说的夜间换灯问题。工厂车间的照明灯、窗外透进来的阳光、邻近工位的焊接弧光,都会叠加到视觉系统采集的图像上。这类问题最阴险的地方在于,它在白天、晴天、夜班可能表现完全不同,排查时你甚至会怀疑是传感器随机噪声。
第二类,照明方式选型错误型。比如一个产品表面是镜面反光材质,你用了普通的环形白光照射,结果图像上全是灯管的镜像,特征区域过曝成一片白;或者一个透明物体的划痕,你用背光打,结果划痕在透明体内部产生复杂折射,根本拍不出稳定特征。
第三类,光路衰减失效型。这在长期运行的项目里特别常见。光源用久了亮度衰减,镜头上溅了油污,或者工件表面残留切削液,导致原本调好的参数逐渐“失配”。这类问题虽然不会第一天爆发,但往往在客户量产一两个月后集中出现,而且因为变化是渐进的,极难定位。
1.3 为什么光学问题排查起来格外让人头疼
如果你问我视觉项目里最难排查的故障是什么,我的答案不是算法崩溃,而是“图像看起来还行,但检测结果飘”。光学问题恰恰就擅长制造这种状态。
它有三个非常折磨人的特性:第一,不会直接报错。相机能拍到图,软件能跑完流程,但灰度分布已经畸变了,没有哪个模块会主动告诉你“光路不正常”;第二,干扰因素高度耦合。光源亮度、照射角度、物体材质、环境杂光、镜头污染,任何一个变了都会影响图像,但你想定位到底是哪个变量变了,却要逐一排除;第三,复现困难。有些杂散光只在特定角度、特定时间出现,等你带着仪器到现场,它又消失了。
所以我在带团队的时候会反复强调一个理念:光路稳定性是视觉系统真正的“地基”。地基不打牢,后面的算法、神经元网络再花哨也等于在流沙上盖楼。这也是为什么很多视觉项目评估会上,我关心的第一件事永远是“这套光路设计能不能保证24小时、365天输出稳定一致的图像”,而不是“你的识别率能到几个九”。
2. 工业光学系统设计的“三件套”:光源、镜头、传感器如何协同
既然光路是整个视觉系统的地基,那工业光学系统具体由哪些部件构成?很多人以为光学设计就是“选个光源”,其实完整的工业光学系统是光源、镜头、相机传感器三者协同工作的系统。这三个要素就像一个三脚架,缺一条腿都站不稳。下面一个一个拆开讲。
2.1 光源选型:不是“亮”就够,要的是“方向”和“对比度”
光源往往是整个光学系统里最容易被低估的环节。不少人打光的第一反应是“不够亮就加功率”,这是典型的误区。工业光源的价值不在于“多亮”,而在于能否通过特定的照射角度和光场分布,把你要检测的特征强化出来,把不需要的背景干扰压下去。
举一个最常见的例子:检测印刷电路板上的一行字符。如果你用普通散射光从正上方照明,字符和背景的对比度可能只有10到20个灰度级,算法要费很大劲才能分割出来;但如果你用低角度环形光,让光线从板面掠射而过,字符边缘会产生明显的漫反射,而平整的板面则把光线反射到另一侧,这时字符与背景的对比度可以拉大到50到80个灰度等级。特征对比度一上去,后端算法就轻松了。
所以选光源的第一步不是看功率,而是回答三个问题:第一,被测物体的表面特性是什么?是镜面、漫反射面、透明体还是半透明体?第二,需要强化的特征是几何轮廓、表面纹理还是内部缺陷?第三,现场有没有环境光干扰,需不需要结构上的遮光设计?这三个问题想清楚了,光源类型就基本锁定了。
常见的光源类型我也整理了一个对比表,方便你快速做初步判断:
| 光源类型 | 适合场合 | 工作原理 | 典型应用 |
|---|---|---|---|
| 环形光 | 表面纹理、金属边缘 | 从四周均匀照射,突出表面细节 | 金属划痕、字符识别 |
| 条形光 | 大面阵均匀照明 | 单侧方向性强,可控制阴影 | 大面积外观检测 |
| 同轴光 | 高反光平面 | 光路与镜头同轴,消除反光 | 镜面、晶圆、玻璃表面 |
| 背光 | 轮廓测量 | 从背后照亮,形成高对比剪影 | 尺寸测量、毛刺检测 |
| 穹顶光 | 曲面、凸凹不平表面 | 多个方向漫反射,无方向性阴影 | 球面、水果表面检测 |
| 结构光 | 三维信息获取 | 投射已知条纹/光斑,解算形貌 | 高度测量、3D重建 |
这个表不是让你照抄,而是给你一个思维框架:不同的光源类型本质上是不同的“光场控制策略”。你设计的不是灯,而是光线的角度分布和能量分布。
2.2 镜头:决定“看得清”的物理极限
光源负责把特征照亮,镜头则决定这些光信号能不能准确投射到传感器上。镜头的核心参数里,焦距、光圈、畸变、分辨率、景深,每一项都直接影响最终图像的可用性。
选镜头时我习惯先算两个数:工作距离和视野范围。比如你要检测一个宽度为50毫米的工件,相机传感器靶面宽度如果是6.4毫米(1/2.5英寸常见规格),那么镜头放大倍率大约是6.4除以50,也就是0.128倍。如果现场安装空间限制了工作距离只能在200毫米左右,根据放大倍率和工作距离就可以粗算焦距。通常用近似的简化公式:焦距约等于放大倍率乘以工作距离。0.128乘以200等于25.6毫米,那么选一个25毫米或定制的镜头就比较合理。
这还只是最基本的一项。更关键的是镜头的光圈和景深权衡——我见过不少项目为了追求亮度把光圈开到最大,结果景深只有零点几毫米,工件稍微有一点点高度波动图像就模糊了。工业现场的工件定位不可能每次都严丝合缝,所以光圈通常不建议全开,预留出足够的景深余量才是稳的做法。
2.3 传感器和相机:画幅、分辨率、帧率的三角平衡
相机的选择相对直接一些,但依然有三个容易踩坑的参数需要留意。第一是分辨率。分辨率不是越高越好,而是要和视野、像素精度匹配。比如50毫米的视野内要检测0.1毫米的缺陷,按经验至少需要3到5个像素去表达这个特征,那么单个像素对应实际物理尺寸就不能超过0.02到0.03毫米。用视野除以单像素物方尺寸,就能算出需要的分辨率,50除以0.02等于2500像素,考虑到边缘过渡,选一个500万像素级别的相机就很稳妥,盲目上1200万像素反而会拖慢处理速度、增加数据量。
第二是靶面尺寸。靶面大小直接影响视野和镜头搭配。同样的焦距,靶面越大视野越宽,但镜头的像圈是否能覆盖整个靶面,也是个容易忽略的坑。用小靶面镜头去配大靶面相机会出现边缘晕影,图像四周发黑,这类问题在现场特别难查。
第三是帧率和曝光时间。运动中的工件要给曝光时间设上限,否则会出现运动模糊。简单计算方法是:允许的模糊量除以产线速度,比如允许0.05毫米的模糊,线速度是每秒200毫米,曝光时间就必须小于0.05除以200,也就是0.25毫秒。很多线扫方案和飞拍方案就是卡在这个参数上,曝光稍长图像就拖出尾巴。
3. 照明设计里真正的核心变量:角度、波长、偏振
如果说上一节是光学系统的“硬件选型”,那这一节就是真正的“软件调校”——针对具体被测物设计光路。同一个元件,用不同角度、不同波长的光打,出来的图像可能天差地别。这是光学设计最考验经验的地方。
3.1 高角度与低角度照明:强化轮廓还是强化纹理
照明角度这个概念,很多刚接触的人不太敏感,但它恰恰是打光思路的分水岭。高角度照明,也就是光线与工件表面法线夹角较小,光源基本从正面垂直照射,适合表面比较平整、需要看清楚字符或颜色的场景。低角度照明则相反,光线从工件侧面贴近表面掠过,适合突出表面细小的凹凸纹理。
我说个真实的例子。有一次做锂电池极片表面的划痕检测,极片表面有涂布层,划痕很浅,用高角度光去看,图像里几乎看不到任何缺陷,因为划痕没有明显的颜色差异,只是表面形貌微变。后来把环形光的角度调到很低,让光几乎贴着极片表面扫过去,微小的凹槽把光线散射进镜头,划痕立刻变成了一条条清晰的亮线,对比度直接从十几拉到一百以上。这就是低角度照明的威力——它把“形貌差异”转换成了“亮度差异”。
反过来也有例子。检测金属铭牌上的镭射字符时,如果用低角度光,字符和底材的反射率差异不大,字符边缘会很模糊;改成同轴高角度光之后,字符区域和背景区域的反光特性差异被放大,图像立刻清晰了。所以不要迷信某一种打光方式,关键要分析特征部位的光学特性:你要检测的是表面的纹理、轮廓、还是颜色,决定了角度设计的思路。
3.2 波长选择:颜色不只是为了人眼好看
很多人选光源颜色,只看“什么颜色打出来图像看得清楚”,其实波长与物体材质、杂质吸收特性、传感器量子效率之间有一整套逻辑。光的波长越短,能量越高,对表面微结构的散射越敏感;波长越长,穿透性越强,越能透入半透明材料内部。
举一个经典的选波长案例:检测透明塑料瓶里的液位。自然光下拍,透明瓶壁和液体都差不多是透明的,对比度很低。但如果你用红外光或特定波长的光源,水和瓶壁对红外辐射的吸收率差异明显,图像里液位线就清晰可辨了。同理,检测红色字符在红色背景上的印刷缺陷,直接用白光往往对比度很差,因为红字和红底的反射光谱接近;换成蓝色光源,红色墨水对蓝光的吸收强,底材反射蓝光的比例高,缺陷就凸显出来了。
这里面还有一个常被忽略的“经济账”:工业相机的传感器对不同波长的响应率不同。很多黑白相机在红外波段的量子效率远高于蓝紫波段,所以同样功率下,用红外光可能图像更亮、信噪比更高。但红外光也会带来散热、价格和镜头镀膜适配的问题,所以选波长要综合考虑材质光学特性、传感器响应曲线和成本,而不是“我觉得这个颜色好看”就定了。
3.3 偏振:把恼人的反光变成可控的信息
工业现场最头疼的问题之一就是高反光表面,比如金属、玻璃盖板、电镀件、陶瓷。直接用普通光源照射,镜面反射光会饱和传感器、掩盖真实特征。这里偏振片就是一把利器。
偏振的原理很容易理解:自然光在各个方向都有振动分量,经过偏振片后变成单一方向的线偏振光。如果你在光源前加一个偏振片,再在镜头前加一个偏振方向与之垂直的偏振片,那么表面直接镜面反射回来的光会被第二个偏振片挡住,因为它的偏振方向和起偏偏振片一致;而经过漫反射进入镜头的散射光,偏振方向被打乱了,有一部分能穿过检偏偏振片,进入传感器。
这么操作之后,镜面高光会大幅减弱,而漫反射信息保留,图像上原本的“一片死白”就变成了带有纹理细节的干净图像。我做手机玻璃盖板外观检测时,这一招几乎必不可少。不过要提醒的是,加偏振片会显著降低进光量,通常要搭配更亮的光源或延长曝光时间,计算光路时要预留这个余量。同轴光结构其实也是利用了类似的分光原理,很多场景下能直接等效替代外加偏振片。
3.4 均匀性设计:再好的光源也怕“一边亮一边暗”
大型工件检测有一个特别容易被忽略的问题——光照均匀性。一个300毫米长的金属板,用两条条形灯从单侧照射,靠近灯的一端可能亮到接近200灰度值,远端掉到120灰度值。这种渐变会给后端的阈值分割造成大麻烦,同一个缺陷在亮区和暗区可能呈现出完全不同的灰度特征。
解决思路一般有三个方向:一是增加光源数量或改用穹顶光源,让光线在空间上更发散、更均匀;二是通过漫射板、反光罩等匀光结构,把点光源变成面光源;三是针对大视场场景做分区补偿,比如在现场实测得到一个灰度分布映射表,在算法层面做校正。前两种是从源头解决,第三种是补救方案,但工程上常常需要三者结合。我的习惯是在验收标准里直接写上“有效检测区域内,同一均匀表面灰度最大偏差不超过±8%”,这样项目交付后才不会因为亮度不均反复扯皮。
4. 从设计到落地:焦深计算、现场遮光、参数量化
光学系统设计不是停留在理论层面,最终要落到可执行的工程参数和现场实施上。这一块我把这些年沉淀下来的计算方法和现场经验整理出来,都是可以直接“抄作业”的。
4.1 分辨率、视野、工作距离的联动计算,一步一步算给你看
先说物方分辨率。大多数项目在需求阶段就能给出“最小检测缺陷尺寸”,这个值直接决定了相机分辨率的下限。比如客户要求检测的最小缺陷是0.1毫米,那按照奈奎斯特采样定理,一个缺陷特征至少需要用2个像素来表达,但工程上为了可靠识别,通常取3到5个像素。我一般按“缺陷尺寸的1/4”定义单个像素对应的物方尺寸,也就是0.025毫米/像素——为什么是这个比例?因为它兼顾了边缘过渡和噪声影响,太小则系统吃力,太大则特征不稳定。
接下来是视野范围。假设视野宽度为100毫米,单像素物方尺寸是0.025毫米,那么需要的像素数为100除以0.025等于4000像素。考虑到相机通常取4:3或16:9的标称分辨率,4000像素对应的相机至少是500万像素级别。如果视野是50毫米、缺陷要求是0.05毫米,那单像素物方尺寸取0.0125毫米,需要的像素数就是4000,同样是500万像素,但难度完全不同,因为同样的像素数塞进更小的视野,对镜头分辨率和光源均匀性的要求都成倍提高。
4.2 镜头选型的几条硬约束:接口、靶面、畸变、景深
选镜头这件事,我踩过的坑比选相机多。因为镜头是纯物理器件,参数之间相互制约,你往往不能只关注某一个指标。最常出问题的四个点,我列成清单:
- 接口和靶面匹配:C接口镜头配1/1.8英寸靶面相机是常规操作,但如果你用的是2/3英寸或1英寸靶面,就必须确认镜头像圈是否覆盖全靶面,否则边缘成像会崩溃。一个简单的判断方法:把镜头装上后拍一张白纸,如果图像四周发暗、发虚,多半就是像圈不够。
- 畸变补偿需求:高精度尺寸测量项目必须关注镜头的畸变。普通工业镜头畸变在0.3%到1%之间,看起来不大,但测量范围是200毫米时,0.5%的畸变就意味着1毫米的误差,这对微米级测量的项目是致命的。这种情况我会优先选远心镜头,它的设计就是为消除透视误差和畸变而生的。
- 景深预算:景深公式比较复杂,但工程经验可以简化:光圈越小景深越大,焦距越短景深越大,工作距离越远景深越大。我的经验是不要依赖计算器算出的理论景深,现场用手调一遍光圈,观察工件在最高点和最低点时图像是否都清晰,这是最靠谱的验收方式。
- 温度与震动:很多金属加工车间的镜头会因为热胀冷缩出现焦点漂移,尤其在冬季车间温度和夏季相差二十度时,原来调好的焦可能就跑了。这种场景建议用带锁紧机构的镜头,并且定期巡检焦点状态。
4.3 现场遮光设计:为什么“封闭式检测工位”是视觉项目的标配
我在前面反复强调环境光的危害,所以这里专门讲现场防护。很多人以为加了光源,环境光的影响就可以忽略,这是大错特错。荧光灯的频闪、天光的变化、对面工位焊接弧光,都可能让图像灰度产生几个点到几十个点的波动。
最稳妥也最便宜的做法,是做一个封闭式或半封闭式检测工位。不需要花哨的材料,用深色哑光的铝合金框架加遮光帘或亚克力罩就行,关键是内部不能有反光面,检测窗口和光源之间要加防尘和防眩光的迷宫结构。如果空间不允许,至少要保证光源的亮度远高于环境光,让环境光在总光强中的占比低到“不敏感”的程度。
还有一个容易忽略的点:光源驱动器的调制频率。很多便宜的光源控制器其实是PWM调光,输出是脉动的光,视觉相机一次曝光时间内如果跨越了亮暗周期,图像就会出现明暗条纹。解决方法是选用高频驱动器,或者让光源工作在恒流模式。当现场出现莫名的横纹干扰时,记得先检查光源供电方式,这个坑曾经让我排查了两天。
4.4 光路调试的量化“体检”方法
最后分享一套我自己在项目调试时都会做的光路“体检”流程,按顺序操作基本能把光路不确定性降到最低:
- 在检测区域放置标准工件或标准色卡,用相机连续采集50到100帧图像,统计每个关键ROI区域灰度的均值和标准差。如果单点灰度波动超过±5个灰度值,说明光源或环境光存在不稳定因素,先解决这个再往下走。
- 关闭光源,在同一环境光条件下采集一帧图像,记录残余灰度分布。这一步能直观看到环境光贡献了多少能量。如果环境光灰度值超过目标图像灰度均值的10%,就要考虑加强遮光或增亮光源。
- 拍摄一系列工件样本覆盖来料正常波动范围,包括偏差件、极限件、表面有油污或轻微氧化的样品,确定图像特征在正常波动下的灰度带宽。这个带宽越窄,算法越容易稳定。
- 做老化测试,连续运行8到12小时,观察光源亮度是否漂移、镜头上是否有灰尘或油雾沉积,并记录灰度变化趋势。这一步我在实验室里必做,上产线后能避免绝大多数隐性坑。
5. 复盘几个让我印象深刻的“光”翻车案例与救场方案
干这行最大的学习来源,其实是那些“项目差点黄了”的瞬间。我挑几个典型的、有代表性的翻车案例,把当时的排查链路和救场方案完整还原出来,你看完应该能少踩不少雷。
5.1 表面油污干扰的注塑件字符识别:问题不在算法,在光路
那是一个做汽车零部件的客户,注塑件表面打码后要OCR识别。实验室里字符识别率99.9%,一上产线不到98%,客户非常不满。我去了现场一看,图像里字符周围总有深浅不一的斑块,而且每个工件斑块位置都不同,算法把这些斑块误判成字符笔画的一部分。
排查时我先怀疑是环境光,但用遮光罩隔离后问题依旧;又怀疑是光源亮度,调了几挡也没有本质改善。后来我把单个工件的图像放大看细节,发现斑块的边缘有油光的轮廓特征,这才反应过来:注塑车间的工件表面会残留脱模剂和切削油,在环形光照射下形成了不规则的漫反射区域。解决思路是改用同轴光并压低光源角度,同时在镜头前加偏振片,结果字符对比度恢复正常,识别率直接回到了99.8%以上。这个案例给我最大的提醒是:先看图像,别急着跑算法。图像的每一个“鬼影”都在告诉你光路和工件表面发生了什么。
5.2 金属端面划痕检测的“过曝”陷阱
另一个案例是做金属端面的划痕检测,工件表面是铣加工后的亮面,客户要求检测0.02毫米宽度的细微划痕。初版方案用了高亮条形光加高角度照明,结果图像中心区域一片白,划痕完全被镜面反光淹没。
这个问题的根源在于金属亮面对光线的镜面反射特性:光源经过端面反射后直接进入镜头,形成大面积过曝区。抢救方案分两步:第一步把条形光改成低角度掠射,让镜面反射光向另一侧飞走,只有划痕这样的微粗糙区域才会把光散射进镜头,从而在暗背景下表现为亮线;第二步调整曝光时间,利用光的短时积分特性进一步压低背景反射。改完之后,划痕检测的对比度从完全不可用变成清晰可辨,而且这个方案还顺带解决了另一个问题——端面位置略有倾斜时,图像亮度波动也大大减小了。
5.3 光源衰减导致的“慢性死亡”项目
还有一个案例比较“慢性”:一个食品包装检测项目,验收时一切正常,客户用了三个月后开始陆续报误判率上升。我远程看了数据,发现图像整体灰度在逐步下降,但又不是均匀下降,边缘比中心衰减更明显,导致阈值分割逐渐失效。
现场检查后发现三个叠加因素:光源本身过了寿命期亮度衰减;镜头前端溅上了食品粉末和油雾;检测窗口的亚克力板被磨损后透光率下降。这三个因素单独出现任何一个都不至于致命,但叠加起来就成了“慢性死亡”。最终方案是:换用更高防护等级的光源并加装冷却结构,镜头前加装可快速拆卸的保护镜片,检测窗口改用耐磨石英玻璃,同时把定期清理和灰度校准加入设备维保计划。之后这个项目再没有因为光衰减复发过。
这类问题说明了一个道理:光学系统不是一锤子买卖,它是需要日常维护的“耗材系统”。做设备的人如果不把光源寿命、镜片清洁、亮度校准这些指标写进交付文档,迟早会被客户半夜的电话叫醒。
6. 给视觉项目“光”的终极建议:先评估光路稳定性,再谈识别率
走到这一步,你应该已经理解了为什么我用这么大篇幅强调“光”。在视觉项目的评估阶段,我强烈建议你先做三件事。
第一,把光路稳定性当作独立的技术风险项来评估。在项目报价和排期里,要给光学设计留出专门的验证时间,不要默认“随便打个光就行”。越复杂的表面材质,越需要提前做光路验证,而不是等项目启动了再边做边调。
第二,光路设计要有“余量思维”。比如光源亮度选型时留出20%到30%的衰减余量,镜头光圈不要开到极限,相机的动态范围预留高光或暗部的过渡空间。这些看似“浪费”的设计,恰恰是项目长期稳定运行的底气。
第三,把光学系统的维护成本写进售后方案。光源、镜头保护镜片、遮光罩、偏振片,这些都属于消耗性部件,需要定期更换和校准。我见过太多项目因为没人管光路维护,半年后精度下降,客户第一个怀疑的就是设备商“软件做得差”,实际上是光学硬件在退化。
另外还有一个小技巧,是我个人每次做DEMO之前一定会做的:拍完图之后,关掉所有光源再拍一张,然后把两张图叠在一起看差值。这个差值图能非常直观地暴露环境光泄漏和杂散光路径,很多看不见的隐患在这一步就现出原形。用这个方法,我曾经在一次验收前半小时发现了外壳接缝处漏进来的一束阳光,避免了当场翻车。
最后说句掏心窝的话:机器视觉这一行,算法能力强的人很多,能把光路伺候明白的人才是真稀缺。你对光的理解有多深,你的视觉系统就有多稳。希望这一讲的内容能帮你在下一个项目开始之前,就把“光”这个隐形风险看得明明白白。