基于matlab的图像边缘检测算法研究和仿真
- 格式:doc
- 大小:611.50 KB
- 文档页数:17
《图像处理中的数学方法》实验报告学生姓名:赵芳舟教师姓名:曾理学院:数学与统计学院专业:信息与计算科学学号:联系方式:梯度和拉普拉斯算子在图像边缘检测中的应用一、数学方法边缘检测最通用的方法是检测灰度值的不连续性,这种不连续性用一阶和二阶导数来检测。
1.(1)一阶导数:一阶导数即为梯度,对于平面上的图像来说,我们只需用到二维函数的梯度,即:,该向量的幅值:,为简化计算,省略上式平方根,得到近似值;或通过取绝对值来近似,得到:。
(2)二阶导数:二阶导数通常用拉普拉斯算子来计算,由二阶微分构成:2.边缘检测的基本思想:(1)寻找灰度的一阶导数的幅度大于某个指定阈值的位置;(2)寻找灰度的二阶导数有零交叉的位置。
3.几种方法简介(1)Sobel边缘检测器:以差分来代替一阶导数。
Sobel边缘检测器使用一个3×3邻域的行和列之间的离散差来计算梯度,其中,每行或每列的中心像素用2来加权,以提供平滑效果。
-1-21000121-101-202-101(2)Prewitt边缘检测器:使用下图所示模板来数字化地近似一阶导数。
与Sobel检测器相比,计算上简单一些,但产生的结果中噪声可能会稍微大一些。
-1-1-1000111-101-101-101(3)Roberts边缘检测器:使用下图所示模板来数字化地将一阶导数近似为相邻像素之间的差,它与前述检测器相比功能有限(非对称,且不能检测多种45°倍数的边缘)。
-10010-110(4)Laplace边缘检测器:二维函数的拉普拉斯是一个二阶的微分定义:0101-41010(八邻域)(5)LoG边缘检测器由于噪声点(灰度与周围点相差很大的像素点)对边缘检测有一定的影响,所以效果更好的是LoG算子,即Laplacian-Guass算子。
引入高斯函数来平滑噪声:该函数的Laplace算子:它把Guass平滑滤波器和Laplace锐化滤波器结合起来,先平滑掉噪声,再进行边缘检测,所以效果比单用Laplace算子要更为平滑,效果更好。
目录摘要 (1)引言 (2)第一章绪论 (3)1.1 课程设计选题的背景及意义 (3)1.2 图像边缘检测的发展现状 (4)第二章边缘检测的基本原理 (5)2.1 基于一阶导数的边缘检测 (8)2.2 基于二阶导的边缘检测 (9)第三章边缘检测算子 (10)3.1 Canny算子 (10)3.2 Roberts梯度算子 (11)3.3 Prewitt算子 (12)3.4 Sobel算子 (13)3.5 Log算子 (14)第四章MATLAB简介 (15)4.1 基本功能 (15)4.2 应用领域 (16)第五章编程和调试 (17)5.1 edge函数 (17)5.2 边缘检测的编程实现 (17)第六章总结与体会 (20)参考文献 (21)摘要边缘是图像最基本的特征,包含图像中用于识别的有用信息,边缘检测是数字图像处理中基础而又重要的内容。
该课程设计具体考察了5种经典常用的边缘检测算子,并运用Matlab进行图像处理结果比较。
梯度算子简单有效,LOG 算法和Canny 边缘检测器能产生较细的边缘。
边缘检测的目的是标识数字图像中灰度变化明显的点,而导函数正好能反映图像灰度变化的显著程度,因而许多方法利用导数来检测边缘。
在分析其算法思想和流程的基础上,利用MATLAB对这5种算法进行了仿真实验,分析了各自的性能和算法特点,比较边缘检测效果并给出了各自的适用范围。
关键词:边缘检测;图像处理;MATLAB仿真引言边缘检测在图像处理系统中占有重要的作用,其效果直接影响着后续图像处理效果的好坏。
许多数字图像处理直接或间接地依靠边缘检测算法的性能,并且在模式识别、机器人视觉、图像分割、特征提取、图像压缩等方面都把边缘检测作为最基本的工具。
但实际图像中的边缘往往是各种类型的边缘以及它们模糊化后结果的组合,并且在实际图像中存在着不同程度的噪声,各种类型的图像边缘检测算法不断涌现。
早在1965 年就有人提出边缘检测算子,边缘检测的传统方法包括Kirsch,Prewitt,Sobel,Roberts,Robins,Mar-Hildreth 边缘检测方法以及Laplacian-Gaussian(LOG)算子方法和Canny 最优算子方法等。
第43卷第2期测绘与空间地理信息Vol.43,No.2Feb.,2020 2020年2月GEOMATICS&SPATIAL INFORMATION TECHNOLOGY基于MATLAB的边缘检测算法研究田梦娜,徐泮林,丁鹏文(山东科技大学测绘科学与工程学院山东青岛266590)摘要:边缘检测是处理与剖析图像的主要内容之一,它在文字识别、车牌识别、遥感特征地物的提取等生产和生活领域发挥着非常重要的作用,但是,不同的图像冇着不同的特征,到目前为止,没有一种统一的方法对所有的图像及地物的特征进行边缘检测,针对这一不足,本文首先探讨了4种经典的二值化算法和相应的改进二值化算法,并将经典算法与改进后的算法进行对比分析,然后利用(“inn,算子对二值化处理后的图像进行边缘检测,得出结论,迭代法和改进的迭代法与Canny算子相结合作为边缘检测的方法是一种高效举、高精度的方法::关键词:二值化;Canny算子;边缘检测中图分类号:I209文献标识码:A文章编号:1672-5867(2020)02-0197-03Research on Edge Detection Algorithm Based on MATLABTIA\Vlengnj,XL Iinlin,)ING Pengu-en(College of Geomatics,Shandong University of Science and Technology,Qingdao266590,China)Abstract:Edge detection is one of the main contents of processing and dissecting images.It plays a very important role in the produc-lion and lile fields such as lex!rccognilion,licensc plate recognition,and remote sensing l(、atur(、(八liaclion.Iloucvcr,dilfercnl images have(丨iflcrcnl(:haraclc门slics.So lar,there is no uniform method lor edge(丨ctcclion of all images and feature「calurcs.In view o「丨his deficiency,this pa per lirst discusses lour classical hinarization algorithms and corresponding imp roved■)inarizalioH algorithms,and compares the classical algorithm with the improved algo门thm,and then uses the Canny operator to deal with the hina门zation process. The image is edge detected.It is concluded that the iterative method and the improved iterative method combined with the canny operator as the edge detection method is a high el'liciency and high precision method.Key words:binary processing;Canny operator;edge detection0引言边缘检测是计算机视觉领域中的热门话题之-,在实际应川中具有重要地位。
毕业设计(论文)任务书(工科类)课题名称基于MATLAB/GUI的图像边缘检测算法研究与仿真副标题系(院)名称:电子与信息工程系专业:电子信息工程姓名:学号:毕业设计(论文)起讫时间:指导教师签名年月日系(院)主任签名年月日一、毕业设计(论文)的课题背景边缘是图象最基本的特征,边缘检测在计算机视觉、图象分析等应用中起着重要的作用,是图象分析与识别的重要环节,这是因为子图象的边缘包含了用于识别的有用信息。
所以边缘检测是图像分析和模式识别的主要特征提取手段。
GUI 即人机交互图形化用户界面设计。
GUI的广泛应用是当今计算机发展的重大成就之一,它极大地方便了非专业用户的使用。
人们从此不再需要死记硬背大量的命令,取而代之的是可以通过窗口、菜单、按键等方式来方便地进行操作。
图形用户界面是一种人与计算机通信的界面显示格式,允许用户使用鼠标等输入设备操纵屏幕上的图标或菜单选项,以选择命令、调用文件、启动程序或执行其它一些日常任务。
与通过键盘输入文本或字符命令来完成例行任务的字符界面相比,图形用户界面有许多优点。
本次毕业设计使用MA TLAB/GUI仿真软件,仿真图像边缘检测算法,采用不同的算法实现对图像边缘检测,使学生了解GUI的基本结构和使用方法,熟悉算法研究与仿真的一般过程与MA TLAB 软件,巩固和加深学生在图像处理方面的专业知识技能,提高学生分析问题、解决问题的能力。
同时,培养学生掌握一定的编程技巧,积累经验。
二、毕业设计(论文)的技术参数(研究内容)“基于MA TLAB/GUI的图像边缘检测算法研究与仿真”应包含如下内容:1.图片可任意导入;2.经过图像边缘检测算法处理后的图片能导出成JPG等格式保存;3.至少使用三种图像边缘检测算法进行比较;4.图像可以简单缩放;5.多种图像边缘检测算法分析优缺点。
三、毕业设计(论文)应完成的具体工作1. 熟悉MA TLAB图像处理库函数及GUI的使用;2. 利用GUI设计图像边缘检测处理界面;3. 利用多种算法实现图像边缘检测处理;4. 对比分析所采用算法的优缺点;5. 翻译外文专业文献一篇;6. 依据同济大学浙江学院本科生毕业设计的规范要求,撰写《毕业设计(论文)》一篇,并进行毕业论文答辩。
基于matlab的图像边缘检测算法研究和仿真目录第1章绪论 11.1 序言 11.2 数字图像边缘检测算法的意义 1第2章传统边缘检测方法及理论基础 2 2.1 数字图像边缘检测的现状与发展 22.2 MATLAB和图像处理工具箱的背景知识 32.3 数字图像边缘检测关于边缘的定义 42.4 基于一阶微分的边缘检测算子 42.5 基于二阶微分的边缘检测算子 7第3章编程和调试 103.1 edge函数 103.2 边缘检测的编程实现 11第4章总结 13第5章图像边缘检测应用领域 13附录参考文献 15第1章绪论§1.1 序言理解图像和识别图像中的目标是计算机视觉研究的中心任务,物体形状、物体边界、位置遮挡、阴影轮廓及表面纹理等重要视觉信息在图像中均有边缘产生。
图像边缘是分析理解图像的基础,它是图像中最基本的特征。
在Marr的计算机视觉系统中,图像边缘提取占据着非常重要位置,它位于系统的最底层,为其它模块所依赖。
图像边缘提取作为计算机视觉领域最经典的研究课题,长期受到人们的重视。
图像边缘主要划分为阶跃状和屋脊状两种类型。
阶跃状边缘两侧的灰度值变化明显,屋脊状边缘则位于灰度增加与减少的交界处。
传统的图像边缘检测方法大多是从图像的高频分量中提取边缘信息,微分运算是边缘检测与提取的主要手段。
由于传统的边缘检测方法对噪声敏感,所以实际运用效果有一定的局限性。
近年来,越来越多的新技术被引入到边缘检测方法中,如数学形态学、小波变换、神经网络和分形理论等。
Canny于1986年提出基于最优化算法的边缘检测算子,得到了广泛的应用,并成了与其它实验结果作比较的标准。
其原因在于他最先建立了优化边缘检测算子的理论基础,提出了迄今为止定义最为严格的边缘检测的三个标准。
另外其相对简单的算法使得整个过程可以在较短的时间实现。
实验结果也表明,Canny算子在处理受加性高斯白噪声污染的图像方面获得了良好的效果[1]。
摘要在获取图像的过程中,由于多种因素的影响,导致图像质量会有所退化。
图像增强的目的在于通过处理有选择地突出便于人或机器分析某些感兴趣的信息,抑制一些无用的信息,以提高图像的使用价值。
图像锐化正是图像增强中空间域局部运算方法中的一种,其目的是增强和判断图像的边缘和轮廓信息。
而图像锐化的具体方法就是通过微分而使图像边缘突出、清晰。
图像锐化最常用的方法是梯度锐化法,但除梯度算法外,图像锐化的方法还有Roberts、Prewitt、Sobel和Laplacian等多种算法,本文对这些方法进行了介绍、比较和分析。
最后对MATLAB做了介绍,并运用MATLAB语言对图像锐化的部分算法进行了实现并记录结果。
通过对各种算法仿真和比较,每种算法都有各自的优缺点。
在分析了本论文采用的图像特点后,有针对性的对Laplacian算法进行了改进,即采用高提升滤波来提高图像的亮度。
实验结果表明,此方法可行,达到了预期的锐化效果。
关键词:图像增强;边缘;MATLAB;图像锐化AbstractIn the process of image acquisiting, the image quality will be degraded due to a variety of factors. Image enhanceing is aimed at highlighting some interested information that is easy to analyze for people and machine and inhibiting some useless information to enhance the image value. Image sharpening is a partion operation method of image enhancing in spatial domain, and its purpose is to enhance and judge the edge of the image and profile information and the specific method of the image sharpening uses differential to make the edge so prominent and clear.The most commonly used method of image sharpening is gradient sharpening. But apart from the gradient algorithm, image sharpening methods also have Roberts, Prewitt, Sobel, Laplacian and etc. These methods were introduced, compared and analyzed. Finally, MATLAB is introduced. And a part of the image sharpening algorithm is achievd and the results afe recorded. Through the simulation and comparison of the various algorithms, each algorithm has its own advantages and disadvantages. After the features of the image using in this paper are analyzed, it improves the Laplacian algorithm contrapositively, namely using high-elevating filtering to improve the brightness of the image. Experimental results show that the method is feasible and achieves the desired sharpening effect.Key words: Image enhancing; Edge;MATLAB; Image Sharpening毕业论文(设计)原创性声明本人所呈交的毕业论文(设计)是我在导师的指导下进行的研究工作及取得的研究成果。
基于matlab的图像锐化算法研究与仿真—-毕业论文设计摘要在获取图像的过程中,由于多种因素的影响,导致图像质量会有所退化。
图像增强的目的在于通过处理有选择地突出便于人或机器分析某些感兴趣的信息,抑制一些无用的信息,以提高图像的使用价值。
图像锐化正是图像增强中空间域局部运算方法中的一种,其目的是增强和判断图像的边缘和轮廓信息。
而图像锐化的具体方法就是通过微分而使图像边缘突出、清晰。
图像锐化最常用的方法是梯度锐化法,但除梯度算法外,图像锐化的方法还有Roberts、Prewitt、Sobel和Laplacian等多种算法,本文对这些方法进行了介绍、比较和分析。
最后对MATLAB做了介绍,并运用MATLAB语言对图像锐化的部分算法进行了实现并记录结果。
通过对各种算法仿真和比较,每种算法都有各自的优缺点。
在分析了本论文采用的图像特点后,有针对性的对Laplacian算法进行了改进,即采用高提升滤波来提高图像的亮度。
实验结果表明,此方法可行,达到了预期的锐化效果。
关键词:图像增强;边缘;MATLAB;图像锐化AbstractIn the process of image acquisiting, the image quality will be degraded due to a variety of factors. Image enhanceing is aimed at highlighting some interested information that is easy to analyze for people and machine and inhibiting some useless information to enhance the image value. Image sharpening is a partion operation method of image enhancing in spatial domain, and its purpose is to enhance and judge the edge of the image and profile information and the specific method of the image sharpening uses differential to make the edge so prominent and clear.The most commonly used method of image sharpening isgradient sharpening. But apart from the gradient algorithm, image sharpening methods also have Roberts, Prewitt, Sobel, Laplacian and etc. These methods were introduced, compared and analyzed. Finally, MATLAB is introduced. And a part of the image sharpening algorithm is achievd and the results afe recorded. Through the simulation and comparison of the various algorithms, each algorithm has its own advantages and disadvantages. After the features of the image using in this paper are analyzed, it improves the Laplacian algorithm contrapositively, namely using high-elevating filtering to improve the brightness of the image. Experimental results show that the method is feasible and achieves the desired sharpening effect.Key words: Image enhancing; Edge;MATLAB; Image Sharpening目录1 引言 (1)1.1图像及其特点 (1)1.2图像的文件格式 (1)1.3 数字图像处理 (5)1.3.1 数字图像处理概述 (5)1.3.2 数字图像处理发展概况 (5)1.3.3数字图像处理主要研究内容 (6)1.3.4 数字图像处理的基本特点 (7)1.3.5数字图像处理的优点 (8)1.3.6 数字图像处理的应用 (8)1.4 图像锐化的研究背景 (10)1.5研究图像锐化的目的和注意事项 (10)1.6本文内容的安排 (10)2 图像锐化 (11)2.1 微分法 (11)2.1.1 梯度法(Gradieut) (11)2.1.2 Sobel算法 (13)2.1.3 LOG算子 (14)2.2 拉普拉斯算子 (14)2.3 高通滤波法 (15)2.3.1 空间域高通滤波 (15)2.3.2 频率域高通滤波 (16)2.3.3 统计差值法(用于勾边处理) (17) 2.4 MATLAB中如何实现图像锐化 (17)2.5 总结 (18)3 锐化的边缘检测法与锐化算子 (19) 3.1边缘检测法 (19)3.1.1 梯度算子 (19)3.1.2 梯度算子在MATLAB中的实现 (20) 3.2拉普拉斯算子 (21)3.3 边缘连接方法 (21)3.4 边缘检测的MATLAB实现方法 (22) 3.5 MATLAB的实现程序如下 (23)3.6 结论 (23)4 MATLAB简介及GUI设计 (24)4.1 MATLAB简介 (24)4.2图形用户界面GUI (24)4.3 GUI设计原理及简介 (25)4.4 设计方法 (25)4.4.1 图形用户界面设计工具 (25)4.4.2 菜单设计 (26)4.4.3 对话框设计 (26)4.4.4 句柄图形 (27)4.4.5 图形对象句柄命令 (27)4.5 总结 (27)5 结论与展望 (28)5.1 结论 (28)5.2 展望 (28)致谢 (29)参考文献 (30)基于MA TLAB 的图像锐化算法研究与仿真1 引言据研究,在人类所接受到的全部信息中,约有75%~80%是通过视觉系统得到的,和语言或文字信息相比,图像包含的信息量更大、更直观、更确切,因而具有更高的使用效率和更广泛的适应性。
最新图像增强、图像滤波、边缘检测的MATLAB实现图像增强、图像滤波、边缘检测的M A T L A B实现图像增强、图像滤波及图像边缘检测MATLAB实现程序图像增强图像增强是指按特定的需要突出一幅图像中的某些信息,同时,消弱或去除某些不需要的信息的处理方法。
其主要目的是使处理后的图像对某些特定的应用比原来的图像更加有效。
图像增强技术主要包含直方图修改处理、图像平滑化处理、图像尖锐化处理、和彩色处理技术等。
图像增强有图像对比度增强、亮度增强,轮廓增强等等。
下面利用直方图统计算法对灰度图像进行增强:程序代码:I=imread('cameraman.tif');subplot(121)imshow(I);title('原始图像');subplot(122)imhist(I,64)%绘制图像的直方图,n=64为灰度图像灰度级,若I为灰度图像,默认n=256;若I为二值图像,默认n=2。
title('图像的直方图');(请自己运行查看)n=256时:(请自己运行查看)下面利用直方图均衡化增强图像的对比度:I=imread('cameraman.tif');J=histeq(I);%将灰度图像转换成具有64(默认)个离散灰度级的灰度图像imshow(I)title('原始图像')figure,imshow(J)title('直方图均衡化后的图像')figure(1)subplot(121);imhist(I,64)title('原始图像的直方图')subplot(122);imhist(J,64)title('均衡化的直方图')(请自己运行查看)分析:从上图中可以看出,用直方图均衡化后,图像的直方图的灰度间隔被拉大了,均衡化的图像的一些细节显示了出来,这有利于图像的分析和识别。
直方图均衡化就是通过变换函数histeq将原图的直方图调整为具有“平坦”倾向的直方图,然后用均衡直方图校正图像。
利用MATLAB实现数字图像处理中的边缘检测算法比较数字图像处理是一门涉及数字计算机技术和图像处理技术的交叉学科,其应用领域涵盖医学影像、安防监控、工业质检等诸多领域。
在数字图像处理中,边缘检测是一项重要的技术,用于检测图像中物体边界的位置,对于后续的目标识别、分割等任务具有至关重要的作用。
本文将利用MATLAB软件实现数字图像处理中常用的几种边缘检测算法,并进行比较分析。
1. Sobel算子Sobel算子是一种经典的边缘检测算子,其原理是利用离散卷积来计算图像灰度的一阶导数。
在MATLAB中,可以通过edge函数结合Sobel算子进行边缘检测。
Sobel算子在水平和垂直方向上分别使用以下模板进行卷积计算:2. Prewitt算子Prewitt算子也是一种常见的边缘检测算子,其原理与Sobel算子类似,同样是利用离散卷积计算图像的一阶导数。
Prewitt算子在水平和垂直方向上的模板如下:3. Canny边缘检测Canny边缘检测是一种多阶段的边缘检测算法,包括高斯滤波、计算梯度、非极大值抑制、双阈值处理和边缘跟踪等步骤。
在MATLAB 中,可以通过edge函数选择Canny算法进行边缘检测。
Canny算法能够有效地抑制噪声,并得到更准确的边缘位置。
4. Roberts算子Roberts算子是一种简单直观的边缘检测算子,其原理是通过计算邻近像素之间的差值来检测边缘。
Roberts算子包括两个模板:比较与分析在MATLAB中实现以上几种边缘检测算法后,我们可以对它们进行比较与分析。
首先可以从边缘检测效果来看,不同算法对于同一幅图像可能会有不同的表现,有些算法可能会更加灵敏,有些则可能会更加平滑。
其次可以从计算效率和复杂度来比较,不同算法在实际运行中所需的时间和计算资源也会有所不同。
综合来看,针对不同的应用场景和要求,选择合适的边缘检测算法至关重要。
有时候需要考虑到灵敏度和准确性,有时候则需要考虑到计算效率和实时性。
基于matlab的图像边缘检测算法研究和仿真目录第1章绪论 11.1 序言 11.2 数字图像边缘检测算法的意义 1第2章传统边缘检测方法及理论基础 22.1 数字图像边缘检测的现状与发展 2 2.2 MATLAB和图像处理工具箱的背景知识 32.3 数字图像边缘检测关于边缘的定义 42.4 基于一阶微分的边缘检测算子 42.5 基于二阶微分的边缘检测算子 7第3章编程和调试103.1 edge函数 10 3.2 边缘检测的编程实现 11 第4章总结13第5章图像边缘检测应用领域13附录参考文献15第1章绪论§1.1 序言理解图像和识别图像中的目标是计算机视觉研究的中心任务,物体形状、物体边界、位置遮挡、阴影轮廓及表面纹理等重要视觉信息在图像中均有边缘产生。
图像边缘是分析理解图像的基础,它是图像中最基本的特征。
在Marr的计算机视觉系统中,图像边缘提取占据着非常重要位置,它位于系统的最底层,为其它模块所依赖。
图像边缘提取作为计算机视觉领域最经典的研究课题,长期受到人们的重视。
图像边缘主要划分为阶跃状和屋脊状两种类型。
阶跃状边缘两侧的灰度值变化明显,屋脊状边缘则位于灰度增加与减少的交界处。
传统的图像边缘检测方法大多是从图像的高频分量中提取边缘信息,微分运算是边缘检测与提取的主要手段。
由于传统的边缘检测方法对噪声敏感,所以实际运用效果有一定的局限性。
近年来,越来越多的新技术被引入到边缘检测方法中,如数学形态学、小波变换、神经网络和分形理论等。
Canny于1986年提出基于最优化算法的边缘检测算子,得到了广泛的应用,并成了与其它实验结果作比较的标准。
其原因在于他最先建立了优化边缘检测算子的理论基础,提出了迄今为止定义最为严格的边缘检测的三个标准。
另外其相对简单的算法使得整个过程可以在较短的时间内实现。
实验结果也表明,Canny算子在处理受加性高斯白噪声污染的图像方面获得了良好的效果[1]。
§1.2 数字图像边缘检测算法的意义数字图像处理是控制领域的重要课题,数字图像边缘检测是图像分割、目标区域识别和区域形状提取等图像分析领域十分重要的基础,是图像识别中提取图像特征的一个重要方法。
边缘中包含图像物体有价值的边界信息,这些信息可以用于图像理解和分析,并且通过边缘检测可以极大地降低后续图像分析和处理的数据量。
图像理解和分析的第一步往往就是边缘检测,目前它已成为机器视觉研究领域最活跃的课题之一,在工程应用中占有十分重要的地位。
图像的边缘检测技术是数字图像处理技术的基础研究内容,是物体识别的重要基础。
边缘特征广泛应用于图像分割、运动检测与跟踪、工业检测、目标识别、双目立体视觉等领域。
现有边缘检测技术在抑制噪声方面有一定的局限性,在阈值参数选取方面自适应能力很差,有待进一步改进和提高。
(1)多谱图像是图像配准技术中的一个难点,传统的图像配准技术只适用于同源图像,由于红外图像和可见光遥感图像的成像波段不同,对于同一场景,所采集到的图像的差异很大。
在此课题中,作者首先通过边缘检测,得到红外图像与遥感可见光图像的边缘图像,再通过尺度不变特征匹配,就能得到红外图像与可见光遥感图像之间的透视变换关系,从而成功完成了多谱图像配准[2]。
(2)在“货运列车动态图像故障检测系统(TFDS,Trouble Of Moving Freight Car Detection system)中的故障识别”的课题中,作者采用水平Sobel算子检测边缘,对边缘图像进行水平方向投影,计算得到货运列车底部心盘螺栓大致区域的图像,然后用Harris算子得到一些候选故障区域,最后通过相关匹配来识别故障。
(3)在“基于双目立体视觉的人体动作捕捉系统”的课题中,利用图像的边缘和深度信息从视频中分割出人体前景图像。
因此对图像边缘检测技术理论及其应用进行研究都有很重要的意义。
第2章传统边缘检测方法及理论基础§2.1 数字图像边缘检测的现状与发展在数字图像处理中,边缘特征是图像的重要特征之一,是图像处理、模式识别和计算机视觉的重要组成部分之一,图像边缘检测的结果直接影响进一步图像处理、模式识别的效果。
近几十年来,图像边缘检测技术成为数字图像处理技术重要研究课题之一,随着科学技术的发展,研究人员提出了很多图像边缘检测方法及边缘检测效果的评价方法,并且将这些边缘检测技术应用于计算机视觉和模式识别工程领域,使得边缘检测技术的应用范围越来越广,图像的边缘一般是图像的灰度或者颜色发生剧烈变化的地方,而这些变化往往是由物体的结构和纹理,外界的光照和物体的表面对光的反射造成的。
图像的边缘反映了物体的外观轮廓特征,是图像分析和模式识别的重要特征,数字图像处理技术是一门交叉学科,数学理论、人工智能、视觉生理学和心理学等各种理论为边缘检测技术研究注入新的活力,涌现出很多边缘检测理论和方法。
根据边缘检测所处理的图像类型,可分为两大类:灰度图像边缘检测方法和彩色图像边缘检测方法。
基于本论文仅研究讨论灰度图像边缘检测,这里介绍经典的灰度图像边缘检测方法。
灰度图像的边缘是像素的灰度值发生变化的地方,这些变化通常是屋顶变化或者阶跃变化,图像屋顶变化或者阶跃变化的大小一般用灰度图像一阶导数或二阶导数的大小来描述,所以灰度图像的边缘检测方法主要分为两大类:一阶微分图像边缘检测算子(如Roberts算子、Sobel算子、Prewitt算子)和二阶微分图像边缘检测算子(如Laplacian 算子、LOG算子、Canny算子)。
一般来讲,一个好的边缘检测算法应满足如下要求:(1)检测精度高;(2)抗噪能力强;(3)计算简单;(4)易于并行实现。
其中最根本的问题是解决检测精度与抗噪声能力间的矛盾。
从理论上讲,这两者之间存在着相互制约的互变关系,即不确定性原则。
这一原则可表述为,一个信号不可能在时域和频域中任意高度集中。
因而边缘的定位精度和抗噪声能力不可能同时无限地提高,这两项指标的乘积为一常数,理论上可以通过改变空域形式来获得任意好的定位精度或信噪比,但不能两者都得到改善。
因此,衡量一个检测方法的标准也不能只看某一指标的高低,而应考察其综合指标是否达到理论上的极限。
虽然迄今已出现了众多的理论和方法,而且有些方法发展得相当成熟,但从这个意义上讲还没有一种普遍适于任何条件的最优算法。
为此人们已将注意力放在研究更直接的、专用的和面向对象的视觉信息系统,如“主动视觉”,“定性视觉”、“面向任务的视觉”等,通过强调场景和任务的约束、增加信息输入和降低对输出的要求等手段来降低视觉处理问题的难度。
这些思想大大丰富和补充了原来的理论,使算法向具体化、实用化方向发展,已成为视觉信息处理中有前途的发展方向[3]。
§2.2 MATLAB和图像处理工具箱的背景知识MATLAB对于技术计算来说是一种高性能语言。
它以易于应用的环境集成了计算、可视化的编程,在该环境下,问题及其解以我们熟悉的数学表示法来表示。
典型的应用包括如下方面[4]:(1)数学和计算(2)算法开发(3)数据获取(4)建模、模拟和原型设计(5)数据分析、研究和可视化(6)科学和工程图形(7)应用开发,包括图像用户界面构建MATLAB是一种交互式系统,其基本数据元素是并不要求确定维数的一个数组。
这就允许人们用公式化方法求解许多技术计算问题,特别是涉及矩阵表示的问题。
有时,MATLAB可调用C或Fortran这类非交互式语言所编写的程序。
在高等院校中,对于数学、工程和科学理论中的入门课程和高级课程,MATLAB 都是标准的计算工具。
图像处理工具箱是一个MATLAB函数(称为M函数或M文件)集,它扩展了MATLAB解决图像处理问题的能力。
其他有时用于补充IPT的工具箱是信号处理、神经网络、模糊逻辑和小波工具箱。
§2.3 数字图像边缘检测关于边缘的定义边缘是不同区域的分界线,是图像局部强度变化最显著的那些像素的集合。
图像强度的显著变化可分为:(1)阶跃变化(函数),即图像强度在不连续处的两边的像素灰度值有着显著差异;(2)线条(屋顶)变化(函数),即图像强度突然从一个值变化到另一个值,保持一较小行程后又回到原来的值。
边缘主要存在于目标与目标、目标与背景、区域与区域(包括不同色彩)之间,边缘是位于两个区域的边界线上的连续像素集合,在边缘处,灰度和结构等信息产生突变。
边缘是一个区域的结束,也是另一个区域的开始,利用该特征可以分割图像。
图像的边缘有方向和幅度两个属性,沿边缘方向像素变化平缓,垂直于边缘方向像素变化剧烈。
边缘上的这种变化可以用微分算子检测出来,通常用一阶或二阶导数来检测边缘。
§2.4 基于一阶微分的边缘检测算子图像的局部边缘定义为两个强度明显不同的区域之间的过渡,图像的梯度函数即图像灰度变化的速率将在这些过度边界上存在最大值,通过基于梯度算子或导数检测器来估计图像灰度变化的梯度方向,增加图像的这些变化区域,然后对该梯度进行阈值运算,如果梯度值大于某个给定门限,则存在边缘。
再将被确定为边缘的像素连接起来,以形成包围着区域的封闭曲线。
一阶导数可以用于检测图像中的一个点是否在斜坡上,二阶导数的符号可以用于判断一个边缘点是在边缘亮的一边还是暗的一边。
[5]图2.1 (a )阶跃函数,(b )线条(屋顶)函数(第一行为理论曲线,第二行为实际曲线,第三行对应一阶导数,第四行对应二阶导数)一阶导数的二维等效式:(,)f x xf y y G G x y G ∂∂∂∂⎡⎤⎡⎤∇==⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦(2-1)梯度的幅值:|(,)|G x y =(2-2)和方向:(,)arctan(/)y x x y G G α=(2-3)梯度是灰度(,)f x y 在X Y 坐标方向上的导数,表示灰度(,)f x y 在X Y 坐标方向上的变化率。
用差分来近似梯度 =(1,)(,)x G f x y f x y +- (2-4)(,1)(,)y G f x y f x y =+-(2-5)§2.4.1 Roberts 算子(梯度交叉算子)Roberts 算子是一种利用局部差分算子寻找边缘的算子[5]。
(,)(,)(1,1)(1,)(,1)G x y f x y f x y f x y f x y =-++++-+ (2-6)§2.4.2 Sobel 算子Sobel 提出了一种将方差运算与局部平均相结合的方法,即Sobel 算子,该算子在以(,)f x y 为中心的领域上计算X 和Y 方向的偏导数[6]。
即={(1,1)2(1,)(1,1)}{(1,1)2(1,)(1,1)}x S f x y f x y f x y f x y f x y f x y +-+++++---+-+-+ (2-7)={(1,1)2(,1)(1,1)}{(1,1)2(,1)(1,1)}y S f x y f x y f x y f x y f x y f x y -++++++---+-++- (2-8)上式应用了(,)f x y 领域的图像强度的加权平均差值。