您好,欢迎来到第2导师的网站!

服务热线:4000-199-985

基于MATLAB的数字图像边缘检测
专栏:毕业论文
发布日期:2020-05-06
阅读量:711
作者:第2导师
收藏:
第2导师提供在线1对1及在线班课的论文写作辅导培训。含1对1论文辅导课、写作录播课、学术启蒙课等,采用1对1真人在线互动教学形式,利用电脑、手机及ipad等移动终端。
       第2导师提供在线1对1及在线班课的论文写作辅导培训。含1对1论文辅导课、写作录播课、学术启蒙课等,采用1对1真人在线互动教学形式,利用电脑、手机及ipad等移动终端。
       

       摘    要: 本文采取了三种简单的基本边缘检测算子对数字图像进行检测,针对复杂实际情况,利用小波变换和Canny算子相结合的方式来应对。通过MATLAB对Roberts算子、Sobel算子及Canny算子对同一灰度值图像进行检测,实现算法仿真,比较实验结果,并对结果进行了分析,并将图像边缘检测技术简单应用到实际生活中。

  关键词: 边缘检测; 算子; MATLAB; 小波变换;

  1、 概述

  在开展图像处理时,会发现图像结构中含有经常变化的部分,这种不连续性的变化就称之为边缘。图像的边缘通常包含着重要的边界信息,因此图像的边缘检测是提取图像、分割图像、识别图像等图像分析领域中的重要基础。数字图像边缘的边界信息便于分析和研究图像,同时图像的边缘检测可以降低图像处理的工作量,对分析图像的效率具有显着提高。

2、 边缘检测算子

  2.1 、Roberts边缘检测算子

  Roberts边缘检测算子的原理,利用局部差分法,首先通过计算对角线相邻两像素差分,然后计算相邻梯度来检测图像。该算子由于只能选择对角线像素的差分来计算,并不能进行其他特殊的平滑操作,而且相对噪声比较敏感。所以,Roberts算子对低噪声图像效果较好。Roberts算子具有两组2×2模板矩阵,如图1所示。

  图1 Roberts算子的卷积模板
图1 Roberts算子的卷积模板

  算法如下:

  2.2、 Sobel算子

  Sobel算子是以基础的边缘检测定向算子,采用的算法是同时选择像素点上下,左右四个相邻像素计算灰度值差值然后加权差值,再微分运算,最后求梯度值。Sobel算子包含两组3×3模板矩阵,前者适用于水平方向的边缘检测计算,后者则适用于垂直方向,如图2所示。

  图2 Sobel算子的卷积模板
图2 Sobel算子的卷积模板

  算法如下:

  2.3、 Canny算子

  Canny算子不是通过微分计算来提取和检测数字图像,而是基于信噪比准则、定位精准度准则和单边缘响应准则而实现的一阶导数优化算子。具有滤波、检测和增强多个阶段。在三个准则的规范下,Canny算子会通过选择最优方案来实现。其操作规则步骤如下:

  图3 Canny算子操作基本步骤2.4、 基于小波变换的Canny算子的边缘检测

  2.4.1、 二维变换分析

  选择想对应的尺度函数Φ(x),小波函数为Ψ(x)。二维函数Φ(x,y)是可以分离的,即:

  可有效分离出三个基本的小波函数:

  那么,二维变换的小波函数可以通过以下变换来实现:

  这样,一个二维图像信号f(x,y)的低频分量可用以下表示:

  其二维序列可以分化为:

  以上类型的二维变换小波函数,可以通过Mallat算法来得以实现。在数字图像处理的过程中用到的二维小波变换通常都是以上类型的二维小波变换。

  2.4.2 、图像增强

  通过研究二维小波变换,在图像信号上的小波变化,其中心思想就是将边缘信号分成不同频带范围内的分量。每一次分解都可以将信号分成四个不同频带的信号:XX(垂直水平低频)、XY(水平低频,垂直高频)、YX(水平高频,垂直低频)、YY(垂直水平高频)。通过分析图像信号的实际情况可调整不同频带的图像信号加以调整来得到具体想要的图像信号,实现增强图像信号。

  3 、边缘检测算子基于MATLAB实现

  本次实验在MATLAB环境下进行,调用专门的edge函数为前面几种边缘检测算子编程。过程中会使用到数字图像处理方面中MATLAB工具箱。

  3.1、 MATLAB中常用的图像函数操作

  3.1.1、 imread函数

  Matlab可以让用户通过imread()函数,自己导入要进行处理的目标图像,MATLAB支持BMP、JPEG、JPG、PNG、TIFF等多种图像格式。

  3.1.2、 imwrite函数

  MATLAB中用imwrite()函数输出图像,可将一个矩阵数据储存转换成图像文件。以上提到的文件格式都支持。

  3.1.3、 Imshow/image函数

  MATLAB编程环境中,用户可以imshow()函数、image()函数实现显示图像的操作。

  3.1.4、 图像类型转换函数

  在MATLAB中可以通过运行rgb2gray()函数将BMP、JPEG和JPG等多种图像转换为Gray Scale图像。

  3.1.5、 edge函数

  MATLAB系统中提供了一种基础的用于检测图像边缘的函数edge()函数。edge函数只适用于处理灰度图像。函数定义为edge(image,method)。其中,参数image为要进行处理的图像,method为所要使用的边缘检测算法,可使用的方法Roberts、Sobel及Canny等。

  3.2、 仿真实验分析

  运用MATLAB软件选择edge()函数,将Roberts算子、Sobel算子以及Canny算子和小波变换图像增加下Canny算子编程然后检测。


图5 传统Canny算子检测结果、小波变换增强图像和小波变换后Canny算子检测结果

   Roberts算子受噪声的干扰不尽人意,只适用于噪声偏低的图像。Sobel算子不仅可以展示出边缘间断点,还能有效抑制住噪声对边缘检测的影响,但是图像边缘连续性较差,一些细节信息容易丢失。效果要比Roberts算子好一些。图5第一张为Canny算子单独处理得到的边缘图像。从中可以看出提取出的图像信息过于混乱,无法凸显主体外部整体特点,不利于数字图像下一步的进行。第三张是选择变换后的增强图像利用Canny算子对其进行边缘提取。可以看出主体整体外部特点更突出,图像中细节信息可以得到很好的展示,对噪声的抑制作用较强。

  4、 实际应用

  图像边缘检测广泛应用于车牌识别、人脸识别、地震带检测、生物医疗以及产品外观检测等方面。为了实现具体实际应用,本文选择车牌识别来进行图像边缘检测实验,大致流程如下:

  图6 车牌边缘检测实际操作流程图
图6 车牌边缘检测实际操作流程图

  车牌图像的边缘检测实际操作中灰度处理部分是将车牌彩色图像转化为Gray Scale图像,适用于edge函数()边缘检测。边缘检测是将车牌区域内非常集中且丰富的图像无关信息与图像主体信息相区分开,从而消除图像中的无关信息。只要背景不复杂,干扰少,边缘检测可以将与主体信息无关的其他部分区分开来。膨胀可以分割独立的图像元素,而腐蚀便于将他们相邻的连接在一起。最后的模板匹配部分是将车牌号分成的七个独立单元字符与建立的模板进行匹配。最后得出结果。一般分割出来的字符模板要进行下一步的处理才能满足车牌识别的需要。对于车牌的识别,并不需要太多的处理就已经能够达到车牌识别的目的。当前应用较多的模板匹配主流办法是牌照字符识别。模板匹配具体流程如图7所示:

  5、 结论

  通过分析这几种算子的仿真结果图,可以看出检测效果各有不同。从定位上看,roberts算子精度较高。从不同边缘的相应上看,Sobel算子和Roberts算子更适用于噪声较低的图像,从去噪能力上看,Canny算子的准确性和抗噪能力相结合较为突出。比较仿真结果,分析了三种算子各自的优缺点。Canny算子较为突出,但也不是最好的一种。在实际应用中,考虑图像的特点和实际处理要求来选择边缘检测算法,有时还会有应用多个算法结合来使用,以达到更好的图像处理结果。

  图8 车牌检测仿真实际效果图
图8 车牌检测仿真实际效果图

  参考文献

  [1] 陈红.图像处理与分析与小波变换应用[M].上海:科学出版社,2008:62-69.
  [2] 赵锐.基于MATLAB的数字图像边缘检测[J].光电信息,2013(1):12-21.
  [3] 韩松.数字图像处理[M].上海:上海交通大学出版社,2016:54-66
  [4] 赵重阳.基础图像边缘检测算法及MATLAB[J].科技信息,2008(1):42-43.
  [5] 李玉刚,段玉明.数字图像边缘检测算法综述[J].信息技术,2009(3):55-64.
  [6] 胡志明.数字图像边缘检测算子的比较[J].大众科技,2012(1):31-36.

2导师提供在线1对1及在线班课的论文写作辅导培训。含1对1论文辅导课、写作录播课、学术启蒙课等,采用1对1真人在线互动教学形式,利用电脑、手机及ipad等移动终端。
上一页:企业营运资金管理模式必要性研究——以企业价值链为方向
下一页:事业单位财务管理问题研究

客服热线

4000-199-985

公司信息

关注我们

关注微信公众号

关注手机官网