4. HALCON图像预处理与质量特征提取
在质量追溯系统中,图像预处理与特征提取是连接“原始图像”与“可量化质量指标”的核心环节。HALCON 提供了从灰度变换、滤波、形态学到阈值分割、边缘提取的完整算子链,本节将围绕一条典型的工业检测流程,说明如何把一张原始图像逐步转化为可记录、可比较、可追溯的质量特征值。
灰度变换:统一光照基准
工业现场的光照波动、镜头暗角、相机响应差异都会让同一批产品的灰度分布发生漂移。灰度变换的目标不是“美化图像”,而是把不同时间、不同工位采集的图像映射到统一的灰度基准上,使后续阈值和特征值具有可比性。
常用算子包括 scale_image、scale_image_max 和 emphasize。例如,对一幅 8 位灰度图执行线性拉伸:
scale_image (Image, ImageScaled, 1.8, -60)
scale_image_max (ImageScaled, ImageMax)
其中 Mult=1.8、Add=-60 表示输出灰度 = 输入灰度 × 1.8 − 60。若原图集中在 80~160 灰度区间,拉伸后可扩展到约 84~228,对比度明显增强。对于光照不均的场景,可先用 illuminate 或 equ_histo_image 做背景校正,再进入后续处理。需要强调的是,灰度变换参数一旦确定,应作为工艺参数固化并记录在追溯档案中,否则同一产品在不同参数下会得到不同的质量指标。
滤波:抑制噪声,保留真实缺陷
滤波的选择取决于噪声类型与缺陷尺度。高斯滤波 gauss_filter 适合抑制随机噪声,但会模糊边缘;中值滤波 median_image 对椒盐噪声更有效,且能较好保留边缘;均值滤波 mean_image 计算快,但边缘模糊更明显。
以金属表面划痕检测为例,划痕宽度约 2~3 像素,若使用 gauss_filter 且 Sigma=2.0,划痕对比度会下降约 30%,可能导致漏检。此时可改用 median_image,MaskType='circle'、Radius=1,在去噪的同时保留细划痕。对于周期性纹理干扰,可在频域使用 fft_image 与 convol_fft 做带阻滤波,但工程上更常用 bandpass_image 或 derivate_gauss 直接提取特定尺度结构。
形态学:塑造区域形状
形态学用于修正区域的形状、连接断裂或分离粘连。HALCON 中 opening_circle、closing_circle、erosion_circle、dilation_circle 是最常用的组合。
例如,阈值分割后得到的焊点区域可能存在毛刺和孤立噪点。先做开运算 opening_circle (Region, RegionOpening, 2.5) 可去除小于半径 2.5 像素的突出物;再做闭运算 closing_circle (RegionOpening, RegionClosing, 3.5) 可填补内部小孔。若两个焊点因反光粘连,可用 erosion_circle 先分离,再 connection 与 select_shape 筛选。形态学结构元尺寸直接对应物理尺度,需根据相机标定换算:若标定结果为 0.05 mm/像素,半径 2.5 像素对应 0.125 mm,这一数值应写入工艺文件。
阈值分割与边缘提取:从灰度到区域和轮廓
阈值分割是把灰度图转为区域的关键步骤。全局阈值 threshold 适合背景均匀的场景;当光照渐变时,应使用 dyn_threshold 或 binary_threshold。例如:
threshold (ImageFiltered, Region, 120, 255)
connection (Region, ConnectedRegions)
select_shape (ConnectedRegions, SelectedRegions, 'area', 'and', 500, 5000)
这里 120~255 为灰度阈值区间,area 筛选 500~5000 像素的区域。对于亚像素级尺寸测量,应使用 edges_sub_pix 提取亚像素边缘,再通过 fit_line_contour_xld 或 fit_circle_contour_xld 拟合几何元素。边缘提取的 Alpha 参数控制平滑程度,Low、High 控制滞后阈值,典型值可取 Alpha=0.8、Low=20、High=40。
特征区域定位与可量化质量指标
区域定位后,需要把区域转换为可追溯的质量指标。HALCON 的 region_features 和 area_center 可提取面积、中心、圆度、矩形度、长宽比等;intensity 系列算子可提取灰度均值、方差、最大最小值。对于追溯系统,建议至少记录以下指标:
- 区域面积(像素或 mm²)与面积偏差;
- 区域中心坐标(Row、Column)与位置偏移;
- 灰度均值、标准差与对比度;
- 圆度、矩形度或拟合圆半径;
- 边缘拟合的直线度或圆度误差。
这些指标应连同图像采集时间、相机编号、曝光参数、预处理参数一起写入追溯记录。例如,某密封圈检测中,合格品面积范围为 12500~13500 像素,圆度大于 0.92;若某件产品面积为 11800 像素、圆度为 0.87,则可判定为尺寸偏小且形状异常,系统应记录该件的原始图像路径、特征值和判定结果,供后续追溯查询。
从特征值到追溯判定
特征提取完成后,需要把连续量转换为可判定的质量结论。常见做法是设定上下限公差,或使用 classify_class_knn、classify_mlp 等分类器。对于追溯系统,建议保留原始特征值而非仅保留“合格/不合格”标签,因为当工艺调整后,原始特征值可用于重新计算判定边界。
以某注塑件尺寸检测为例,提取区域面积 Area、圆度 Circularity、中心行坐标 Row 三个特征。若 Area 在 12500~13500 像素、Circularity 大于 0.92、Row 在 480~520 像素之间,则判定合格;否则记录异常类型:面积偏小、形状异常或位置偏移。每条记录应包含产品序列号、采集时间、特征值、判定结果和原始图像路径,形成完整的追溯链。
综上,HALCON 图像预处理与特征提取的核心思路是:先通过灰度变换和滤波稳定输入,再用形态学修正区域形状,通过阈值分割和边缘提取获得几何信息,最后把区域和轮廓转换为面积、圆度、灰度均值等可量化指标,并连同采集与处理参数一起写入追溯记录。只有把“图像—算子—参数—特征值—判定结果”完整关联,质量追溯才具备可复现、可审计的技术基础。