武汉理工大学《专业综合课程设计》说明书1目录摘要.......................................................................I1简介......................................................................11.1MATLAB简介..........................................................11.2数字图像处理简介.....................................................12边缘检测..................................................................32.1边缘的含义...........................................................32.2边缘检测的含义......................................................32.3边缘检测的步骤......................................................33常用的边缘检测算子.......................................................53.1微分算子.............................................................53.1.1Sobel算子.....................................................53.1.2robert算子....................................................63.1.3prewitt算子...................................................63.2Laplacian算子.......................................................63.3Log算法.............................................................73.4Canny边缘检测法...................................................74程序设计..................................................................85运行结果.................................................................106边缘检测结果比较.........................................................127心得体会.................................................................13参考文献...................................................................14武汉理工大学《专业综合课程设计》说明书I摘要边缘检测是利用边缘增强算子,突出图像中的局部边缘,然后定义象素的“边缘强度”,通过设置阈值的方法提取边缘点集。本设计利用MATLAB软件分析几种应用于数字图像处理中的边缘检测算子,根据它们在实践中的应用结果进行研究,主要包括:Robert边缘算子、Prewitt边缘算子、Sobel边缘算子、LoG边缘算子以及Laplacian算子等对图像边缘检测,根据实验处理结果对几种算子进行比较。关键词:Matlab边缘检测算子武汉理工大学《专业综合课程设计》说明书11简介1.1MATLAB简介Matlab是国际上最流行的科学与工程计算的软件工具,它起源于矩阵运算,已经发展成一种高度集成的计算机语言。有人称它为“第四代”计算机语言,它提供了强大的科学运算、灵活的程序设计流程、高质量的图形可视化界面设计、便捷的与其它程序和语言接口的功能。随着Matlab语言功能越来越强大,不断适应新的要求并提出新的解决方法,可以预见,在科学运算,自动控制与科学绘图领域,Matlab语言将长期保持其独一无二的地位。Matlab的特点如下:(1)高效的数值计算及符号计算功能,能使用户从繁杂的数学运算分析中解脱出来;(2)具有完备的图形处理功能,实现计算结果和编程的可视化;(3)友好的用户界面及接近数学表达式的自然化语言,使学者易于学习和掌握;(4)功能丰富的应用工具箱(如信号处理工具箱、通信工具箱等),为用户提供了大量方便实用的处理工具.Matlab的优势如下:(1)友好的工作平台和编程环境(2)简单易用的程序语言(3)强大的科学计算机数据处理能力(4)出色的图形处理功能(5)应用广泛的模块集合工具箱(6)实用的程序接口和发布平台(7)应用软件开发(包括用户界面)1.2数字图像处理简介数字图像处理又称为计算机图像处理,它是指将图像信号转换成数字信号并利用计算机对其进行处理的过程,以提高图像的实用性,达到人们所要求的预期结果。从处理的目的来讲主要有:武汉理工大学《专业综合课程设计》说明书2(1)提高图像的视感质量,以达到赏心悦目的效果;(2)提取图像中所包含的某些特征或特殊信息;(3)对图像数据进行变换、编码和压缩,以便用于图像的存储和传输。数字图像处理技术是计算机技术、信息论和信号处理相结合的综合性学科。数字图像处理的特点有如下几点:(1)处理信息量很大:数字图像处理的信息大多是二维信息,处理信息量很大,对计算机的计算速度、存储容量等要求较高。(2)占用频带较宽:数字图像处理占用的频带较宽。与语言信息相比,占用的频带要大几个数量级。(3)各像素相关性大:数字图像中各个像素是不独立的,其相关性大。在图像画面上,经常有很多像素有相同或接近的灰度。就电视画面而言,同一行中相邻两个像素或相邻两行间的像素,其相关系数可达0.9以上,而相邻两帧之间的相关性比帧内相关性一般说还要大些。(4)无法复现三维景物的全部几何信息:由于图像是三维景物的二维投影,一幅图象本身不具备复现三维景物的全部几何信息的能力,很显然三维景物背后部分信息在二维图像画面上是反映不出来的。(5)受人的因素影响较大:数字图像处理后的图像一般是给人观察和评价的,因此受人的因素影响较大。由于人的视觉系统很复杂,受环境条件、视觉性能、人的情绪爱好以及知识状况影响很大,作为图像质量的评价还有待进一步深入的研究。另一方面,计算机视觉是模仿人的视觉,人的感知机理必然影响着计算机视觉的研究。武汉理工大学《专业综合课程设计》说明书32边缘检测2.1边缘的含义边缘(edge)是指图像局部强度变化最显著的部分,边缘主要存在于目标与目标、目标与背景、区域与区域(包括不同色彩)之间,是图像分割、纹理特征和形状特征等图像分析的重要基础。图像分析和理解的第一步常常是边缘检测(edgedetection),由于边缘检测十分重要,因此成为机器视觉研究领域最活跃的课题之一。边缘是图像的最重要的特征。边缘是指周围像素灰度有阶跃变化或屋顶变化的那些像素的集合。边缘检测主要是灰度变化的度量、检测和定位。有很多种不同的边缘检测方法,同一种方法使用的滤波器也不尽相同。图像边缘检测就是研究更好的边缘检测方法和检测算子。2.2边缘检测的含义边缘检测的基本思想首先是利用边缘增强算子,突出图像中的局部边缘,然后定义象素的“边缘强度”,通过设置阈值的方法提取边缘点集。由于噪声和模糊的存在,监测到的边界可能会变宽或在某点处发生间断。因此,边界检测包括两个基本内容:(1)用边缘算子提取出反映灰度变化的边缘点集。(2)在边缘点集合中剔除某些边界点或填补边界间断点,并将这些边缘连接成完整的线。图像边缘检测大幅度地减少了数据量,并且剔除了可以认为不相关的信息,保留了图像重要的结构属性。有许多方法用于边缘检测,它们的绝大部分可以划分为两类:基于查找一类和基于零穿越的一类。基于查找的方法通过寻找图像一阶导数中的最大和最小值来检测边界,通常是将边界定位在梯度最大的方向。基于零穿越的方法通过寻找图像二阶导数零穿越来寻找边界,通常是Laplacian过零点或者非线性差分表示的过零点。2.3边缘检测的步骤(1)滤波:边缘检测算法主要是基于图像强度的一阶和二阶导数,但导数的计算对噪声很敏感,因此必须使用滤波器来改善与噪声有关的边缘检测器的性能。需要武汉理工大学《专业综合课程设计》说明书4指出,大多数滤波器在降低噪声的同时也导致了边缘强度的损失,因此,增强边缘和降低噪声之间需要折中。(2)增强:增强边缘的基础是确定图像各点邻域强度的变化值。增强算法可以将邻域(或局部)强度值有显著变化的点突显出来。边缘增强一般是通过计算梯度幅值来完成的。(3)检测:在图像中有许多点的梯度幅值比较大,而这些点在特定的应用领域中并不都是边缘,所以应该用某种方法来确定哪些点是边缘点。最简单的边缘检测判据是梯度幅值阈值判据。(4)定位:如果某一应用场合要求确定边缘位置,则边缘的位置可在子像素分辨率上来估计,边缘的方位也可以被估计出来。在边缘检测算法中,前三个步骤用得十分普遍。这是因为大多数场合下,仅仅需要边缘检测器指出边缘出现在图像某一像素点的附近,而没有必要指出边缘的精确位置或方向。边缘检测的实质是采用某种算法来提取出图像中对象与背景问的交界线。我们将边缘定义为图像中灰度发生急剧变化的区域边界。图像灰度的变化情况可以用图像灰度分布的梯度来反映,因此我们可以用局部图像微分技术来获得边缘检测算子。经典的边缘检测方法,是通过对原始图像中像素的某小邻域构造边缘检测算子来达到检测边缘这一目的的。武汉理工大学《专业综合课程设计》说明书53常用的边缘检测算子3.1微分算子经典的边缘提取方法是考察图像的每个像素的某个邻域内灰度的变化,利用边缘邻近一阶或二阶方向导数变化规律,用简单的方法检测边缘,称为微分算子法。导数算子具有突出灰度变化的作用,对图像运用导数算子,灰度变化较大的点处算得的值较高,因此我们将图像的导数算子运算值作为相应的边界强度,所以可以通过对这些导数值设置阈值,提取边界的点集。一阶导数是最简单的导数算子。已知在点f(x,y)处,梯度grad(F(x,y))的幅度为:为了进一步简化计算,可以取:ffyxfyx,grad或者ffyxfyxmax,grad其中:),1(),(xyxfyxff)1,(),(yxfyxffy它们分别求出了灰度在x和y方向上的变化率,但是要对每一个像素进行以上的运算,运算量较大,所以在实际应用中常用小区域模板卷积运算来进行近似计算。模板运算的想法是将赋予某一个像素的值作为它本身灰度值和相邻象素灰度值的函数。运用中,对x,y方向各用一个模板。3.1.1Sobel算子Sobel算子是一种梯度幅值,通常可以以数字化方式用下表所示的卷积核来实现。图像中的每个都用这两个核做卷积,一个核对通常的垂直边缘响应最大而另一个对水平边缘响应最大。两个卷积的最大值值作为该点的输出值,运算结果是一副边缘幅度的图像。X,Y方向各用一个模板,两个模板组合起来构成1个梯度算子。X方向模板对垂直边缘影响最大,Y方向模板对水平边缘影响最大。模板如下:2122,fgradyfxfyx121000121101202101武汉理工大学《专业综合课程设计》说明书63.1.2robert算子Roberts算子是一种斜向偏差分