搜档网
当前位置:搜档网 › 基于边缘检测的零件轮廓识别系统开发

基于边缘检测的零件轮廓识别系统开发

基于边缘检测的零件轮廓识别系统开发
基于边缘检测的零件轮廓识别系统开发

第36卷第2期2019年2月机一一电一一工一一程JournalofMechanical&ElectricalEngineeringVol.36No.2Feb.2019

收稿日期:2018-07-23基金项目:浙江省自然科学基金资助项目(LY18E070006?LY18E050016)?国家自然科学基金资助项目(51307151?51677172)

作者简介:许鑫杰(1996-)?男?浙江台州人?主要从事视觉软件方面的研究?E ̄mail:770659216@qq.com

通信联系人:鲁文其?男?副教授?硕士生导师?E ̄mail:luwenqi@zstu.edu.cnDOI:10.3969/j.issn.1001-4551.2019.02.017

基于边缘检测的零件轮廓识别系统开发?

许鑫杰1?王秀锋2?鲁文其1??游文辉1?吴一迪1?杨亮亮1

(1.浙江理工大学机械与自动控制学院?浙江杭州310018?2.杭州琦星机器人科技有限公司?浙江杭州310018)

摘要:针对工业流水线检测中存在的成本大二检测效率低的问题?将轮廓检测技术应用到工业流水线检测中?基于边缘检测方法的基本原理?提出了一种基于边缘检测的零件轮廓识别方法?该方法首先使用Canny边缘检测算法来提取出零件的边缘?并在此基础上进一步提取出零件轮廓的相关特征?最后通过与待检测的零件轮廓特征相比较?从而实现对零件的识别检测?为了验证设计方法的正确性?本文搭建了一套零件轮廓识别系统?并使用工业零件来测试该系统的性能?研究结果表明:该系统能够快速二准确地识别目标零件?满足工业流水线检测的需求?

关键词:工业流水线检测?边缘检测?轮廓识别?Canny算法

中图分类号:TH39?TP24一一一一文献标志码:A文章编号:1001-4551(2019)02-0201-05

DevelopmentofpartcontourrecognitionsystembasedonedgedetectionXUXin ̄jie1?WANGXiu ̄feng2?LUWen ̄qi1?YOUWen ̄hui1?WUDi1?YANGLiang ̄liang1(1.FacultyofMechanicalEngineering&Automation?ZhejiangSci ̄TechUniversi?Hangzhou310018?China?2.HangzhouQiXingRobotTechnologyCo.?Ltd.?Hangzhou310018?China)

Abstract:Aimingattheproblemsofhighcostandlowefficiencyinindustrialpipelinedetection?thecontourdetectiontechnologywasap ̄pliedtoindustrialpipelinedetection.Basedontheanalysisofthebasicprincipleofedgedetectionmethod?amethodofpartcontourrecogni ̄tionbasedonedgedetectionwasproposed.ThemethodfirstlyusedCannyedgedetectionalgorithmtoextracttheedgeofthepart?andthenfurtherextractedtherelatedfeaturesofthepartcontour.Finally?bycomparingwiththecontourfeaturesoftheparttobedetected?therecog ̄nitionanddetectionofthepartcanberealized.Inordertoverifythecorrectnessofthedesignmethod?apartcontourrecognitionsystemwasbuilt?andtheperformanceofthesystemwastestedbyindustrialparts.Theresultsshowthatthesystemcanquicklyandaccuratelyidentifythetargetparts?meettheneedsofindustrialpipelineinspection.Keywords:industrialpipelinedetection?edgedetection?contourrecognition?Cannyalgorithm

0一引一言

工业生产中不可避免地涉及到各种工业零部件的

测量二检测和识别?过去工厂生产线上需要工人进行

检测?劳动力和管理成本高?还不能保证高检测率?尤

其对于一些不适合人工作业的危险状况?人眼无法进

行检测[1 ̄2]?人工检测速度和检测精度已难以满足如今的要求?机器视觉开始逐渐应用于工业生产中?取代人工检测?近年来?计算机技术二图像处理技术以及模式识别技术等发展迅猛[3]?在零件检测中?图像的边缘轮廓被视为物体与背景的分界线?体现出图像属性

最新Canny边缘检测与轮廓提取汇总

C a n n y边缘检测与轮 廓提取

摘要................................................................................................................................................... Abstract.......................................................................................................................................... I 1 绪论 0 2 设计内容与OpenCV简介 (1) 2.1 设计任务内容 (1) 2.2 OpenCV简介 (1) 3 理论分析 (2) 3.1 边缘检测 (2) 3.1.1 图像的边缘 (2) 3.1.2 边缘检测的基本步骤 (2) 3.2 轮廓提取 (3) 4 边缘检测的算法比较 (4) 4.1 Reborts算子 (4) 4.2 Sobel算子 (5) 4.3 Prewitt 算子 (5) 4.4 Kirsch 算子 (7) 4.5 LOG算子 (7) 4.6 Canny算子 (8) 5 实验仿真 (10) 5.1算法设计 (10) 5.2 实验结果 (11) 6 分析与总结 (12) 参考文献 (13) 附录 (14)

边缘检测是图像处理和计算机视觉中的基本问题,它的目的是标识出数字图像中亮度变化明显的点。图像经过边沿检测处理之后,不仅大幅度地减少了数据量,并且剔除了可以认为不相关的信息,保留了图像重要的结构属性。 事实上,边缘存在于图像的不规则结构和不平稳现象中,也即存在于信号的突变点处,这些点给出了图像轮廓的位置。这些轮廓常常是我们在图像边缘检测时,所需要的非常重要的一些特征条件,这就需要我们对一幅图像检测并提取出它的边缘。 可用于图像边缘检测和轮廓提取的方法有很多,其中包括有常见的Robert边缘算子、Prewitt 边缘算子、Sobel边缘算子等等。本文首先将会从数字图像处理的角度,对几种边缘检测算法进行详细的分析,然后会并选择其中一种边缘检测算法进行实验。考虑到以后进一步的学习,本文将会使用openCV对算法进行实现。最后,本文将会把实验获得的实际效果,与理论分析的结果进行比对,并以此对本次实验进行总结。 关键字:边缘检测轮廓提取图像处理openCV

几种常用边缘检测算法的比较

几种常用边缘检测算法的比较摘要:边缘是图像最基本的特征,边缘检测是图像分析与识别的重要环节。基于微分算子的边缘检测是目前较为常用的边缘检测方法。通过对Roberts,Sobel,Prewitt,Canny 和Log 及一种改进Sobel等几个微分算子的算法分析以及MATLAB 仿真实验对比,结果表明,Roberts,Sobel 和Prewitt 算子的算法简单,但检测精度不高,Canny 和Log 算子的算法复杂,但检测精度较高,基于Sobel的改进方法具有较好的可调性,可针对不同的图像得到较好的效果,但是边缘较粗糙。在应用中应根据实际情况选择不同的算子。 0 引言 边缘检测是图像分析与识别的第一步,边缘检测在计算机视觉、图像分析等应用中起着重要作用,图像的其他特征都是由边缘和区域这些基本特征推导出来的,边缘检测的效果会直接影响图像的分割和识别性能。边缘检测法的种类很多,如微分算子法、样板匹配法、小波检测法、神经网络法等等,每一类检测法又有不同的具体方法。目前,微分算子法中有Roberts,Sobel,Prewitt,Canny,Laplacian,Log 以及二阶方向导数等算子检测法,本文仅将讨论微分算子法中的几个常用算子法及一个改进Sobel算法。 1 边缘检测

在图像中,边缘是图像局部强度变化最明显的地方,它主要存在于目标与目标、目标与背景、区域与区域( 包括不同色彩) 之间。边缘表明一个特征区域的终结和另一特征区域的开始。边缘所分开区域的内部特征或属性是一致的,而不同的区域内部特征或属性是不同的。边缘检测正是利用物体和背景在某种图像特征上的差异来实现检测,这些差异包括灰度、颜色或纹理特征,边缘检测实际上就是检测图像特征发生变化的位置。边缘的类型很多,常见的有以下三种: 第一种是阶梯形边缘,其灰度从低跳跃到高; 第二种是屋顶形边缘,其灰度从低逐渐到高然后慢慢减小; 第三种是线性边缘,其灰度呈脉冲跳跃变化。如图1 所示。 (a) 阶梯形边缘(b) 屋顶形边缘 (b) 线性边缘 图像中的边缘是由许多边缘元组成,边缘元可以看作是一个短的直线段,每一个边缘元都由一个位置和一个角度确定。边缘元对应着图像上灰度曲面N 阶导数的不连续性。如果灰度曲面在一个点的N 阶导数是一个Delta 函数,那么就

经典图像边缘检测

经典图像边缘检测(微分法思想)——Sobel算子 2008-05-15 15:29Sobel于1970年提出了Sobel算子,与Prewitt算子相比较,Sobel算子对检测点的上下左右进一步加权。其加权模板如下: 经典图像边缘检测(微分法思想)——Roberts交叉算子 2008-05-14 17:16 如果我们沿如下图方向角度求其交叉方向的偏导数,则得到Roberts于1963年提出的交叉算子边缘检测方法。该方法最大优点是计算量小,速度快。但该方法由于是采用偶数模板,如下图所示,所求的(x,y)点处梯度幅度值,其实是图中交叉点处的值,从而导致在图像(x,y)点所求的梯度幅度值偏移了半个像素(见下图)。

上述偶数模板使得提取的点(x,y)梯度幅度值有半个像素的错位。为了解决这个定位偏移问题,目前一般是采用奇数模板。 奇数模板: 在图像处理中,一般都是取奇数模板来求其梯度幅度值,即:以某一点(x,y)为中心,取其两边相邻点来构建导数的近似公式:

这样就保证了在图像空间点(x,y)所求的梯度幅度值定位在梯度幅度值空间对应的(x,y)点上(如下图所示)。 前面我们讲过,判断某一点的梯度幅度值是否是边缘点,需要判断它是否大于设定的阈值。所以,只要我们设定阈值时考虑到加权系数产生的影响便可解决,偏导数值的倍数不是一个问题。 经典图像边缘检测(微分法思想)——Prewitt算子 2008-05-15 11:29 Prewitt算子 在一个较大区域中,用两点的偏导数值来求梯度幅度值,受噪声干扰很大。若对两个点的各自一定领域内的灰度值求和,并根据两个灰度值和的差来计算x,y的偏导数,则会在很

图像轮廓线提取

数学实验报告 实验二图像轮廓线提取技术 学院 专业 姓名 学号 成绩单序号 提交日期

一、实验目的 1.了解对matlab的图像处理功能,掌握基本的图像处理方式; 2.掌握imread,imshow,imwrite,subplot,title等的基本使用方法。 3.掌握图像轮廓线提取的简单方法并上机实现。 4.了解matlab自带的边界检测算子的使用,提高对复杂图像处理的能力。 二、实验要求 1.任意选取一幅灰度图像和一幅彩色图像,对算法中若干关键语句中进行调整,得出不同的实验结果,对这些结果进行分析,并与MATLAB自带的边缘检测做对比。 2.提出其它的轮廓线提取方法,与简单阈值法进行比较分析。 三、实验过程 1.任意选取一幅灰度图像和一幅彩色图像,对算法中若干关键语句中进行调整,得出不同的实验结果,对这些结果进行分析。 ⑴灰度图的轮廓线提取,M文件代码: function gray(pix,n) %灰度图的轮廓线提取 A=imread(pix); %读取指定的灰度图%生成与图像对应的矩阵 [a,b]=size(A); %a,b分别等于矩阵A的行数和列数 B=double(A); %将矩阵A变为双精度矩阵 D=40*sin(1/255*B); %将矩阵B进行非线性变换 T=A; %新建与A同等大小矩阵 for p=2:a-1 %处理图片边框内的像素点 for q=2:b-1 if (D(p,q)-D(p,q+1))>n|(D(p,q)-D(p,q-1))>n|(D(p,q)-D(p+1,q))>n|(D(p,q)-D(p-1,q))>n|( D(p,q)-D(p-1,q+1))>n|(D(p,q)-D(p+1,q-1))>n|(D(p,q)-D(p-1,q-1))>n|(D(p,q)-D(p+1,q +1))>n T(p,q)=0; %置边界点为黑色%新建轮廓线矩阵 else T(p,q)=255; %置非边界点为白色 end; end; end; subplot(2,1,1); %将窗口分割为两行一列,下图显示于第一行 image(A); %显示原图像 title('灰度图原图'); %图释 axis image; %保持图片显示比例 subplot(2,1,2); %下图显示于第二行 image(T); %显示提取轮廓线后的图片

数字图像处理中的边缘检测技术

课程设计报告 设计题目:数字图像处理中的边缘检测技术学院: 专业: 班级:学号: 学生姓名: 电子邮件: 时间:年月 成绩: 指导教师:

数字图像处理中的边缘检测技术课程设计报告I 目录 1 前言:查阅相关文献资料,了解和掌握基本原理、方法和研究现状,以及实际应用的背景意义 (1) 1.1理论背景 (1) 1.2图像边缘检测技术研究的目的和意义 (1) 1.3国内外研究现状分析 (2) 1.4常用边缘检测方法的基本原理 (3) 2 小波变换和小波包的边缘检测、基于数学形态学的边缘检测法算法原理 (7) 2.1 小波边缘检测的原理 (7) 2.2 数学形态学的边缘检测方法的原理 (7) 3 算法实现部分:程序设计的流程图及其描述 (9) 3.1 小波变换的多尺度边缘检测程序设计算法流程图 (9) 3.2 数学形态学的边缘检测方法程序设计算法描述 (10) 4实验部分:对所给的原始图像进行对比实验,给出相应的实验数据和处理结果 (11) 5分析及结论:对实验结果进行分析比较,最后得出相应的结论 (15) 参考文献 (17) 附录:代码 (18)

1前言 查阅相关文献资料,了解和掌握基本原理、方法和研究现状,以及实际应用的背景意义 1.1 理论背景 图像处理就是对图像信息加工以满足人的视觉心理或应用需求的方法。图像处理方法有光学方法和电子学方法。从20世纪60年代起随着电子计算机和计算技术的不断提高和普及,数字图像处理进入了高速发展时期,而数字图像处理就是利用数字计算机或其它的硬件设备对图像信息转换而得到的电信号进行某些数学处理以提高图像的实用性。 图像处理在遥感技术,医学领域,安全领域,工业生产中有着广泛的应用,其中在医学应用中的超声、核磁共振和CT等技术,安全领域的模式识别技术,工业中的无损检测技术尤其引人注目。 计算机进行图像处理一般有两个目的:(1)产生更适合人观察和识别的图像。 (2)希望能由计算机自动识别和理解图像。数字图像的边缘检测是图像分割、目标区域的识别、区域形状提取等图像分析领域的重要基础,图像处理和分析的第一步往往就是边缘检测。 物体的边缘是以图像的局部特征不连续的形式出现的,也就是指图像局部亮度变化最显著的部分,例如灰度值的突变、颜色的突变、纹理结构的突变等,同时物体的边缘也是不同区域的分界处。图像边缘有方向和幅度两个特性,通常沿边缘的走向灰度变化平缓,垂直于边缘走向的像素灰度变化剧烈。根据灰度变化的特点,图像边缘可分为阶跃型、房顶型和凸缘型。 1.2 图像边缘检测技术研究的目的和意义 数字图像处理是伴随着计算机发展起来的一门新兴学科,随着计算机硬件、软件的高度发展,数字图像处理也在生活中的各个领域得到了广泛的应用。边缘检测技术是图像处理和计算机视觉等领域最基本的技术,如何快速、精确的提取图像边缘信息一直是国内外研究的热点,然而边缘检测也是图像处理中的一个难题。 首先要研究图像边缘检测,就要先研究图像去噪和图像锐化。前者是为了得到飞更真实的图像,排除外界的干扰,后者则是为我们的边缘检测提供图像特征更加明显的图片,即加大图像特征。两者虽然在图像处理中都有重要地位,但本次研究主要是针对图像边缘检测的研究,我们最终所要达到的目的是为了处理速

Sobel边缘检测算子

经典边缘检测算子比较 一 各种经典边缘检测算子原理简介 图像的边缘对人的视觉具有重要的意义,一般而言,当人们看一个有边缘的物体时,首先感觉到的便是边缘。灰度或结构等信息的突变处称为边缘。边缘是一个区域的结束,也是另一个区域的开始,利用该特征可以分割图像。需要指出的是,检测出的边缘并不等同于实际目标的真实边缘。由于图像数据时二维的,而实际物体是三维的,从三维到二维的投影必然会造成信息的丢失,再加上成像过程中的光照不均和噪声等因素的影响,使得有边缘的地方不一定能被检测出来,而检测出的边缘也不一定代表实际边缘。图像的边缘有方向和幅度两个属性,沿边缘方向像素变化平缓,垂直于边缘方向像素变化剧烈。边缘上的这种变化可以用微分算子检测出来,通常用一阶或两阶导数来检测边缘,如下图所以。不同的是一阶导数认为最大值对应边缘位置,而二阶导数则以过零点对应边缘位置。 (a )图像灰度变化 (b )一阶导数 (c )二阶导数 基于一阶导数的边缘检测算子包括Roberts 算子、Sobel 算子、Prewitt 算子等,在算法实现过程中,通过22?(Roberts 算子)或者33?模板作为核与图像中的每个像素点做卷积和运算,然后选取合适的阈值以提取边缘。拉普拉斯边缘检测算子是基于二阶导数的边缘检测算子,该算子对噪声敏感。一种改进方式是先对图像进行平滑处理,然后再应用二阶导数的边缘检测算子,其代表是LOG 算子。前边介绍的边缘检测算子法是基于微分方法的,其依据是图像的边缘对应一阶导数的极大值点和二阶导数的过零点。Canny 算子是另外一类边缘检测算子,它不是通过微分算子检测边缘,而是在满足一定约束条件下推导出的边缘检测最优化算子。 1 Roberts (罗伯特)边缘检测算子 景物的边缘总是以图像中强度的突变形式出现的,所以景物边缘包含着大量的信息。由于景物的边缘具有十分复杂的形态,因此,最常用的边缘检测方法是所谓的“梯度检测法”。 设(,)f x y 是图像灰度分布函数; (,)s x y 是图像边缘的梯度值;(,)x y ?是梯度的方向。则有 [][]{} 1 2 22 (,)(,)(,)(,)(,)s x y f x n y f x y f x y n f x y = +-++- (1) (n=1,2,...) [][]{}1 (,)tan (,)(,)/(,)(,)x y f x y n f x y f x n y f x y ?-=+-+- (2)

实验七 图像边沿检测及轮廓提取

实验七图像边沿检测及轮廓提取 1.图像的边沿检测 一、实验目的 1、掌握边沿检测的原理。 2、学习在DSP上实现边沿检测的方法。 二、实验仪器 1、硬件平台:C6000数字图像处理实验箱(型号ZY13DSP23BB)、摄像头、USB连接线。 2、软件平台:Windows98/2000/XP操作系统、Code Composer Studio 2.0 For C6000、ImageRECV 2.0 for ZY13DSP23BB。 三、实验原理 对于给出的一个模板和一幅图像 。 不难发现原图中左边暗,右边亮,中间存在着一条明显的边界。进行模板操作后的结果如下: 。 可以看出,第3、4列比其他列的灰度值高很多,人眼观察时,就能发现一条很明显的亮边,其它区域都很暗,这样就起到了边沿检测的作用。为何会如此呢?仔细看看那个模板就明白了,它的意思是将右邻点的灰度值减左邻点的灰度值作为该点的灰度值。在灰度相近的区域内,这么做的结果使得该点的灰度值接近于0;而在边界附近,灰度值有明显的跳变,这么做的结果使得该点的灰度值很大,这样就出现了上面的结果。 这种模板就是一种边沿检测器,它在数学上的涵义是一种基于梯度的滤波器,又称边沿算子。梯度是有方向的,和边沿的方向总是正交(垂直)的。例如,对于上面那幅图像的转置

图像,边沿是水平方向的,我们可以用梯度是垂直方向的模板检测它的边沿。再例如, 一个梯度为45度方向模板,可以检测出135度方向的边沿。 在边沿检测中,常用的一种模板是Sobel 算子。Sobel 算子有两个,一个是检测水平边沿的;另一个是检测垂直边沿的。与和 相比,Sobel算子对于象素的位置的影响做了加权,因此效果更好。 如下图,图19-1是对图1-2进行Sobel算子处理后的结果图,可以看出Sobel算子确实把图像中的边沿提取了出来。 图19-1 Sobel算子处理后结果 四、实验步骤 1、将光盘上的“examples\EdgeCheck”目录复制到计算机硬盘,去掉目录中所有文件的只读属性; 2、通过USB连接线,将C6000数字图像处理实验箱与PC的USB口相连接,如果PC 提示找到新硬件,则表示连接成功; 3、启动Code Composer Studio 2.0 For C6000; 4、启动ImageRECV 2.0 for ZY13DSP23BB; 5、打开“Project”菜单,选择“Open…”菜单项,找到并打开硬盘上目录“examples\EdgeCheck”,选择EdgeCheck.pjt工程文件; 6、打开“Project”菜单,选择“Rebuild all…”菜单项,编译程序,生成EdgeCheck.out文件; 7、打开“File”菜单,选择“Load program…”菜单项,选择“examples\ EdgeCheck \Debug\EdgeCheck.out”,程序将加载到DSP上; 8、运行:快捷键“F5”或选择“Debug”菜单中的“Run”项;

数字图像课程设计报告:边缘检测算子的比较

数字图像处理课程设计报告题目数字图像课程设计—各边缘检测算子的对比 系别电气系 班级xxxxxxxxxxxxx学号xxxxxxxxxxxx 姓名xxxx指导老师xxxx 时间xxxxxxx

目录 一、课题设计的任务 (3) 1.1 课题选择 (3) 1.2 课题设计的背景 (3) 二、课题原理简介 (3) 三、经典边缘检测算子性能比较及程序 (6) 3.1MATLAB程序仿真 (6) 3.2实验结果的比较 (10) 四、实验结论 (11) 五、参考文献 (11)

一、课题设计的任务 1.1课题选择 各边缘检测的对比 1.2 课题设计的背景 我们感知外部世界的途径主要是听觉和视觉。而视觉主要是获取图像的信息,例如图片的特征和周围的背景区域的差别。这种灰度或结构等信息的突变,就称之为边缘。图像的边缘对人类视觉而言具有重要意义,有些差别很细微,人眼很难观察,这时就需要计算机图像处理技术,物体边缘上的这种变化可以用微分算子检测出来,通常用一阶或两阶导数来检测边缘。 本次我的课程设计就利用了MATLAB软件,通过实验,对各边缘检测算子进行了对比和研究,例如基于一阶导数的边缘检测算子Roberts算子、Sobel算子,基于二阶导数的拉普拉斯算子,canny边缘检测算子等。并且在4天内完成了课程设计作业,基本达到既定要求。 二、课题原理简介 边缘是一个区域的结束,也是另一个区域的开始,利用该特征可以分割图像。检测出的边缘并不等同于实际目标的真实边缘。图像的边缘有方向和幅度两个属性,沿边缘方向像素变化平缓,垂直于边缘方向像素变化剧烈。边缘上的这种变化可以用微分算子检测出来,通常用一阶或两阶导数来检测边缘,如下图所以。不同的是一阶导数认为最大值对应边缘位置,而二阶导数则以过零点对应边缘位置。 (a)图像灰度变化(b)一阶导数(c)二阶导数 下面是一些主要的边缘检测算子的原理介绍 1 Roberts(罗伯特)边缘检测算子 景物的边缘总是以图像中强度的突变形式出现的,所以景物边缘包含着大量的信息。由于景物的边缘具有十分复杂的形态,因此,最常用的边缘检测方法 是所谓的“梯度检测法”。设(,) s x y是图像边缘的 f x y是图像灰度分布函数;(,) 是梯度的方向。则有 梯度值;(,) x y

halcon边缘提取缺陷检测的思路

一、边缘提取 1、设置ROI兴趣区域 2、快速二值化,并连接相邻区域。这样做的目的是进一步减少目标区域,通过二值化将目标区域大概轮廓提取出来 3、提取最接近目标区域的轮廓.常用函数有boundary,gen_contour_region_xld 4、根据自己的需求提取需要的初步轮廓 5、将初步提取的初步轮廓进行膨胀操作 6、将膨胀后的区域和原图进行减操作(在这步之前有可能需要对原图进行高斯滤波)。这样就能得到只有边缘的真实图像 7、用canny或其他算子(根据需要)提取亚像素轮廓,一般使用edges_sub_pix函数 8、处理和计算 得到真实的边缘XLD后你可能需要进一步处理得到你想要的线、弧等。 你可能用到的函数segment_contours_xld(分割)union_collinear_contours_xld(联合相邻或相同角度直线)select_contours_xld(提取想要的轮廓)union_cocircular_contours_xld(联合相同圆)等等 得到轮廓后如果你不知道怎么处理后得到你想要的东西(线、弧、圆、角、矩形)你都可以将轮廓转化为点,然后用点集合来拟合任何你想要的东西。 二、BLOB分析检测(前面一篇有详细讲解,本骗只讲思路) 1、应用ROI,可以使Blob分析加速。 2、匹配ROI区域或图像,详将GUIDEIIB以形状为基础的匹配。 3、校正图像<经常用来去除镜头畸变或把图像转换到参考点视角,如双目视觉时的图像校正> 4、图像前处理 5、引用分割参数 6、分割图像 7、区域处理 8、特征提取 9、把提取的结果转换到世界坐标中 10、结果可视化。 三、赃物检测 1、得到两个不同高斯标准差的高斯积卷 2、对原始图像进行傅里叶变换'to_fre' 3、用之前的积卷对图像做积卷滤波 4、傅里叶反变换‘from_fre’

经典边缘检测算子对比

经典边缘检测算子比较 张丽 南京信息工程大学信息与计算科学系,南京210044 摘要:图像边缘检测技术是图像分割、目标识别、区域形态提取等图像分析领域中十分重要的基础。本文简要介绍各种经典图像边缘检测算子的基本原理,用Matlab仿真实验结果表明各种算子的特点及对噪声的敏感度,为学习和寻找更好的边缘检测方法提供参考价值。 关键字:图像处理;边缘检测;算子;比较 引言 图像的边缘时图像最基本的特征之一。所谓边缘(或边沿)是指周围像素灰度有阶跃性变化或“屋顶”变化的那些像素的集合。边缘广泛存在于物体与背景之间、物体与物体之间、基元与基元之间,因此它是图像分割依赖的重要特征。图像边缘对图像识别和计算机分析十分有用,边缘能勾划出目标物体,使观察者一目了然;边缘蕴含了丰富的内在信息(如方向、阶跃性质、形状等)。从本质上说,图像边缘是图像局部特性不连续性(灰度突变、颜色突变、纹理结构突变等)的反应,它标志着一个区域的终结和另一个区域的开始。 边缘检测技术是所有基于边界分割的图像分析方法的第一步,首先检测出图像局部特性的不连续性,再将它们连成边界,这些边界把图像分成不同的区域,检测出边缘的图像就可以进行特征提取和形状分析。为了得到较好的边缘效果,现在已经有了很多的边缘检测算法以及一些边缘检测算子的改进算法。但各算子有自己的优缺点和适用领域。本文着重对一些经典边缘检测算子进行理论分析、实际验证并对各自性能特点做出比较和评价,以便实际应用中更好地发挥其长处,为新方法的研究提供衡量尺度和改进依据。 一各种经典边缘检测算子原理简介 图像的边缘对人的视觉具有重要的意义,一般而言,当人们看一个有边缘的物体时,首先感觉到的便是边缘。灰度或结构等信息的突变处称为边缘。边缘是一个区域的结束,也是另一个区域的开始,利用该特征可以分割图像。需要指出的是,检测出的边缘并不等同于实际目标的真实边缘。由于图像数据时二维的,而实际物体是三维的,从三维到二维的投影必然会造成信息的丢失,再加上成像过程中的光照不均和噪声等因素的影响,使得有边缘的地

图像边缘检测及提取,分水岭算法

1.几种算子图像边缘提取: 程序代码如下: 运行结果: 原图为一堆苹果(彩图),各算子处理后的边缘提取图:

分水岭算法实现: a.直接对图像进行分水岭算法处理 代码如下:(原图还是上题一堆苹果) 运行结果如右图: 很明显,属于过度分割了。下面有改进算法: b.改进算法代码如下: 实现包括下列步骤: (1)读图像。读入图像 (2)对比度最大化。注意到图像中有许多彼此连通的 不同大小的对象。为使通过watershed变换找到的低 谷数目最小,我们使感兴趣的对象的对比度达到最 大。对比度增强的一个常用的技术是综合应用top— hat和bottom—hat变换。 top—hat变换定义为原图像和它的开之差。图像的 开是一与特定结构元素匹配的图像前景部分的集合。 bottom—hat变换定义为在原图像和它的闭之间的 差。图像的闭是一与特定结构元素匹配的图像背景 的集合。 通用的结构元素是正方形,长方形,圆盘,菱 形,球和线。既然图像中我们感兴趣的目标对象看 起来像圆盘,我们用strel函数建立一个半径为15个 像素的圆盘形结构元素。这个圆盘尺度是图像中的 目标对象的平均半径的一个估计。 (3)图像相加减。为使目标对象与分隔它们的间隙之 间的对比达到最大,用“原图top—hat图像+bottom —hat图像”得到增强的结果图。 ( 4)转换感兴趣的对象。调用watershed变换找出图像 的亮度”低谷”,把imcomplement作用 增强过的图像上,将感兴趣的目标对象转换为亮度低谷,得到增强图的补图。 (5)检测亮度低谷。对所得补图运用imextendedmin函数检测低于某特别阈值的所有亮度低谷。

边缘检测算子比较

边缘检测算子比较 不同图像灰度不同,边界处一般会有明显的边缘,利用此特征可以分割图像。需要说明的是:边缘和物体间的边界并不等同,边缘指的是图像中像素的值有突变的地方,而物体间的边界指的是现实场景中的存在于物体之间的边界。有可能有边缘的地方并非边界,也有可能边界的地方并无边缘,因为现实世界中的物体是三维的,而图像只具有二维信息,从三维到二维的投影成像不可避免的会丢失一部分信息;另外,成像过程中的光照和噪声也是不可避免的重要因素。正是因为这些原因,基于边缘的图像分割仍然是当前图像研究中的世界级难题,目前研究者正在试图在边缘提取中加入高层的语义信息。 课题所用图像边缘与边界应该算是等同的。 在实际的图像分割中,往往只用到一阶和二阶导数,虽然,原理上,可以用更高阶的导数,但是,因为噪声的影响,在纯粹二阶的导数操作中就会出现对噪声的敏感现象,三阶以上的导数信息往往失去了应用价值。二阶导数还可以说明灰度突变的类型。在有些情况下,如灰度变化均匀的图像,只利用一阶导数可能找不到边界,此时二阶导数就能提供很有用的信息。二阶导数对噪声也比较敏感,解决的方法是先对图像进行平滑滤波,消除部分噪声,再进行边缘检测。不过,利用二阶导数信息的算法是基于过零检测的,因此得到的边缘点数比较少,有利于后继的处理和识别工作。 各种算子的存在就是对这种导数分割原理进行的实例化计算,是为了在计算过程中直接使用的一种计算单位; Roberts算子:边缘定位准,但是对噪声敏感。适用于边缘明显且噪声较少的图像分割。Roberts边缘检测算子是一种利用局部差分算子寻找边缘的算子,Robert算子图像处理后结果边缘不是很平滑。经分析,由于Robert算子通常会在图像边缘附近的区域内产生较宽的响应,故采用上述算子检测的边缘图像常需做细化处理,边缘定位的精度不是很高。Prewitt算子:对噪声有抑制作用,抑制噪声的原理是通过像素平均,但是像素平均相当于对图像的低通滤波,所以Prewitt算子对边缘的定位不如Roberts算子。 Sobel算子:Sobel算子和Prewitt算子都是加权平均,但是Sobel算子认为,邻域的像素对当前像素产生的影响不是等价的,所以距离不同的像素具有不同的权值,对算子结果产生的影响也不同。一般来说,距离越远,产生的影响越小。 Isotropic Sobel算子:加权平均算子,权值反比于邻点与中心点的距离,当沿不同方向检测边缘时梯度幅度一致,就是通常所说的各向同性。 在边沿检测中,常用的一种模板是Sobel 算子。Sobel 算子有两个,一个是检测水平边沿的;另一个是检测垂直平边沿的。Sobel算子另一种形式是各向同性Sobel(Isotropic Sobel)算子,也有两个,一个是检测水平边沿的,另一个是检测垂直平边沿的。各向同性Sobel 算子和普通Sobel算子相比,它的位置加权系数更为准确,在检测不同方向的边沿时梯度的幅度一致。由于建筑物图像的特殊性,我们可以发现,处理该类型图像轮廓时,并不需要对梯度方向进行运算,所以程序并没有给出各向同性Sobel算子的处理方法。 由于Sobel算子是滤波算子的形式,用于提取边缘,可以利用快速卷积函数,简单有效,因此应用广泛。美中不足的是,Sobel算子并没有将图像的主体与背景严格地区分开来,换言之就是Sobel算子没有基于图像灰度进行处理,由于Sobel算子没有严格地模拟人的视觉生理特征,所以提取的图像轮廓有时并不能令人满意。在观测一幅图像的时候,我们往往首先注意的是图像与背景不同的部分,正是这个部分将主体突出显示,基于该理论,我们可以给出阈值化轮廓提取算法,该算法已在数学上证明当像素点满足正态分布时所求解是最优的。

对人脸边缘检测的几种算子实验比对

第07卷2007盔第06期 06月 V01.7 June No06 2007 对人脸边缘检测的几种算子实验比对 王晓红熊盛武 摘要:对于图像处理的一个研究分支一人脸识别与检测,自美国“9.11”事件后被广泛重视,并正在从实验室走向商业化。在这个过程中,科技工作者们有着众多不同的尝试方式,本文就一些经典的算法公式,选择不同的算子,通过MATLAB语言表现出来。 关键词:模式识别图像处理人脸检测算子 中图分类号:TP391.41文献标识码:A文章编号:1006-7973(2007)06-0145-02 一、前言 纵观人类历史,从制造简单的工具,到钻木取火;从四大发明到蒸汽机的使用;作为万物之灵的人类还制造了汽车、飞机、无线电、太空船…..直到一九四六年第一台计算机的出现,人类所发明的工具才真正有了和人类自身大脑作比较的工具一电脑!人类一直梦想着更接近于人的电脑来沿伸人 类大脑的工作。这就有了“fifthgenerationcomputer'’,这是日本在上世纪八十年代初制定的国家十年计划的目标:听得懂话,可识别图像,可以自我学习、可以判断和思考等等具有智能的计算机。可是时间已经过去了二十多年了,这个目标还没有实现。说明还有许多技术上的瓶颈还有待突破。想要让计算机做到以前只能由人类才能做到的事情,具备人的智能,具有对各种事件进行分析、判断的能力,还有很多的路要走。下面仅从识别图像这个方向来探讨人脸的识别。 二、人脸识别的发展现状 生物特征的识别技术从20世纪末兴起,伴随计算机硬件和信息技术的飞速发展使得地球变成了“地球村”,经过使人震惊的“9?11”事件后,现代社会对身份识别提出了更多、更高的要求。生物识别在图像识另Ⅱ领域也受到了空前的重视。生物识别技术已经在商业方面有了许多应用,并有不断纵深的趋势。据国际生物集团(InternationalBiometricGroup,IBG)的统计:到2007年将达到40亿美元。并且美国在“9?11”遇袭事件后,连续签署了3个国家安全法案(爱国者法案、航空安全法案、边境签证法案),要求必须采用生物认证技术。这对生物识别技术的应用起到了推波助澜的作用。 所谓生物特征的识别(BiometricIdentificationTechnology),就是利用人所特有的生物特征,包括生理特征和行为特征,用这些特征来进行人的身份鉴别。常用的有:脸相、虹膜、指纹、掌纹等;常用的行为特征包括:声音、笔迹、步姿等。生物特征具有以下一些特点:比如说人都有手掌,但每个人的掌纹都不一样,且这种独有的唯一的特征并不随时间变化而变化;在实际的应用中,人类特有的这些特征是可采集的,人脸的识别正是符合了这样一些特点,并且人脸识别的特点是以人为准,最大程度地确保了鉴别的可靠性。 三、人脸识别与其它识别技术的区别 在这些识别技术中,人脸识别技术(FaceRecognitionTechniques,FRT)是采用人的面部特征来确定一个人身份的,是生物特征识别技术的一个主要方向。和其他生物特征比,人脸特征的提取更具有主动、友善、无打扰等优点,基于这些特点,人脸识别技术才成为被广泛使用的方法。但是,人脸不是一成不变的,同一个人在不同的年龄段会有变化,另外光线、姿势、面部表情、面部附属物(如胡子、眼镜)等变化的影响,人脸的识别的准确度会大打折扣。就目前而言,大多的人脸识别系统还远未达到人类婴幼儿的识别能力,因此,人脸识别还有许多工作可做。 四、人脸识别方法之一——人脸检测的边缘检测方法 人脸识另lj技术包涵的内容很多,如模式识别、图像处理、计算机视觉、计算机图形学、各种数学算法的引用等等。 对于人脸的识别其首要目的是能够在图片中检测出来人脸来,即人脸检测,而人脸的检测最重要的是对其边缘的提取。图像的边缘点产生的原因虽然不同,但归根结底都是由于图像的灰度不连续或者灰度急剧变化的所造成的,利用这个特性,我们可以采用微分运算,得到边缘点,从而得到人脸的轮廓。 边缘检测是根据图像的灰度值或者色彩的急剧变化的特点,采用各种微分运算进行边缘检测的。下面就几种微分法进行理论比较。 首先需要介绍微分的原理: Af(i,j)=[,(?+1,j)一f(i,j)】十[厂(j,J+1)一f(i,j)】 m¨=誓+熹 为方便编程离散化后的差分方程为: 收稿日期:2007—3—21 作者简介:王晓红女武汉理工大学硕士研究生武汉商业服务学院讲师熊盛武男武汉理工大学教授博导  万方数据

图像边缘检测方法的研究与实现刘法200832800066

青岛大学 专业课程设计 院系: 自动化学院 专业: 电子信息工程 班级: 08级电子信息工程3班 学生姓名: 刘法 指导教师: 王汉萍庄晓东 日期: 2011年12月23日 题目:图像边缘检测方法的研究与实现 一、边缘检测以及相关概念 1.1边缘,边缘检测的介绍 边缘(edge)是指图像局部强度变化最显著的部分.边缘主要存在于目标与目标、目标与背景、区域与区域(包括不同色彩)之间,是图像分割、纹理特征和形状特征等图像分析的重要基础.图像分析和理解的第一步常常是边缘检测(edge detection). 边缘检测是指使用数学方法提取图像像元中具有亮度值(灰度)空间方向梯度大的边、线特征的过程。 在讨论边缘算子之前,首先给出一些术语的定义: 边缘点:图像中具有坐标] i且处在强度显著变化的位置上的点. ,[j 边缘段:对应于边缘点坐标] i及其方位 ,边缘的方位可能是梯度角. ,[j 边缘检测器:从图像中抽取边缘(边缘点和边缘段)集合的算法. 轮廓:边缘列表,或是一条表示边缘列表的拟合曲线. 边缘连接:从无序边缘表形成有序边缘表的过程.习惯上边缘的表示采用顺时针方向序. 边缘跟踪:一个用来确定轮廊的图像(指滤波后的图像)搜索过程. 边缘点的坐标可以是边缘位置像素点的行、列整数标号,也可以在子像素分辨率水平上表示.边缘坐标可以在原始图像坐标系上表示,但大多数情况下是在边缘检测滤波器的输出图像的坐标系上表示,因为滤波过程可能导致图像坐标平移或缩放.边缘段可以用像素点尺寸大小的小线段定义,或用具有方位属性的一个点定义.请注意,在实际中,边缘点和边缘段都被称为边缘.

边缘连接和边缘跟踪之间的区别在于:边缘连接是把边缘检测器产生的无序边缘集作为输入,输出一个有序边缘集;边缘跟踪则是将一幅图像作为输入,输出一个有序边缘集.另外,边缘检测使用局部信息来决定边缘,而边缘跟踪使用整个图像信息来决定一个像素点是不是边缘. 1.2 边缘检测算子 边缘检测是图像特征提取的重要技术之一, 边缘常常意味着一个区域的终结和另一个区域的开始. 图像的边缘包含了物体形状的重要信息,它不仅在分析图像时大幅度地减少了要处理的信息量,而且还保护了目标的边界结构. 因此,边缘检测可以看做是处理许多复杂问题的关键. 边缘检测的实质是采用某种算法来提取出图像中对对象与背景间的交界线。图像灰度的变化情况可以用图像灰度分布的梯度来反映,因此可以用局部图像微分技术来获取边缘检测算子。经典的边缘检测方法是对原始图像中的像素的某个邻域来构造边缘检测算子。以下是对几种经典的边缘检测算子进行理论分析,并对各自的性能特点做出比较和评价。 边缘检测的原理是:由于微分算子具有突出灰度变化的作用,对图像进行微分运算,在图像边缘处其灰度变化较大,故该处微分计算值教高,可将这些微分值作为相应点的边缘强度,通过阈值判别来提取边缘点,即如果微分值大于阈值,则为边缘点。 Roberts,Sobel,Prewwit是基于一阶导数的边缘检测算子,图像的边缘检测是通过2*2或者3*3模板作为核与该图像中的每个像素点做卷积和运算,然后选取合适的阈值以提取边缘。 Laplace边缘检测算子是基于二阶导数的边缘检测算子,该算子对噪声敏感。Laplace算子的改进方式是先对图像进行平滑处理,然后再应用二阶导数的边缘检测算子,其代表是拉普拉斯高斯(LOG)算子。前边介绍的边缘检测算法是基于微分方法的,其依据是图像的边缘对应一阶导数的极大值点和二阶导数过零点。Canny算子是另外一类边缘检测算子,它不是通过微分算子检测边缘,而是在满足一定约束条件下推导出的边缘检测最优化算子。 1.3 边缘检测算法 对于边缘的检测常常借助于空域微分算子进行,通过将其模板与图像卷积完成。两个具有不同灰度值的相邻区域之间总存在灰度边缘。灰度边缘是灰度值不连续(或突变) 的结果,这种不连续常可利用求一阶和二阶导数方便地检测到。已有的局部技术边缘检测方法,主要有一次微分(Sobel 算子、Robert s 算子等) 、二次微分(拉普拉斯算子等)。这些边缘检测器对边缘灰度值过渡比较尖锐且噪声较小等不太复杂的图像,大多数提取算法均可以取得较好的效果。但对于边缘复杂、采光不均匀的图像来说,则效果不太理想。主要表现为边缘模糊、边缘非单像素宽、弱边缘丢失和整体边缘的不连续等方面。 用算子检测图像边缘的方法是用小区域模板对图像进行处理,即采用卷积核作为掩模模板在图像中依次移动,完成图像中每个像素点同模板的卷积运算,最终输出的边缘幅度结果可以检测出图像的边缘。卷积运算是一种邻域运算。图像处理认为:某一点像素的结果不但和本像素灰度有关,而且和其邻域点值有关。运用模板在图像上依此对每一个像素进行卷积, 即模板上每一个点的值与其在图像上当前位置对应的像素点值相乘后再相加,得出的值就是该点处理后的新值。 边缘检测算法有如下四个步骤:

图像边缘检测算子

课程设计任务书 学院信息科学与工程专业电子信息工程 学生姓名*** 班级学号09******* 课程设计题目图像边缘检测算子 课程设计目的与要求: 设计目的: 1.熟悉几种经典图像边缘检测算子的基本原理。 2.用Matlab编程实现边缘检测,比较不同边缘检测算子的实验结果。设计要求: 1.上述实验内容相应程序清单,并加上相应的注释。 2.完成目的内容相应图像,并提交原始图像。 3.用理论对实验内容进行分析。 工作计划与进度安排: 2012年 06月29 日选题目查阅资料 2012年 06月30 日编写软件源程序或建立仿真模块图 2012年 07月01 日调试程序或仿真模型 2012年 07月01 日结果分析及验收 2012年 07月02 日撰写课程设计报告、答辩 指导教师: 2012年 6月29日专业负责人: 2012年 6月29日 学院教学副院长: 2012年 6月29日

摘要 边缘检测是数字图像处理中的一项重要内容。本文对图像边缘检测的几种经典算法(Roberts算子、Sobel算子、Prewitt算子)进行了分析和比较,并用MATLAB实现这几个算法。最后通过实例图像对不同边缘检测算法的效果进行分析,比较了不同算法的特点和适用范围。 关键词:图像处理;边缘检测;Roberts算子;Sobel算子;Prewitt算子

目录 第1章相关知识.................................................................................................... IV 1.1 理论背景 (1) 1.2 数字图像边缘检测意义 (1) 第2章课程设计分析 (3) 2.1 Roberts(罗伯特)边缘检测算子 (3) 2.2 Prewitt(普瑞维特)边缘检测算子 (4) 2.3 Sobel(索贝尔)边缘检测算子 (5) 第3章仿真及结果分析 (7) 3.1 仿真 (7) 3.2 结果分析 (8) 结论 (10) 参考文献 (11)

边缘检测和轮廓提取方法和VC++程序

边沿检测和轮廓提取方法和程序 1 边沿检测 我们给出一个模板和一幅图象。不难发现原图中左边暗,右边亮,中间存在着一条明显的边界。进行模板操作后的结果如下: 。 可以看出,第3、4列比其他列的灰度值高很多,人眼观察时,就能发现一条很明显的亮边,其它区域都很暗,这样就起到了边沿检测的作用。 为什么会这样呢?仔细看看那个模板就明白了,它的意思是将右邻点的灰度值减左邻点的灰度值作为该点的灰度值。在灰度相近的区域内,这么做的结果使得该点的灰度值接近于0;而在边界附近,灰度值有明显的跳变,这么做的结果使得该点的灰度值很大,这样就出现了上面的结果。 这种模板就是一种边沿检测器,它在数学上的涵义是一种基于梯度的滤波器,又称边沿算子,你没有必要知道梯度的确切涵义,只要有这个概念就可以了。梯度是有方向的,和边沿的方向总是正交(垂直)的,例如,对于上面那幅图象的转置图象,边是水平方向的,我们可以用 梯度是垂直方向的模板检测它的边沿。 例如,一个梯度为45度方向模板,可以检测出135度方向的边沿。 1.Sobel算子

在边沿检测中,常用的一种模板是Sobel 算子。Sobel 算子有两个,一个是检测水平边沿的 ;另一个是检测垂直平边沿的。与和 相比,Sobel算子对于象素的位置的影响做了加权,因此效果更好。 Sobel算子另一种形式是各向同性Sobel(Isotropic Sobel)算子,也有两个,一个是检测水平边 沿的,另一个是检测垂直平边沿的。各向同性Sobel 算子和普通Sobel算子相比,它的位置加权系数更为准确,在检测不同方向的边沿时梯度的幅度一致。 下面的几幅图中,图7.1为原图;图7.2为普通Sobel算子处理后的结果图;图7.3为各向同性Sobel算子处理后的结果图。可以看出Sobel算子确实把图象中的边沿提取了出来。 图7.1 原图

数字图像处理实验报告_图像边缘检测和特征提取

华南师范大学实验报告 一、实验目的 1、.掌握边缘检测的Matlab实现方法 2、了解Matlab区域操作函数的使用方法 3、了解图像分析和理解的基本方法 4、了解纹理特征提取的matlab实现方法 二、实验平台 计算机和Matlab软件环境 三、实验内容 1、图像边缘检测 2、图像纹理特征提取 四、实验原理 1、图像边缘检测 图像理解是图像处理的一个重要分支,它研究的是为完成某一任务需要从图像中提取哪些有用的信息,以及如何利用这些信息解释图像。边缘检测技术对于处理数字图像非常重要,因为边缘是所要提取目标和背景的分界线,提取出边缘才能将目标和背景区分开来。在图像中,边界表明一个特征区域的终结和另一个特征区域的开始,边界所分开区域的内部特征或属性是一致的,而不同的区域内部的特征或属性是不同的,边缘检测正是利用物体和背景在某种图像特性上的差异来实现的,这些差异包括灰度,颜色或者纹理特征。边缘检测实际上就是检测图像特征发生变化的位置。 由于噪声和模糊的存在,检测到的边界可能会变宽或在某些点处发生间断,因此,边界检测包括两个基本内容:首先抽取出反映灰度变化的边缘点,然后剔除某些边界点或填补边界间断点,并将这些边缘连接成完整的线。边缘检测的方法大多数是基于方向导数掩模求卷积的方法。 导数算子具有突出灰度变化的作用,对图像运用导数算子,灰度变化较大的点处算得的值比较高,因此可将这些导数值作为相应点的边界强度,通过设置门限的方法,提取边界点集。 一阶导数 f x ? ? 与 f y ? ? 是最简单的导数算子,它们分别求出了灰度在x和y方向上的变化率, 而方向α上的灰度变化率可以用下面式子计算:

相关主题