5.2 CANNY边缘检测器的流程图 15
5.3 SOBEL算子流程图 16
6 MATLAB仿真 17
6.1 读取、显示和保存图像及所用代码 17
6.2 采用不同边缘检测算子检测的效果对比 18
6.2.1 不同算子边缘检测效果图及程序代码 18
6.2.2 MATLAB中SOBEL算子检测效果图及程序代码 19
6.2.3 MATLAB中PREWITT算子检测效果图及程序代码 20
6.2.4 MATLAB中算子检测效果图及程序代码 21
总结与展望 23
参考文献 24
致谢 25
1 前言
在日常生活中,数字图像是最直接的视觉信息,它包含着巨大最原始的信息。其中,显得尤为重要的就是我们所说的边缘和轮廓了。因此,在这种情况下,它必然成为图像处理和计算机视觉中的重要部分。
一般来说,边缘检测的检测原理是利用边缘检测算子,从而突出在图像中的部分边缘,进而定义像素中的“边缘强度”,这样提取边缘点集的方法主要是利用设置一些门限。一般情况下图像边缘、轮廓在大多数的图像中经常具有任意的方向,因此需要找到一些各项同性的检测算子,对任意方向的边缘、轮廓都具有相同的检测能力。在算子当中拥有这些能力的检测算子有Robert 算子、SOBEL 算子、Prewitt算子和LOG算子。
美国Math works 公司于1984 年向市场推出一款优秀的数学软件MATLAB,在经历几十年的演变后,现如今MATLAB已经成为许多领域公认的比较优秀的科学应用软件。 众所周知MATLAB是一个科学计算平台,它的产生可以说为图形、数据分析和图形、数据可视化算法和程序开发提供了核心的数学和科学支撑的高级图形工具,与此同时它也是一种比较直观而且高效的程序语言,到目前为止它至少已经推出了信号处理工具箱、图像处理工具箱、神经网络工具箱、小波工具箱、以及通信工具箱等在科学界非常受追捧的专用工具箱,这些工具箱的推出极大地方便了不同学科的研究工作,为许多科学的发展提供了巨大的支持与帮助。在众多的工具包中,MATLAB的数字图像边缘处理下的工具包是由众多的支持图像处理操作的数学函数组成的,它支持的操作有很多种,其中几何操作中区域操作和块操作是基本的操作,另外线性滤波操作和滤波器设计变换操作在MATLAB中显得比较重要。当然DCT变换操作, 图像分析和增强二值图像操作也是其重要的组成部分。
2 MATLAB的简单介绍
2.1 MATLAB的概述
MATLAB是一款由美国The Math Works公司出品的而且非常实用的商业数学软件。它的英文缩写为matrix Laboratory。 经过了数十年的发展与演变,现如今MATLAB是一种用于算法开发、、数据可视化、以及数值计算的高级技术计算语言和交互式环境,并且在数学与科学领域具有举足轻重的作用。现如今的MATLAB不仅具有矩阵运算、绘制函数/数据图像等常用功能,除此之外它还可以被用来创建用户界面及与调用其它语言(包括C,C++和FORTRAN)所编写的程序。
尽管MATLAB在许多方面表现出非常强的功能,但它在数学类科技应用软件中在数值计算方面仍然是首屈一指。MATLAB不但可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面,还可以连接其他编程语言的程序,现在经过几代甚至几十代发展以后的MATLAB则主要被应用于工程计算、图像处理、控制设计、信号检测、信号处理与通讯、金融建模设计与分析等领域。