论文部分内容阅读
[摘要] 针对XX机型平板阀表面磨损,人工查找、处理损伤,存在表面损伤不容易查找问题,使用Halcon软件和C#软件编程,自动检测产品表面损伤,实现损伤定位,尺寸标注等功能,解决该问题。
[关键词]平板阀、Halcon、C#、表面损伤
1. 引言
平板阀是X型飞机液压功能部件的关键零件,由于长时间工作,表面容易磨损,造成漏油故障。平板阀现用目测方法检查,发现损伤后进行研磨处理,再密封性试验,检查修理结果。使用目视方法检查,只能识别明显划痕、磨损,造成漏点的小损伤难以发现,往往要反复检查、修复、试验才能完成产品修理。使用视觉检测技术,可以在电脑屏幕上显示损伤面积、大小、位置。工作人员可以清楚的看到所有损伤,知道损伤位置,直接针对损伤部位进行处理。修复后使用软件对处理结果进行检查,从而避免了反复试验和损伤判断不准确的缺点,提高工作效率和产品修理质量。
2. 检测原理
视觉检测系统主要由工业摄像机、光源、镜头、图像采集/处理卡、电脑、图像处理系统、其他外部设备等组成。使用工业摄像机、图像采集/处理卡对处理对象进行图像采集,生成具有RGB三通道的数字矩阵,存储在计算机内。Halcon图像处理软件读取数据,进行灰度、滤波、阈值分割、目标提取,特征计算等处理,找到表面缺陷。Halcon可以导出图像处理的代码,生成类库, 用C#,VB等软件调用Halcon类库编程,完成目标检测功能。
3. Halcon图像软件算子
Halcon是德国MVtec公司研制的图像处理软件,功能强大,有1000多种功能算子。工程师可以直接使用功能算子处理图像,而不用自己开发算法,减少了编程开发的难度,缩短了项目研制周期。
3.1图像读取
图像处理首先要读取图像,Halcon可以用编程语句对存储在计算机内的图像进行读取,也可以用工业摄像机抓取拍照。在平板阀表面检测损伤检测项目中使用摄像机进行拍照。在Halcon软件中使用助手对摄像机进行设置,再用算子读取图像信息。
3.2灰度变换
彩色相机图像输出R、G、B三个通道的数据,在表面检测过程中首先要将彩色图片转换为灰色图像。根据加权计算公式,可以将彩色图像转换为适于人眼识别的灰度图像,公式如下:
Gray=0.299R+0.587g+0.114B
使用Halcon的 rgb_to_gray()算子,灰度结果存放在Imagegray变量里,然后用dev_display()将处理的灰度图片显示在屏幕上。
3.3滤波
图像经过灰度处理后,检测物体表面进行滤波处理,阈值分割算子会使用原始图像与滤波图像进行分析,提取缺陷目标。滤波算子为:mean_image(Image,ImageMean,7X7)将原始Image图像,滤波后存入ImageMean中。
3.4阈值分割
閾值分割是图像处理中的重要功能部件,它的作用是在灰度图像中分割出符合灰度、面积以及尺寸等信息的图像部分。使用局部阈值分割算子dyn_threshold(Image,ImageMean,DarkPixels,5,’dark’)将原始图像Image与均值滤波图像ImageMean进行阈值分割处理,存入DarkPixels中。
3.5特征提取与计算
阈值分割处理的图像划痕和噪点都会显示在图像中,使用select_shape()算子过滤出符合要求的损伤。因为一条划痕在计算的过程中因为灰度、亮度等因素影响,会不连贯。要用union1算子和膨胀算子skeleton()求出区域骨架。使用联通算子connection()后,完整缺陷线条检测出来。
4. C#与Halcon混合编程
Halcon软件图像生成的代码作为C#的类库。在检测系统软件中可以引用Halcon的功能,调用类,进行程序编写。在项目中要添加Halcon引用,从导出的Image.cs中拷贝HDevelopExport类到命名空间HalconCs中。C#编程例如:
Private void ad_click(object sender,eventargs e)
HDevleopExport HD=new HDevelopExport();
HD.RunHalcon(hwindow.HalconWindow);
5. 结束语
经过调试,平板阀组件用工业摄像机拍照后,图像软件实现了自动识别损伤功能。在电脑显示器上损伤部位用红色线条标示,鼠标选择损伤部分,会有长度、面积、坐标等信息显示。修复前后都可以用检测软件查看识别损伤,图像检测的智能识别,操作简单给修理工作带来了便利。
参考文献:
[1]杨青.Halcon机器视觉算法原理与编程实战.北京大学出版社2019.12
[2] [英]约翰.夏普著 周靖译VisualC#从入门到精通 清华大学出版社 .2019.1
[关键词]平板阀、Halcon、C#、表面损伤
1. 引言
平板阀是X型飞机液压功能部件的关键零件,由于长时间工作,表面容易磨损,造成漏油故障。平板阀现用目测方法检查,发现损伤后进行研磨处理,再密封性试验,检查修理结果。使用目视方法检查,只能识别明显划痕、磨损,造成漏点的小损伤难以发现,往往要反复检查、修复、试验才能完成产品修理。使用视觉检测技术,可以在电脑屏幕上显示损伤面积、大小、位置。工作人员可以清楚的看到所有损伤,知道损伤位置,直接针对损伤部位进行处理。修复后使用软件对处理结果进行检查,从而避免了反复试验和损伤判断不准确的缺点,提高工作效率和产品修理质量。
2. 检测原理
视觉检测系统主要由工业摄像机、光源、镜头、图像采集/处理卡、电脑、图像处理系统、其他外部设备等组成。使用工业摄像机、图像采集/处理卡对处理对象进行图像采集,生成具有RGB三通道的数字矩阵,存储在计算机内。Halcon图像处理软件读取数据,进行灰度、滤波、阈值分割、目标提取,特征计算等处理,找到表面缺陷。Halcon可以导出图像处理的代码,生成类库, 用C#,VB等软件调用Halcon类库编程,完成目标检测功能。
3. Halcon图像软件算子
Halcon是德国MVtec公司研制的图像处理软件,功能强大,有1000多种功能算子。工程师可以直接使用功能算子处理图像,而不用自己开发算法,减少了编程开发的难度,缩短了项目研制周期。
3.1图像读取
图像处理首先要读取图像,Halcon可以用编程语句对存储在计算机内的图像进行读取,也可以用工业摄像机抓取拍照。在平板阀表面检测损伤检测项目中使用摄像机进行拍照。在Halcon软件中使用助手对摄像机进行设置,再用算子读取图像信息。
3.2灰度变换
彩色相机图像输出R、G、B三个通道的数据,在表面检测过程中首先要将彩色图片转换为灰色图像。根据加权计算公式,可以将彩色图像转换为适于人眼识别的灰度图像,公式如下:
Gray=0.299R+0.587g+0.114B
使用Halcon的 rgb_to_gray()算子,灰度结果存放在Imagegray变量里,然后用dev_display()将处理的灰度图片显示在屏幕上。
3.3滤波
图像经过灰度处理后,检测物体表面进行滤波处理,阈值分割算子会使用原始图像与滤波图像进行分析,提取缺陷目标。滤波算子为:mean_image(Image,ImageMean,7X7)将原始Image图像,滤波后存入ImageMean中。
3.4阈值分割
閾值分割是图像处理中的重要功能部件,它的作用是在灰度图像中分割出符合灰度、面积以及尺寸等信息的图像部分。使用局部阈值分割算子dyn_threshold(Image,ImageMean,DarkPixels,5,’dark’)将原始图像Image与均值滤波图像ImageMean进行阈值分割处理,存入DarkPixels中。
3.5特征提取与计算
阈值分割处理的图像划痕和噪点都会显示在图像中,使用select_shape()算子过滤出符合要求的损伤。因为一条划痕在计算的过程中因为灰度、亮度等因素影响,会不连贯。要用union1算子和膨胀算子skeleton()求出区域骨架。使用联通算子connection()后,完整缺陷线条检测出来。
4. C#与Halcon混合编程
Halcon软件图像生成的代码作为C#的类库。在检测系统软件中可以引用Halcon的功能,调用类,进行程序编写。在项目中要添加Halcon引用,从导出的Image.cs中拷贝HDevelopExport类到命名空间HalconCs中。C#编程例如:
Private void ad_click(object sender,eventargs e)
HDevleopExport HD=new HDevelopExport();
HD.RunHalcon(hwindow.HalconWindow);
5. 结束语
经过调试,平板阀组件用工业摄像机拍照后,图像软件实现了自动识别损伤功能。在电脑显示器上损伤部位用红色线条标示,鼠标选择损伤部分,会有长度、面积、坐标等信息显示。修复前后都可以用检测软件查看识别损伤,图像检测的智能识别,操作简单给修理工作带来了便利。
参考文献:
[1]杨青.Halcon机器视觉算法原理与编程实战.北京大学出版社2019.12
[2] [英]约翰.夏普著 周靖译VisualC#从入门到精通 清华大学出版社 .2019.1