4. 图像预处理与增强

在MERLIC的视觉应用中,相机采集到的原始图像往往并不适合直接送入匹配、测量或OCR工具。光照不均、噪声、背景干扰、目标与背景对比度不足,都会让后续工具的输出变得不稳定。图像预处理与增强的任务,就是在正式执行检测逻辑之前,把图像调整到“工具最容易理解”的状态。MERLIC把这类操作集中在图像处理工具组中,常用的有灰度变换、滤波去噪、形态学操作和图像增强几类。理解它们的输入输出关系,比记住工具名称更重要。

灰度变换:改变像素值的映射关系

灰度变换是最基础的一类预处理。它的本质是建立一个输入灰度到输出灰度的映射函数,对图像中每个像素独立处理。MERLIC中常见的灰度变换工具包括亮度/对比度调整、伽马校正、反相、阈值截断和灰度拉伸。

以伽马校正为例,映射关系为 g_out = 255 × (g_in / 255)^γ。当 γ < 1 时,暗部被提亮,适合目标处于阴影区域的场景;当 γ > 1 时,亮部被压缩,适合抑制高光溢出。假设一张图像的目标区域灰度集中在 40~90,而背景在 150 以上,直接做阈值分割容易把暗部噪声也纳入目标。此时可先做灰度拉伸,把 40~90 线性映射到 0~255,再执行阈值,目标与背景的分离会明显改善。

灰度变换的优点是速度快、不改变空间结构,缺点是它无法区分“目标暗”和“噪声暗”。如果噪声与目标灰度重叠,单纯拉伸会把噪声一起放大,这时就需要滤波介入。

滤波去噪:在空间域抑制干扰

滤波去噪处理的是像素与其邻域的关系。MERLIC提供均值滤波、高斯滤波、中值滤波和双边滤波等工具。选择哪一种,取决于噪声类型和边缘保留要求。

  • 均值滤波:邻域内像素取平均,对高斯噪声有效,但会模糊边缘。3×3 核即可让细小噪声明显减弱,代价是边缘过渡带变宽。
  • 高斯滤波:按距离加权平均,中心像素权重最大。σ 控制平滑范围,σ 越大越平滑,边缘也越软。适合在边缘检测前做轻度平滑。
  • 中值滤波:取邻域中值,对椒盐噪声特别有效,且比均值滤波更能保留边缘。3×3 或 5×5 核是常用起点。
  • 双边滤波:同时考虑空间距离和灰度差,能在平滑噪声的同时保留强边缘,但计算量较大,适合对边缘精度要求高的测量任务。

实际配置时,核大小和迭代次数是两个关键参数。核越大、迭代越多,去噪越强,但目标细节丢失也越严重。一个可操作的判断方法是:先用默认 3×3 核处理,观察目标边缘是否仍然清晰;若噪声仍明显,再升到 5×5,而不是直接跳到 7×7。

形态学操作:按形状修改区域

形态学操作针对的是二值或灰度图像中的形状结构,核心是结构元素与图像的交互。MERLIC中常用腐蚀、膨胀、开运算和闭运算。

腐蚀会缩小亮区域,膨胀会扩大亮区域。开运算是先腐蚀后膨胀,用于去除小亮点和毛刺;闭运算是先膨胀后腐蚀,用于填补小孔和连接断裂区域。结构元素的形状和尺寸直接决定效果:圆形结构元素对圆形目标更友好,矩形结构元素适合规则边缘。

例如,一个金属件表面检测中,阈值分割后目标区域内部出现若干小孔洞,同时边缘有细小凸起。此时可先做一次 3×3 圆形结构元素的闭运算填补孔洞,再做一次开运算去除凸起。顺序不能随意颠倒:先开后闭可能把本应保留的细小连接断开,而先闭后开则更倾向于“先补后清”。

图像增强工具的综合配置与效果对比

MERLIC的图像增强工具通常不是单一操作,而是把灰度变换、滤波和形态学组合成一条处理链。配置时建议遵循“先全局后局部、先线性后非线性”的顺序:先做灰度变换调整整体亮度与对比度,再做滤波去噪,最后用形态学修整区域形状。如果顺序反过来,先做形态学再滤波,滤波可能把形态学刚修好的边缘重新模糊掉。

下面这张图展示了一条典型的MERLIC预处理链,以及每个环节对图像状态的影响。图中标注了示例参数,仅用于说明配置思路,实际值需根据具体图像调整。

MERLIC 图像预处理链:从原始图像到可检测图像 示例参数仅用于说明配置思路,实际值需根据图像调整 ① 原始图像 灰度范围 35~210 目标偏暗、背景偏亮 存在椒盐噪声 对比度不足 ② 灰度变换 伽马校正 γ=0.75 灰度拉伸 40~120→0~255 暗部提亮、对比度增强 目标与背景分离度提升 ③ 滤波去噪 中值滤波 3×3 去除椒盐噪声 边缘保持良好 噪声点基本消除 ④ 形态学操作 闭运算 3×3 圆形 填补孔洞 开运算 3×3 圆形 去除毛刺、区域规整 ⑤ 输出 送入 匹配/ 测量 工具 四类工具的作用位置与效果对比 工具类别 作用对象 关键参数 典型效果 灰度变换 单个像素灰度值 γ、拉伸区间 调整整体亮度与对比度 滤波去噪 像素邻域 核大小、σ、迭代次数 抑制噪声、可能模糊边缘 形态学操作 区域形状 结构元素形状与尺寸 修整区域、去孔洞或毛刺 图像增强组合 整条处理链 各环节顺序与参数 输出稳定可检测图像

从图中可以看到,灰度变换作用于单个像素,滤波作用于邻域,形态学作用于区域形状,三者处理的对象层级不同,因此顺序会直接影响最终结果。一个常见的错误是:先做形态学再做滤波,结果形态学刚修整好的边缘被滤波重新模糊,导致后续测量工具定位偏移。正确的做法是让滤波在形态学之前完成,形态学只负责最后的区域规整。

效果对比与参数选择建议

在MERLIC中对比不同预处理效果,最直接的方式是使用工具的输出图像预览,观察目标边缘、噪声残留和区域完整性三个指标。以下是一组示例性的对比观察记录,用于说明如何判断参数是否合适:

处理方案 目标边缘 噪声残留 区域完整性 判断
仅灰度拉伸 清晰 明显 完整 噪声未处理,不适合直接阈值
灰度拉伸 + 均值 3×3 略模糊 少量 完整 边缘损失可接受时可用
灰度拉伸 + 中值 3×3 清晰 基本消除 完整 椒盐噪声场景推荐
灰度拉伸 + 中值 3×3 + 闭运算 清晰 基本消除 孔洞填补 区域规整,适合测量

需要强调的是,上表中的“清晰”“少量”等描述是示例性判断,实际效果必须结合具体图像和后续工具的输出来评估。MERLIC的优势在于每个工具都有实时预览,调整参数时可以立即看到图像变化,这比离线计算参数再一次性应用要直观得多。

配置建议:预处理链不宜过长。每增加一个工具,都会引入新的参数和潜在误差。如果三个工具能解决问题,就不要用五个。优先用灰度变换解决对比度问题,用中值滤波解决椒盐噪声,用形态学解决区域形状问题,这三步覆盖了大多数工业视觉预处理需求。
注意:形态学操作中的结构元素尺寸不要超过目标特征的最小尺寸。例如目标最小宽度为 5 像素,使用 7×7 结构元素做开运算可能直接把目标消除。建议结构元素尺寸不超过目标最小尺寸的三分之一。

最后,预处理的效果最终要由后续工具来验证。如果匹配工具的输出分数从 0.65 提升到 0.92,或者测量工具的重复性从 ±3 像素改善到 ±0.8 像素,说明预处理链是有效的。反之,如果预处理后匹配分数反而下降,通常是因为滤波过度导致边缘特征被削弱,此时应减小核尺寸或改用边缘保持更好的双边滤波。MERLIC的工具链配置没有唯一正确答案,只有与当前图像和检测目标匹配的答案。