3. 工业读码基础与码制解析
在工业读码工程中,选型失败往往不是相机分辨率不够,而是码制与算法适配错位。一维码、二维码和DPM码在编码结构、信息密度、容错机制和表面形态上差异显著,CV-X 的读码算法针对不同码制提供了不同的处理策略。理解这些差异,是后续设定曝光、光源、镜头和读码参数的前提。
一维码:条空宽度承载信息
一维码(如 Code 128、Code 39、EAN-13)通过条(bar)和空(space)的宽度组合编码字符。以 Code 128 为例,每个字符由 11 个模块组成,包含 3 个条和 3 个空,模块宽度是最小单位。扫描时,读码器沿一条扫描线测量各条空的相对宽度,再查表还原字符。这意味着:一维码对横向尺寸精度敏感,对纵向高度不敏感——只要扫描线穿过码区即可。
工业场景中,一维码常见于纸箱、标签和物流面单。其质量评价主要看条空对比度、最小模块宽度(X-dimension)、宽窄比和印刷位置偏差。若 X-dimension 为 0.25 mm,相机单像素对应视野需小于约 0.08 mm 才能稳定分辨,否则条空边界模糊,译码失败。CV-X 对一维码通常采用多扫描线并行处理,允许码在视野内有一定倾斜,但倾斜角一般不宜超过 ±10°,否则有效扫描宽度被压缩。
二维码:矩阵模块与纠错能力
二维码(Data Matrix、QR Code)以二维矩阵排列黑白模块,信息容量和纠错能力远高于一维码。Data Matrix 由 L 形定位边和时钟边构成,QR Code 由三个角上的回字形定位图案构成。编码时,数据被分割为码字,按纠错等级(如 Data Matrix 的 ECC 200,QR 的 L/M/Q/H)加入 Reed-Solomon 纠错码字。纠错等级越高,可容忍的污损面积越大,但相同尺寸下有效数据容量下降。
质量评价方面,ISO/IEC 15415 定义了符号反差、调制比、固定图案损伤、轴向不均匀性、网格不均匀性、未使用纠错等参数。工业现场最常关注的是符号反差(SC)和未使用纠错(UEC):SC 反映黑白模块的反射率差,UEC 反映纠错余量。若 UEC 接近 100%,说明码已接近纠错极限,任何轻微污染都可能导致读取失败。CV-X 对二维码采用区域定位与网格重建算法,先找定位图案,再按模块网格逐格采样,因此对局部污损和轻微变形有较强适应力。
DPM码:直接零件标记的特殊性
DPM(Direct Part Marking)码直接标记在零件表面,常见方式包括激光刻蚀、点刻(dot peen)、电化学腐蚀和喷墨。与印刷码不同,DPM 码的“黑”与“白”不是油墨反射率差异,而是表面凹凸或材质变化。金属点刻码由一系列凹坑组成,凹坑在漫射光下与周围表面反射率接近,对比度极低;若用普通环形光,几乎无法成像。
因此,DPM 读码的第一要务是打光。低角度暗场照明使凹坑边缘产生阴影,或同轴光配合偏振片抑制金属反光,才能让点阵显现。CV-X 对 DPM 码提供专门的对比度增强和形态学处理,但前提是图像中码点与背景存在可分离的灰度差。质量评价上,DPM 码更关注点径一致性、点间距均匀性和码区完整性,而非传统印刷码的 SC 值。
CV-X读码算法适配要点
CV-X 的读码工具并非“万能解码器”,而是按码制提供不同处理链。一维码走扫描线译码路径,适合高速产线;二维码走区域定位+网格采样+纠错译码路径,适合标签和激光打印码;DPM 码则需要先做图像增强,再进入二维码译码流程。实际配置时,应先在“码制选择”中明确类型,避免算法用错模型导致误读或漏读。
一个常见的教学示例:某金属零件上刻有 8×8 模块的 Data Matrix DPM 码,点径约 0.15 mm,码区约 2 mm×2 mm。若相机视野为 30 mm×30 mm、分辨率为 500 万像素(约 2448×2048),单像素对应约 0.012 mm,码区约占 160×160 像素,每个模块约 20 像素,理论上足够。但若用环形光,点坑与表面灰度差可能仅 10~20 灰阶,CV-X 的对比度增强后仍可能低于译码阈值。改用低角度条形光后,点坑边缘阴影使局部对比度提升到 60 灰阶以上,读取率可从约 60% 提升到 99% 以上。该数据为教学示例,实际效果需根据零件材质和刻印深度实测。
质量参数的实际判读
对于二维码,CV-X 的读码结果中通常会给出读取评分或纠错使用率。若评分持续偏低,说明码的印刷或刻印质量已接近算法极限,即使当前能读出,后续批次波动也可能导致停线。工程上建议将UEC 控制在 70% 以下作为稳定读取的参考线,超过 85% 则应检查打印头、刻印深度或光源状态。
对于一维码,若出现“有时读出、有时读不出”,优先检查条空边缘是否清晰和码是否倾斜。CV-X 的扫描线数量可适当增加,但根本解决仍需提高 X-dimension 或缩短工作距离。DPM 码则要重点观察点刻是否完整:若部分点缺失或连成一片,纠错可能勉强读出,但 UEC 会显著升高,属于高风险状态。
码制解析的最终目的,是让读码参数与物理码的特性匹配。一维码靠宽度、二维码靠矩阵、DPM 码靠表面形貌,三者的成像逻辑和算法路径不同。掌握这些差异后,再进入 CV-X 的具体工具配置,才能做到有的放矢,而不是靠试错碰运气。