1 / 19
文档名称:

基于sobel和canny算法的水珠边缘检测.doc

格式:doc   大小:933KB   页数:19页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

基于sobel和canny算法的水珠边缘检测.doc

上传人:xiang1982071 2021/2/3 文件大小:933 KB

下载得到文件列表

基于sobel和canny算法的水珠边缘检测.doc

文档介绍

文档介绍:基于sobel和canny算法的水珠边缘检测
李建国,李幸汶,卜祥洲,陈涛
(;)
摘要:水珠识别分析方法是利用数字图像处理及模式识别技术实现,本文简要说明了水珠通过边缘检测实现模式识别和计算的原理。同时,着重讨论了水珠识别过程中的噪声识别算法,详尽地阐述了识别过程中的阈值选取方法。此应用表明了算法的实时性好,可靠性高,能很好地满足工业生产和检测要求,大大提高了水珠识别的自动化与智能化。
关键词:水珠识别 边缘检测 边缘轮廓
引言
图像识别是计算机视觉领域的一个非常活跃的课题。近几年来人们对图像识别做了大量的研究,提出了很多种算法和方法,但电力行业应用的相对较少。传统的图像识别方法已不能满足高精度,高效率的要求。电力输配电企业对绝缘子的憎水性要求较高,因为其憎水性直接决定着绝缘子绝缘性能的好坏,并可以减少高压电击穿和污闪故障的发生。因绝缘子的憎水性变差而导致泄漏电流的增加,大大提高了输配电线路的安全隐患。因此,迫切需要提高绝缘子憎水性能安全检测的手段,实现检测的自动化和智能化。目前,检测系统都是拆卸绝缘子并通过实验室法进行测试,不能实现在线检测。对于在线喷水并通过CCD取像得到的图像,核心功能是水珠识别算法,算法的不同就决定了检测效果有很大的差别。那么,设计一个既快速又稳定的水珠识别算法,对水珠识别来说具有十分重要的意义。本文就是在如何准确提取水珠面积(或轮廓)的思想下,提出的一种新的识别算法。且通过人机交互接口,还可以满足其它行业(如建材或医疗)不同精度和质量级别需求。
工作原理
其基本工作原理:喷水装置在喷雾过程中,通过取像 CCD(Charge coupled Device)在线拍摄图像数据,图像数据经图像采集卡收集并传入计算机,由系统水珠识别算法设置相应的阈值,检测水珠边缘界线并计算水珠面积和所占用面积比,同时通过水珠的边缘轮廓计算水珠的形状因子。形状因子决定了水珠是否有粘连或流动,而面积反应了水珠的大小。计算这些元素,首先需要得到水珠的外形或形状轮廓,即:水珠边缘的检测。
Sobel(索贝尔)算子:
索贝尔算子(Sobel operator)是图像处理中的常用算子之一,主要用作边缘检测。在技术上,它是一离散性
差分算子,用来运算图像亮度函数的梯度之近似值。在图像的任何一点使用此算子,将会产生对应的梯度矢量或是其法矢量。对梯度幅值进行非极大值抑制,若(x,y)像素点的梯度幅值M(x,y)大于或等于沿梯度方向上,即:平行于H(x,y)方向的两个相邻像素点的梯度幅值,则判定该点为可能的边缘点。
该算子包含两组3x3的矩阵,分别为横向及纵向运算模板,如果用Sobel算子检测图像的边缘,可以先分别用水平算子和垂直算子对图像进行平面卷积,即可分别得出横向及纵向的亮度差分近似值。如果以A代表原始图像,Gx及Gy分别代表经横向及纵向边缘检测的图像,其公式如下:
=A =A
图像的每一个像素的横向及纵向梯度近似值可用以下的公式结合,来计算梯度的大小:
Gx = (-1)*f(x-1,y-1)+0*f(x,y-1)+1*f(x+1,y-1)+(-2)*f(x-1,y)+0*f(x,y)+2*f(x+1,y)+
(-1)*f(x-1,y+1)+0*f(x,y+1)+1*f(x+1,y+1)
= [f(x+1,y-1)+2*f(x+1,y)+f(x+1,y+1)]-[f(x-1,y-1)+2*f(x-1,y)+f(x-1,y+1)]Gy
= 1*f(x-1,y-1)+2*f(x,y-1)+1*f(x+1,y-1)+0*f(x-1,y)+0*f(x,y)+0*f(x+1,y)+
(-1)*f(x-1,y+1)+(-2)*f(x,y+1)+(-1)*f(x+1,y+1)
= [f(x-1,y-1)+2*f(x,y-1)+f(x+1,y-1)]-[f(x-1,y+1)+2*f(x,y+1)+f(x+1,y+1)]
其中f(a,b),表示图像(a,b)点的灰度值。图像的每一个像素的横向及纵向灰度值通过以下公式结合,来计算该点灰度的大小:
通常,为了提高效率,使用不开方的近似值:
如果梯度G大于某一阈值,则认为该点(x,y)为边缘点。
可用以下公式计算梯度方向:
上例中,如果角度Θ等于零,即代表图像在该处拥有纵向边缘,左方较右方暗。
在边沿检测中,常用的一种模板是Sobel 算子。Sobel 算子有两个,一个用来检测水平边沿,另一个用来检测垂直边沿。与“和”相比,Sobel算子对于象素的位置的影响做了加权,因此效果更好。
Sobel算子另一种形式是各向同性Sobel(Isotr