3. DPM码质量与可读性影响因素
DPM(Direct Part Mark,直接零件标识)与普通标签码最大的区别在于:码是直接“长”在零件本体上的,因此读取质量不再只由打印或印刷决定,而是由标记方式、表面材质、对比度、曲率、粗糙度这五个因素共同决定。理解它们各自如何影响成像,是后续调参、选镜头、选光源和判断“读不到到底是码的问题还是成像的问题”的基础。
一、标记方式决定码的“物理形态”
四种常见DPM标记方式产生的码在几何形态和光学特性上差异很大,直接决定了DataMan需要用什么算法去读。
- 激光打标:通过激光烧蚀或氧化在表面形成凹坑或变色点。码点边缘清晰、几何规整,但凹坑深度和反光特性受材料影响大。在金属上常形成“亮底暗点”或“暗底亮点”,取决于打标参数。
- 点刻(Dot Peen):用硬质针头机械冲击形成一系列凹坑。码点呈圆锥形凹陷,边缘有翻边毛刺,深度通常0.05~0.3 mm。点刻码的对比度主要来自凹坑的阴影,因此对光源角度极其敏感。
- 电化学蚀刻:通过电解液和掩膜在金属表面腐蚀出凹槽。码点边缘较平滑,深度均匀,通常对比度稳定,适合不锈钢、钛合金等医疗和航空零件。
- 喷墨打印:在表面沉积油墨点。码点凸起于表面,对比度取决于油墨与基材的颜色差,但耐磨性和附着力较差,长期使用后可能褪色或磨损。
从读取难度看,点刻码通常最难,因为凹坑的阴影方向随光源变化,且翻边毛刺会引入伪边缘;激光码次之;电化学和喷墨码在对比度足够时相对容易。DataMan的DPM算法针对点刻码做了专门的“点阵重建”处理,但前提是成像中码点与背景有可分离的灰度差异。
二、表面材质与对比度:码能不能“被看见”
表面材质通过两个途径影响读取:一是反射特性,二是与码点的颜色/灰度差。
金属表面常见镜面反射和漫反射混合。抛光金属上,激光码可能只表现为微弱的氧化色差,肉眼在特定角度才能看到,此时需要低角度暗场照明把凹坑阴影“拉”出来。拉丝金属则有方向性反射,光源方向应与拉丝方向成一定角度,避免整片反光淹没码点。
塑料表面相对柔和,但黑色塑料上的激光码往往形成浅灰色凹坑,对比度低;白色塑料上的喷墨码则对比度好但易磨损。塑料还可能有脱模剂残留,影响油墨附着。
玻璃透明且高反光,激光码通常形成微裂纹或表面凹凸,需要透射照明或暗场照明才能显现。玻璃上的DPM码读取难度高,常需要背光或特殊同轴光源。
对比度可以用“码点灰度均值与背景灰度均值之差”来量化。经验上,DataMan在8位灰度图中,若码点与背景的灰度差小于20~30个灰度级,读取稳定性会明显下降。此时应优先调整光源角度和强度,而不是先改算法参数。
三、曲率:码面不是平面时会发生什么
曲率影响的是景深和照明均匀性。当码打在圆柱面、球面或复杂曲面上时,码的不同部分到镜头的距离不同,超出景深的部分会模糊。同时,曲面上的反光方向不一致,可能导致码的一半过曝、另一半欠曝。
对于圆柱面,码通常沿圆周方向排列。若曲率半径小于约10 mm,码的宽度方向会产生明显的高度差。以半径R=8 mm的圆柱为例,码宽10 mm时,两端与中心的高度差约为:
h = R - sqrt(R² - (w/2)²)
= 8 - sqrt(64 - 25)
= 8 - 6.24
= 1.76 mm
这意味着码两端比中心低约1.76 mm。若镜头景深只有±1 mm,两端就会失焦。解决办法包括:缩小光圈增大景深、使用远心镜头、或让码的排列方向与圆柱轴线平行以减少高度差。
球面曲率更复杂,码的四个角可能都不在同一焦平面。此时应优先保证码中心区域清晰,并适当降低分辨率要求,让DataMan有更多像素覆盖码点。
四、粗糙度:噪声与伪码点的来源
粗糙表面(如喷砂、铸造、磨削表面)会在图像中产生大量随机灰度变化,这些变化可能被算法误判为码点,也可能淹没真实的码点信号。粗糙度越大,码点与背景的局部对比度越容易被噪声掩盖。
粗糙度对读取的影响可以用“信号噪声比”来理解:码点造成的灰度变化是信号,表面随机纹理造成的灰度波动是噪声。当噪声幅度接近或超过信号幅度时,读取率急剧下降。此时单纯提高光源亮度无效,反而可能让噪声同步增强。更有效的方法是:
- 使用低角度暗场照明,让粗糙表面的微小凸起产生阴影,而码点凹坑产生更强的阴影,从而拉开差异。
- 使用偏振片减少金属表面的漫反射噪声。
- 在DataMan中启用“DPM增强”或“点阵滤波”预处理,抑制高频噪声。
五、五因素综合影响与调参方向
实际读取中,五个因素不是独立的。例如,点刻码在粗糙金属上,粗糙度噪声和点刻阴影叠加,对比度可能进一步降低;而激光码在光滑塑料上,曲率又成为主要矛盾。因此调参时应先判断“当前限制因素是什么”,再针对性处理。
上图的判断路径可以总结为:先看灰度差是否足够,再看码面是否在景深内,最后看噪声是否淹没了码点。这三个问题分别对应照明、光学和算法三个层面的调整。实际调试时,建议每次只改一个变量,用同一批零件连续读50次以上,记录读取率和首读率,避免被偶然的成功读取误导。
最后需要强调:DataMan的DPM算法虽然强大,但它不能凭空恢复已经丢失的码点信息。如果成像阶段码点与背景的灰度差已经小于噪声幅度,任何算法参数都无法可靠解码。因此,DPM读取系统的设计顺序应该是:先确定标记方式和表面处理是否匹配,再设计照明和光学方案,最后才调整算法参数。这个顺序反过来做,往往会在现场反复碰壁。