数字图像处理论文--基于matlab的图像边缘检测技术内容摘要:

算子的优缺点并用可视化界面呈现出来 第四章 图像边缘处理的实现 41 算法之间的比较 定位性 上一章我们只是简单的比较了一下几种算法的区别在本章中我们将详细的对这几种算法进行比较为了能更好的说明各算法之间的区别特选取四张复杂度不同的图片 在 Matlab 中输入如 下的程序 f imread D\m\1jpg 读入图像 f rgb2gray f 将彩色图像转换为灰度图像 f im2double f 转换为双精度便于后面的计算 subplot 231 imshow f title Original Image PF edge fprewitt 边缘探测算子为 prewitt subplot 232 imshow PF title Prewitt Filter RF edge froberts 边缘探测算子为 roberts subplot 233 imshow RF title Roberts Filter LF edge flog 边缘探测算子为 log subplot 234 imshow LF title Laplacian of Gaussian LoG Filter CF edge fcanny 边缘探测算子为 canny subplot 235 imshow CF title Canny Filter MF edge fsobel 边缘探测算子为 sobel subplot 236 imshow MF title Sobel Filter 由于第一张图片过于简单将六张图片放在一个界面里的话则不能较好的观察与对比边缘检测的效果故将六张图放在六个界面里面只需将上述程序中的subplot 23 替换为 figure 即可 运行后得出的结果如下 图 411 原始图片 图 412 prewitt 算子图像边缘检测 图 413 Roberts 算子图像边缘检测 图 414 Log 算子图像边缘检测 图 415 Canny 算子图像边缘检测 图 416 Sobel 算子图像边缘检测 将 f imread D\m\1jpg 中的 1 换成 2 并运行便可得到图 42 图 42 2 图原图与各个算子图像边缘检测 将 f imread D\m\1jpg 中的 1 换成 3 并运行便可得到图 43 图 43 3 图原图与各个算子图像边缘检测 将 f imread D\m\1jpg 中的 1 换成 4 并运行便可得到图 44 图 44 4 图原图与各个算子图像边缘检测 通过仔细的对比我们可以发现 Log和 Canny算子生成的边缘线较多图像较为复杂而且图像的复杂度越高效果越好而 PrewittSobel 和 Roberts 算子生成的边缘线较少图像较为简单图像的复杂度越低越简单效果越好 但往往在工程中所需处理的图片没有想象中的那么好总是受到某些因素的影响如光照温度等等因素所以光看一个算子的定位性的好坏是不够的下面来介绍下各算子的稳定性 稳定性 由于在工程应用中所获取的图片总是会受到环境因素的影响在这一节中将详细的分析各算子的稳定性由于 篇幅所限只在图片中加入了椒盐噪声 为了能够更好的看出这些算子的稳定性特将未加入噪声的图片的边缘处理和加入噪声的边缘处理图片放在一个界面上代码如下 f imread D\m\5jpg 读入图像 p imnoise fsalt pepper002 加噪声密度 D 为 002 的椒盐噪声 f rgb2gray f 将彩色图像转换为灰度图像 f im2double f 转换为双精度便于后面的计算 subplot 121 imshow f 显示原始 图像 title Original Filter 设置图像标题 p rgb2gray p 将彩色图像转换为灰度图像 p im2double p 转换为双精度便于后面的计算 subplot 122 imshow p 显示处理后图像 title Nose Filter 设置图像标题 运行后便得到图 45 图 45 原图与加入椒盐噪声后的图 f imread D\m\5jpg 读入图像 p imnoise fsalt pepper002 加噪声密度 D 为 002 的椒盐噪声 f rgb2gray f 将彩色图像转换为灰度图像 f im2double f 转换为双精度便于后面的计算 PP edge fprewitt 边缘探测算子为 prewitt subplot 121 imshow PP 显示处理后图像 title Prewitt Filter 设置图像标题 p rgb2gray p 将彩色图像转换为灰度图像 p im2double p 转换 为双精度便于后面的计算 PF edge pprewitt 边缘探测算子为 prewitt subplot 122 imshow PF 显示处理后图像 title Prewitt Filter 设置图像标题 运行后便得到图 46 图 46 Prewitt 算子边缘检测原图与加噪图 只要将上述程序中的 PP edge fprewitt 改为 PP edge fsobel 并将标题改成相应的标题保存运行即可得到图 47 图 47 Sobel 算子边缘检测原图与加噪图 将 PP edge fprewitt 改为 PP edge froberts 并将标题改成相相应的标题保存运行即可得到图 48 图 48 Roberts 算子边缘检测原图与加噪图 将 PP edge fprewitt 改为 PP edge flog 并将标题改成相相应的标题保存运行即可得到图 49 图 49 Log 算子边缘检测原图与加噪图 将 PP edge fprewitt 改为 PP edge fcanny 并将标题改成相相应的标题保存运行即可得到图 410 图 410 Canny 算子边缘检测原图与加噪图 通过对上面 这五幅图片的仔细的比较发现加入了噪声之后各种算子边缘检测的结果都受到了影响其中 Roberts 算子受噪声的影响最为明显 Sobel 算子和Prewitt 算子对噪声具有较好的平滑作用 Canny和 Log 仍然能很准确的将原图像的边缘检测出来 上面一节详细的介绍了各算子边缘定位能力和噪声抑制能力虽然用了大量的图片来说明但所有的图片都是由一段段的程序实现的实现起来还是比较麻烦的而 Matlab 正好提供了图形用户界面的设计下面就先来了解下 GUI 吧 42 GUI 简介 用户界面或接口是指人与机器或程序之间交互作用的工具和方法如键 盘鼠标跟踪球话筒都可成为与计算机交换信息的接口 图形用户界面 Graphical User Interfaces GUI 则是由窗口光标按键菜单文字说明等对象 Objects 构成的一个用户界面用户通过一定的方法如鼠标或键盘选择激活这些图形对象使计算机产生某种动作或变化比如实现计算绘图等 假如读者所从事的数据分析解方程计算结果可视工作比较单一那么一般不会考虑 GUI 的制作但是如果读者想向别人提供应用程序想进行某种技术方法的演示想制作一个供反复使用且操作简单的专用工具那么图形用户界面也许是最好的选择之一 43 GUI 界面的实现 主要函数的介绍 由于最终的界面需具备打开保存和处理图像的功能处理图像的各种算法在上一章中已经详细的介绍过了本节主要介绍打开和保存功能的实现 要打开一个图片当然要用打开对话框了在界面编程中打开对话框的函数是uigetfile 其基本格式为 [FileNamePathNameFilterIndex] uigetfile FilterSpecDialogTitleDefaultName FileName 返回的文件名 PathName 返回的文件的路径名 FilterIndex 选择的文件类型 FilterSpec。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。