HALCON 是一款强大的机器视觉软件,广泛应用于工业自动化领域,特别是在缺陷检测方面有着卓越的表现。以下是 HALCON 缺陷检测的一些常用方法及其具体应用实例。

1. Blob 分析

Blob 分析是一种基于区域的图像处理方法,适用于检测图像中的连通区域。通过提取这些区域的形状特征,可以识别出缺陷。

应用实例:在 PCB 线路板检测中,可以通过 Blob 分析提取出线路的连通区域,进一步分析这些区域的形状特征(如面积、周长、圆形度等),从而检测出线路的断开或短路等问题。

2. 边缘检测

边缘检测是一种基于梯度的图像处理方法,适用于检测图像中的边缘。通过提取图像中的边缘信息,可以识别出缺陷。

应用实例:在饼干完整性检测中,可以通过边缘检测提取出饼干的轮廓,进一步分析这些轮廓的连续性和完整性,从而检测出饼干是否有缺损或裂纹。

3. 光度立体法

光度立体法是一种基于多视角光照的图像处理方法,适用于检测三维表面的缺陷。通过从多个视角拍摄图像并合成梯度图,可以识别出表面的凹凸、划痕等缺陷。

应用实例:在药片包装背面的缺陷检测中,可以通过光度立体法从多个视角拍摄药片包装的图像,合成梯度图,进一步分析这些梯度图的特征,从而检测出包装背面的凹凸、划痕等缺陷。

4. 特征训练

特征训练是一种基于机器学习的图像处理方法,适用于检测复杂且多样的缺陷。通过训练模型识别出缺陷的特征,可以实现高精度的缺陷检测。

应用实例:在皮革表面纹理的缺陷检测中,可以通过特征训练提取出皮革表面的纹理特征,进一步分析这些特征,从而检测出皮革表面的凹凸、污点等缺陷。

5. 测量拟合

测量拟合是一种基于几何测量的图像处理方法,适用于检测形状和尺寸的缺陷。通过测量图像中的几何特征,可以识别出形状和尺寸的偏差。

应用实例:在工件表面光滑度检测中,可以通过测量拟合提取出工件表面的几何特征,进一步分析这些特征,从而检测出工件表面的粗糙度和光滑度。

6. 频域处理

频域处理是一种基于傅里叶变换的图像处理方法,适用于检测图像中的高频和低频特征。通过分析图像的频域特征,可以识别出图像中的噪声和细节。

应用实例:在网格表面网孔的缺陷检测中,可以通过频域处理提取出网格表面的频域特征,进一步分析这些特征,从而检测出网孔的缺失或变形。

HALCON 定位检测实例

HALCON 不仅在缺陷检测方面表现出色,还在定位检测方面有着广泛的应用。以下是一个典型的 HALCON 定位检测实例:

工件定位检测

步骤

图像预处理:读取待处理的图像,调整图像的对比度和亮度,提高工件的可见性。

边缘检测:使用边缘检测算子(如 Canny 滤波器)提取工件的轮廓。

特征提取:提取工件的形状特征(如面积、周长、矩形度等)。

模板匹配:使用模板匹配算法(如 NCC)匹配工件的标准轮廓,确定工件的位置和姿态。

结果验证:验证检测结果,必要时进行人工确认。

参数调整:根据检测结果调整算法参数,提高检测准确率。

示例代码

halcon

* 读取图像

read_image (

Image

‘image_path

* 预处理图像

scale_image_max (

Image

, ImageMax)

equalize_image (

ImageMax

, ImageEqual)

* 边缘检测

edges_sub_pix (

ImageEqual

, Edges,

‘canny

‘,

* 特征提取

shape_trans (

Edges

, Contours,

‘polygon_approximation

‘,

0.1

* 模板匹配

find_shape_model (

Contours

, ModelID,

360

0.5

0.7

‘least_squares

‘,

0.5

, Row, Column, Angle, Score, ResultHandle)

* 显示结果

set_display_font (

‘small

disp_obj (

Contours

disp_message (

‘Object

located’,

halcon缺陷检测方法_halcon定位检测实例

‘window

‘,

‘black

‘,

‘false

通过以上方法和实例,可以看到 HALCON 在缺陷检测和定位检测方面的强大功能和灵活性。这些方法不仅适用于单一的检测任务,还可以组合使用,以应对更复杂的检测需求。