2022年VC图像边缘检测算法研究报告与比较.docx
《2022年VC图像边缘检测算法研究报告与比较.docx》由会员分享,可在线阅读,更多相关《2022年VC图像边缘检测算法研究报告与比较.docx(29页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、个人资料整理仅限学习使用目录基于 VC的图像边缘检测算法的讨论与比较摘要图像的边缘是图像最基本的特点,它是灰度不连续的结果;图像分析和懂得的第一步是边缘检测,因此边缘检测在图像处理中有着重要的作用;图像边缘检测大幅度地削减了数据量,并且剔除了可以认为不相关的信息,保留了图像重要的结构属性;本文介绍了三种经典的图像边缘检测算子 , 并且运用强大的 VC 软件通过一个图像边缘检测的例子比较了它们的检测成效 , 分析了它们各自的特点 , 对学习边缘检测和详细工程应用具有很好的参考价值;关键词 :图像处理 , 边缘检测 ,算子, 比较讨论 ,VCComparison AndAnalysis ForIm
2、ageEdgeDetection Algorithms Based On VCAbstractEdge is the most basic feature of the image, it is the result of discontinuous gray. The first step in image analysis and understanding is edge detection, so edge detection plays an important role in image processing.Image edge detection significantly r
3、educes the amount of data and removes irrelevant information,retains the important structural properties of images.This article describes three types of classical edge detection operators, and the use the powerful software called VC to do the edge detection through a comparison of examples of the ef
4、fect of their detection, analysis the characteristics,this is good reference value for their learning edge detection and application of specific projects.Key Words: Image processing ,Edge detection ,Operator ,Comparative Study ,VC个人资料整理仅限学习使用第一章绪论1.1 数字图像基础1.1.1 数字图像概述人眼能识别的自然景象或图像原也是一种模拟信号,为了使运算机能够
5、记录和处理图像、图形,必需第一使其数字化;数字化后的图像、图形称为数字图像、数字图形, 一般也简称为图像、图形;数字图像可以看成一个矩阵,或一个二维数组,这是在运算机上表示的方式;一幅 MN个像素的数字图像,其像素灰度值可以用M行、N列的矩阵 G 表示:11在储备数字图像时,一幅 M 行、N 列的数字图像 M N 个像素),可以用一个 M N1的二维数组 T 表示;图像的各个像素灰度值可按肯定次序存放在数组T 中 ;1.1.2 数字图像处理数字图像处理 DigitalImageProcessing)是利用运算机的运算功能,实现与光学系统模拟处理相同成效的过程;数字图像处理具有如下特点:1)处理
6、精度高,再现性好;利用运算机进行图像处理,其实质是对图像数据进行各种运算;由于运算机技术的飞速进展,运算精度和运算的正确性都毋庸置疑;另外, 对同一图像用相同的方法处理多次,也可得到完全相同的成效,具有良好的再现性;2)易于掌握处理成效;在图像处理程序中,可以任意设定或变动各种参数,能有效掌握处理过程,达到预期处理成效;这一特点在改善图像质量的处理中表现更为突 出;3)处理的多样性;由于图像处理是通过运行程序进行的,因此,设计不同的图像处理程序,可以实现各种不同的处理目的;4)图像数据量巨大;图像中包含有丰富的信息,可以通过图像处理技术猎取图像中包含的游泳的信息,但是,数字图像的数据量具大,一
7、幅数字图像是由图像矩阵中的像素组成的,通常每个像素用红、绿、蓝三种颜色表示,每种颜色用8bit 表示灰度级;就一幅1024 1024 不经压缩的真彩色图像,数据量达3MB 即 1024 1024 8bit 个人资料整理仅限学习使用3=24Mb);如此巨大的数据量给储备、传输和处理都带来巨大的困难;假如精度及辨论率再提高,所需处理时间将大幅度增加;5)处理费时;由于图像数据量大,因此处理比较费时;特殊是处理结果与中心像素邻域有关的处理过程花费时间更多; 或许并没有对应着图像中物体 的边界 , 但是边缘具有特别令人中意的性质, 它能大大地削减所要处理的信息但是又保留了图像中物体的外形信息,边缘是图
8、像的最基本特征;边缘在边界检测、图像分割、模式识别、机器视觉等中有很重要的作用;边缘检测是和中的基本问题,边缘检测的目的是标识中变化明显的点;图像属性中的显著变化通常反映了属性的重要大事和变化;这些包括 斜坡型b 线状型c 屋顶型图 2.1典型边缘的一阶导数和二阶导数由上述分析可以得出以下结论:一阶导数的幅度值可以用来检测边缘的存在;通过检测二阶导数的过零点可以确定边缘的中心位置;利用二阶导数在过零点邻近的符号可以确定边缘像素位于边缘的暗区仍是亮区;另外,一阶导数和二阶导数对噪声特别敏锐,特殊是二阶导数;因此,在边缘检测之前应考虑图像平滑,减弱噪声的影 响;在数字图像处理中,常利用差分近似微分
9、来求取导数;边缘检测可借助微分算子在空间域通过模板卷积来实现;2.2 边缘检测基本思想边缘检测的基本思想是第一利用边缘增强算子, 突出图像中的局部边缘, 然后定义像素的“边缘强度” , 通过设置阈值的方法提取边缘点集;但是由于噪声和图像模糊 的缘由 , 检测到的边界可能会有间断的情形发生, 所以边缘检测包含 2 个内容 :1 用边缘算子提取边缘点集;2 在边缘点集合中去除某些边缘点并填充一些边缘点, 将得到的边缘点集连接为线;2.3 边缘检测算法2.3.1 边缘检测算法步骤边缘检测算法包含有以下四个步骤:1 滤波 边缘检测算法主要是基于图像强度的一阶和二阶导数, 但导数的运算对噪声很敏锐 ,
10、因此必需使用滤波器来改善与噪声有关的边缘检测器的性能;需要指出, 大多数滤波器在降低噪声的同时也导致了边缘强度的缺失;因此增强边缘和降低噪声之间需要折中;2 增强 增强边缘的基础是确定图像各点邻域强度的变化值, 增强算法可以将邻域 或局部 强度值有显著变化的点显现出来, 边缘增强一般是通过运算梯度幅值来完成的;3 检测 在图像中有很多点的梯度幅值比较大, 而这些点在特定的应用领域中并不都是边缘 , 所以应当用某种方法来确定哪些点是边缘点;最简洁的边缘检测判据是梯度幅值阈值判据;4 定位 假如某一应用场合要求确定边缘位置, 就边缘的位置可在子像素辨论率上来估量, 边缘的方位也可以被估量出来;2.
11、3.2 边缘检测算法流程图图像猎取滤波增强图像输出定位边缘方位检测边缘点图 2.2边缘检测流程图边缘检测流程图比较形象直观地描述了边缘检测的步骤,通过滤波、增强、检测、定位来达到边缘检测的目的;2.4 边缘检测算法中算子的分类在大部分情形下 , 都是把图像的边缘全部看作是阶梯形边缘,然后求得检测这种边缘的各种最优滤波器, 用于实践中;边缘检测主要是 图像的 灰度变化的度量、检测和定位;有很多种不同的边缘检测方法, 同一种方法使用的滤波器也不尽相同;边缘检测就是讨论更好的边缘检测方法和检测算子;检测出的边缘并不等于实际目标的真实边缘;由于图像数据是二维的, 而实际物体是三维的 , 从三维到二维的
12、投影必定会造成信息的丢失 , 再加上成像过程中的光照不均和噪声等缘由的影响, 使得有边缘的地方不肯定能被检测出来 , 而检测出来的边缘也不肯定代表实际边缘;这就需要我们依据不同类型的图像 , 来选取合适的边缘检测算子;就一些经典的边缘检测算子分类, 如图 2.3 ;Roberts 微分算子Sobel 微分算子基础边缘检测算子二阶导数过零点Canny 算子Prewitt 微分算子Laplace 微分算子Wallis 算子Kirsch 算子Log 算子Dog 算子图 2.3数字图像边缘检测算子分类2.5 经典边缘检测算子2.5.1 Roberts边缘检测算子1、理论基础 3Roberts边缘算子采
13、纳的是对角方向相邻的两个像素之差;从图像处理的实际成效来看,边缘定位准,对噪声敏锐; Roberts边缘检测算子是一种利用局部差分算子查找边缘的算子,它有下式给出;Roberts 算子: 31 3 2其中表示处理后点的灰度值,表示处理前该点的灰度值;是具有整数像素坐标的输入图像,平方根运算使该处理类似于在人类视觉系统中发生的是过程;该算法的算子如下:332.5.2 Sobel边缘检测算子理论基础:1 卷积卷积可以简洁的看成加权求和的过程;卷积时使用的权用一个很小的矩阵来表示,矩阵的大小是奇数,而且与使用的区域的大小相同;这种权矩阵叫做卷积核,区域中的每一个像素分别与卷积核中的每个元素相乘,全部
14、乘积之和即区域中心像素的新值;比如,对于一个3 3 的区域 p 与卷积核 k 卷积后,区域 p 的中心像素 p5 表示如下:34其中35卷积核中各元素叫做卷积系数;卷积核中卷积系数的大小、方向及排列次序打算了卷积的图像处理成效;大多数常用的卷积核都是3 3 的,全部的卷积核的行、列都是奇数;进行卷积时会遇到一些复杂的问题,第一是图像边界的问题;当在图像上逐个移动卷积核时,只要卷积核移动到了图像边界,即卷积核悬挂在图像边界上时,就会显现运算上的问题;这时在原图像上就不能完整的找到与卷积核中系数相对应的9个图像像素;解决这个问题的两个简洁方法是:或者忽视图像边界数据,或者在图像的四周复制图像的边界
15、数据;Sobel 边缘检测算子是先做加权平均再微分,然后求梯度,即3 63 73 8以下两个卷积核形成了Sobel边缘检测算子,图中的每个点都用这两个核做卷积,一个核对通常的垂直边缘影响很大,而另一个对水平边缘影响很大;边缘检测算 子的中心与中心像素相对应,进行卷积运算;两个卷积核的最大值作为该点的输出位;运算结果是一幅边缘幅度图像;在边缘检测中,Sobel算子对于像素的位置的影响做了加权,加权平均边宽像素,因此成效更好;392.5.3 Prewitt边缘检测算子理论基础以下两个卷积核形成了Prewitt边缘检测算子;同使用的Sobel算子的方法一样,图像中的每个点都用这两个核进行卷积,取最大
16、值作为输出;Prewitt边缘检测算子也产生一幅边缘增强图像;Prewitt边缘检测算子为:310除此之外,仍有 Krish边缘检测算子、拉普拉斯边缘检测算子、Canny 边缘检测算子等都是比较常用的图像边缘检测算子;个人资料整理仅限学习使用第三章Visual C+图像编程3.1 Visual C+概述VC+是开发的一个 集成开发环境 , 换句话说 , 就是使用 C+的一个开发平台;严格的来说 VC+ 不是门语言,虽然它和C+ 之间有亲密的关系,假如形象点比如的话,可以把 C+ 看作为一种“工业标准”,而VC+ 就是某种操作系统平台下的“厂商标准”,而“厂商标准”是在遵循“工业标准”的前提下扩
17、展而来的;采纳 VC+来实现图像编程的主要缘由是,与 Java 和 C#等现代编程语言相比, C+在程序运行的效率、内存使用的可控性和编程的敏捷性上具有优势;图像处理需要大量的图像数据运算,常常使用复杂、费时的算法,因此图像处理 程序的运行效率特别重要;C+代码被编译成汇编语言,可以直接在处理器上运行,效率很高;对巨大的图像数据进行处理需要使用大量的内存,而运算机的物理内存往往是有限的,因此需要有效地掌握内存的操作;C+直接掌握内存的安排和释放,这虽然很繁琐,而且简洁出错,但却能有效地掌握内存的使用;C+中大量使用指针,使得编程的敏捷性很高,便于程序员施展编程技巧来提高程序的效率 4 ;3.2
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022 VC 图像 边缘 检测 算法 研究 报告 比较
限制150内