1 引言
机器视觉就是用机器代替人眼来做测量和判断。机器视觉系统是指通过机器视觉产品将被摄取目标转换成图像信号,再传送给专用信息处理装置作进一步加工的软、硬件设备。由于机器视觉系统可以快速获取大量信息,而且易于自动处理,和便于与加工控制信息集成,因此,在现代自动化生产过程中,人们将机器视觉系统广泛地用于工况监视、成品检验和质量控制等领域。机器视觉系统的特点是自动、客观、非接触、精度高,可方便地提高生产的柔性和自动化程度。在一些不适合于人工作业的危险工作环境或人工视觉难以满足要求的场合,常用机器视觉来替代人工视觉;在大批量工业生产过程中,用人工视觉检查产品质量效率低且精度不高,用机器视觉检测方法可以大大提高生产效率和生产的自动化程度。由于机器视觉易于实现信息集成,是实现计算机集成制造的基础技术之一。总之,随着机器视觉技术自身的成熟和发展,可以预计它将在现代和未来制造企业中得到越来越广泛的应用。
众所周知,工业ct技术作为一种先进的无损检测技术,它不仅可以用于工件内部结构和缺陷的无损检测、质量评定、定性分析和判断,还可以通过对工业ct图像的测量来实现工件内部结构尺寸和缺陷尺寸进行测量和定量分析,测量精度高,可重复性好。近年来,从定性检测向定量测量方向发展是工业ct技术的一个重要研究方向,并且已取得了很大的进展。但是,目前国内外对工业ct图像的测量大都还依赖于手工方法进行,不仅测量的可重复性差而且测量精确度不高,越来越难以适应大批量的图像处理工作的需要。因此,文章结合工程实践,文中针对手工测量存在的一些问题,对工业ct图像自动测量方法作些探讨,根据工业ct图像的自身特点提出了一种基于边缘提取的自动测量方法。
2 canny的边缘检测原理简介
通过工业ct机获得大型金属工件的断层图像,然后传输给中央管理系统,系统利用图像处理技术,对获取的图片进行分析,提取工件缺陷相关尺寸信息,存储在数据库中,供图像分析系统对金属或其它材料的基体组织、杂质含量、组织成分、缺陷大小等进行精确、客观地分析,为产品质量提供可靠的依据。
从信号采集角度考虑,透射被测工件的光子经探测器转换成模拟信号后,再经过a/d转换成数字信号,在上述过程中,原工件不同材质区域的边缘[1],根据ct卷积反投影重建算法[2]中的点扩散原理可知,真实边界在数字图中的边缘范围3个像素。
canny把边缘检测问题转换为检测单位函数极大值的问题[3]。在高斯噪声中,一个典型的边缘代表一个阶跃的强度变化。
(1) 一个好的边缘检测算子应具有三个指标:
低失误概率,既要少将真正的边缘丢失,也要少将非边缘判为边缘;
高定位精度,检测出的边缘应在真正的边缘位置上;
对每个边缘有唯一的响应,得到的边缘为单像素宽。
(2) canny提出了判定边缘检测算子的三个准则[4]:
良好的信噪比:良好的信噪比准则即将非边缘点判为边缘点的概率要低,将边缘点判为非边缘点的概率要低。信噪比的数学表达式:
(1)其中,f(x)是边界为[-ω,+ω]的滤波器脉冲响应,g(-x)代表边缘函数,σ是高斯噪声的均方差,若信噪比大,则边缘提取质量好。
定位精度准则。定位精度是指检测出的边缘点要尽可能在实际边缘的中心。定位精度的数学表达式为:
(2)其中,g'(x)和f'(x)分别表示g(x)和f(x)的一阶导数。如果localization值越大,那么表明边缘定位精度就高。
单边响应准则。即要保证单边缘只有一个像素响应,检测算子的脉冲响应导数的零交叉点平均距离d(f')应满足f"(x)(为f(x)的二阶导数)
(3)最后,canny用泛函求导方法推导出高斯函数的一阶导数,此即为该最佳函数的最好近似,计算方法简便。
3 canny边缘检测算法
canny算法实际采用双门限方法实现边缘提取,其中两个门限分别为h1与h2。canny建议h2为h1的2~3倍。算法流程如下[5]:
step1:初始化边缘点位置edgedot=(col, vol), col=0,vol=0。定义边缘图figureedge数组,大小为nwidth×nheight,初始化为全255(非边缘);
step2:在非最大抑制所得图中查看edgedot点的值,并赋给ifedge;
step3:if(ifedge=noedge)then step7;
step4:查看梯度图中edgedot点的值,并赋给magni- tude;
step5:if(magnitudestep6:在记录结果的边缘图中记下edgedot点并设置非最大抑制图对应点值为noedge,然后在梯度图中查看edgedot点的八邻域点梯度magnitudenear,若magni