4. 图像质量与预处理实战

在精密测量中,相机输出的原始图像并不是“所见即所得”的测量基准。镜头渐晕、传感器像素响应不一致、暗电流、坏点、随机噪声以及照明不均,都会让同一物理量在不同像素位置得到不同灰度,从而直接污染边缘定位、亚像素拟合和尺寸计算。预处理的目标不是把图像“修得好看”,而是把图像变成灰度与物理量之间关系稳定、可复现、可标定的测量输入。本节按“先定标、再修复、后增强、最后标准化”的顺序展开,并给出可直接落地的参数与判断依据。

一、平场校正与暗场校正:先建立灰度线性模型

相机响应可近似为线性模型:I_raw = G · (R · L + D) + N。其中 L 是入射光强,R 是像素响应率(含镜头渐晕),D 是暗电流偏置,G 是增益,N 是噪声。平场校正(Flat Field Correction, FFC)与暗场校正(Dark Field Correction, DFC)就是分别估计 R 与 D,再反解出与位置无关的 L。

暗场校正:盖住镜头或关闭光源,在与测量相同的曝光、增益、温度下采集 16~32 帧,逐像素取中位数得到暗场图 D(x,y)。用中位数而非均值,可抑制热像素对暗场的污染。校正时执行 I1 = I_raw − D,并做下限截断避免负值。

平场校正:使用均匀漫射面(积分球、均匀背光板或白纸+匀光)在相同光学条件下采集亮场,先做暗场扣除得到 F = I_flat − D,再对 F 做低通或中值滤波去除灰尘与坏点,最后归一化:K(x,y) = mean(F) / F(x,y)。校正公式为 I_corr = (I_raw − D) · K。若相机支持硬件平场,优先在相机内完成,可避免 8 bit 量化损失;若在软件端做,建议使用 12/16 bit 原始数据。

判断校正是否合格:在均匀照明下,校正前后同一区域灰度标准差应显著下降。示例:某 500 万像素相机校正前中心与边缘灰度差约 18%,校正后应降到 2% 以内;若仍大于 5%,需检查亮场是否饱和、是否有灰尘或光源漂移。

二、坏点修复:区分热像素、死像素与簇状缺陷

坏点分三类:死像素(恒为低值)、热像素(恒为高值)、簇状缺陷(相邻多个异常像素)。检测方法:在暗场图中,若某像素与邻域中位数偏差超过 k·σ(k 取 5~8),标记为候选坏点;再在亮场图中复核,避免把真实暗纹理误判为坏点。修复优先用邻域中值或方向性插值,而不是简单均值,以免模糊边缘。

对测量任务,坏点表应固化为标定文件,随相机序列号保存。若坏点落在被测边缘附近,仅靠插值可能引入 0.1~0.3 像素偏差,此时应调整视场让关键边缘避开坏点,或改用多点平均测量。

三、滤波去噪:在噪声与边缘之间取舍

精密测量最怕滤波把边缘“抹平”。选择原则:先判断噪声类型,再选滤波器。高斯噪声用高斯滤波或双边滤波;椒盐噪声用中值滤波;周期性条纹用频域陷波。对亚像素边缘测量,推荐 3×3 或 5×5 高斯核,σ 取 0.8~1.2;若边缘对比度低于 20 灰度级,应优先改善照明而非加大滤波。

示例参数:某金属件边缘测量,原始图像噪声 σ≈3.2 灰度级,使用 σ=1.0 的高斯滤波后噪声降至 σ≈1.1,边缘位置漂移小于 0.05 像素;若改用 7×7 均值滤波,噪声虽降至 σ≈0.9,但边缘漂移达 0.4 像素,不可接受。

四、对比度增强与测量前标准化

对比度增强只改变显示或后续阈值分割的输入,不应改变几何边缘位置。常用方法:线性拉伸、CLAHE、Gamma 校正。对测量,推荐先做线性拉伸到 10%~90% 灰度范围,再用固定阈值或亚像素边缘算子提取。CLAHE 适合低对比纹理,但会放大噪声,需配合滤波使用。

测量前标准化的核心是“同物同灰度”:固定曝光、增益、光源电流与温度,固定平场/暗场文件,固定滤波与增强参数,并把所有参数写入配方文件。每次开机后先采集暗场与亮场做快速校验,若均匀性偏差超过阈值则重新标定。

测量前图像标准化处理链与灰度变化 原始图像 I_raw 暗场校正 I1 = I_raw − D 平场校正 I2 = I1 · K 坏点修复 邻域中值插值 滤波去噪 高斯 σ=1.0 标准化 输出 同一水平行灰度剖面变化(示意) 原始:边缘模糊 + 渐晕 左 右 暗场+平场校正后 左 右 滤波后:噪声降低 左 右 标准化:固定灰度范围 左 右 关键参数(示例) 暗场帧数:16~32 帧取中位数 亮场均匀性:中心/边缘差 ≤ 2% 坏点判定:|I − 邻域中值| > 6σ 高斯滤波:3×3,σ = 0.8~1.2 灰度拉伸:10%~90% 范围 曝光/增益/光源:固定并写入配方 合格判断依据 均匀照明下灰度标准差下降 ≥ 80% 边缘位置漂移 < 0.1 像素 重复测量同一尺寸极差 < 0.5 像素 无残留坏点落在关键边缘 3 像素内 校正后无饱和、无负值截断 配方参数可复现,换班后结果一致 常见异常与处理 校正后仍渐晕 → 亮场饱和或灰尘 边缘变钝 → 滤波核过大,改 σ≤1.0 噪声放大 → CLAHE 过强,降 clip 值 坏点漂移 → 温度变化,重采暗场 灰度跳变 → 8bit 量化,改 12/16bit 结果不一致 → 光源衰减,重做平场 标定文件与配方参数随相机序列号固化,每次开机快速校验

五、可执行的标准化配方示例

下面给出一份可直接填入配方文件的参数表,字段与本节处理链一一对应。示例数值属于教学假设,实际应以现场标定结果为准。

项目示例值说明
曝光时间8000 μs固定,不随工件变化
增益0 dB优先低增益,减少噪声
暗场文件dark_16f_med.tif16 帧中位数
平场文件flat_norm_k.tif已归一化 K 图
坏点表defect_map.csv坐标 + 类型
滤波Gaussian 3×3, σ=1.0边缘漂移 < 0.05 px
灰度拉伸10%~90%线性,不改变边缘
均匀性阈值2%超限则重标定
注意:平场校正会改变像素间相对灰度,但不会改变几何位置;若发现校正后边缘位置整体偏移,应检查暗场是否包含固定图案噪声,或平场是否在光源未稳定时采集。所有校正必须在同一曝光、增益、温度下完成,否则 K 与 D 不再匹配。

完成上述处理后,图像才具备“同物同灰度、同边缘同位置”的测量前提。后续的相机标定、亚像素边缘提取与尺寸计算,都应基于标准化后的图像进行,并把配方文件与标定文件一起纳入版本管理,确保换班、换机、换光源后仍能复现同一测量结果。