ImageVerifierCode 换一换
格式:DOCX , 页数:13 ,大小:346.82KB ,
资源ID:13648911      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/13648911.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(图像边缘检测系统设计Word格式.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

图像边缘检测系统设计Word格式.docx

1、 图像边缘检测系统设计 完成期限:自 2016 年 12 月 5 日至 2016 年 12 月 9 日共 1 周一、课程设计依据在掌握数字图像处理基本算法的基础上,利用MATLAB、VC+、Java等编程语言设计具有指定功能的图形用户界面。二、课程设计容1、设计一个实现图像边缘检测功能的界面2、界面可以采用MATLAB、VC+、Java等编程语言设计3、要求界面能够读入并显示图片,通过各种控件选择并进行图像的边缘检测操作,操作结果在对比窗口中显示4、图像边缘检测功能至少包括单方向一阶微分检测(水平/垂直方向)、无方向微分检测(Roberts算子、Sobel算子、Prewitt算子、Laplac

2、ian算子、LOG算子)等,每项功能可采用一个或多个算法实现三课程设计要求1、要求每个同学独立完成设计任务。2、课程设计说明书封面格式要求见课程设计说明书格式要求。3、课程设计的说明书要求简洁、通顺,图像表达容完整、清楚、规。4、课程设计说明书要求:1)说明题目的设计原理和思路、采用方法及设计流程。2)可采用图表或文字对图形用户界面各子模块的功能以及各子模块之间的关系做较详细的描述。3)详细说明代码的编写流程。4)采用图像及文字详细说明各功能的演示结果。指导教师(签字): 系主任(签字): 批准日期:2016年 12月 1日第1章总体设计1.1 设计目的 设计一个实现图像边缘检测功能的界面,通

3、过各种控件选择并进行图像的边缘检测操作,操作结果在对比窗口中显示,完成一个简单的图片处理。1.2 设计方案先通过GUI可视化界面窗口设计一个对用户使用起来相对方便的界面布局,然后针对界面上的每一个控件进行脚本函数的编写,以实现每一个控件的相应功能。需要实现的功能:图片的读取与显示,图片的对比显示和存储,彩色图片到灰度图像的转换,图片的各种算子边缘检测并显示(Roberts算子、Sobel算子、Prewitt算子、Laplacian算子、LOG算子等),并增加了退出程序按钮,最终生成一个可执行软件。软件的总体设计界面布局如图1-1所示,主要分为2个部分:显示区域与操作区域。 显示区域:显示载入原

4、图,以及通过处理后的图像。 操作区域:通过功能键实现对图像的各种处理。在截图中可见,左部为一系列功能按键有“读取图片”、“二值化”、“灰度化”三个按钮。界面右部分为图片显示部分,下方有“存储图片”、“退出”功能键。界面中间方为系列功能切换选择组包括单方向一阶微分检测(水平/垂直方向)、无方向微分检测(Roberts算子、Sobel算子、Prewitt算子、Laplacian算子、LOG算子)等。图1-1 设计界面图第2章GUI界面设计2.1 启动GUI界面 通过单击MATLAB菜单项“Home”-“New”-“Graphical User Interface”,显示GUI开发环境的启动窗口,也

5、可在命令窗口输入命令:guide打开GUIDE启动界面,如下图2-1所示。弹出GUIDE Quick Start对话框,如图2-2所示。选择Blank GUI,打开版图编程器如图2-3。图2-1 命令窗口图2-2 GUI启动窗口图2-3 版图编辑器2.2控件设计1.button按钮 利用版图编辑器在布局区添加按钮,双击控件调出属性编辑器,对其进行属性设计。String表示控件的显示信息,Tag表示控件的唯一标识符。图2-4按钮控件的设置 右击button选择“Callback”选项,定位该控件的回调函数。如下图所示。图2-5查看button回调函数回调函数初始代码:function pushb

6、utton3_Callback(hObject, eventdata, handles)pushbutton3_Callback是按钮的回调函数,Callback函数是当用户每次触发GUI对象时执行的回调函数;hObject为当前回调函数对应的GUI对象的句柄; eventdata表示事件代码;handles为当前GUI所有数据的结构体,包含所有GUI对象的句柄和用户定义的数据。2.按钮组 为方便编程,采用按钮组进行算法实现,利用版图编辑器的按钮组,添加单选按钮到按钮组。如图2-6所示。图2-6按钮组 右击按钮组选择SelectionChangeFcn选项,定位该控件的回调函数,如图2-7所示

7、。图2-7查看按钮组回调 回调函数初始代码:function uipanel1_SelectionChangeFcn(hObject, eventdata, handles),程序代码见附录。 搭建结果界面截图如2-6所示。图2-8 设计界面图 设计完成后运行的软件界面如图2-9所示,点击按钮组里算法选项可看到程序运行结果,程序见附录。图2-9 运行界面图第3章 运行结果及主要程序3.1边缘检测的步骤及结果 一般来说,边缘检测的算法有如下四个步骤: 1)滤波:边缘检测算法主要是基于图像增强的一阶和二阶导数,但导数的 计算对噪声很敏感,因此必须使用滤波器来改善与噪声有关的边缘检测器的性能。 2)

8、增强:增强边缘的基础是确定图像各点邻域强度的变化值。增强算法可以将邻域(或局部)强度之有显著变化的点突显出来。边缘增强一般都是通过计算梯度幅值来完成的。 3)检测:在图像中有许多点的梯度幅值比较大,而这些点在特定的应用领域中并不都是边缘,所以应该用某种方法来确定哪些是边缘点。最简单的边缘检测判据是梯度幅值阈值判据。4)定位:如果某一应用场合要求确定边缘位置,则边缘的位置可在子像素分辨率上来估计,边缘的方位也可以被估计出来。图3-1 算子运行结果(1)图3-2 算子运行结果(2)1.一阶微分作为坐标点(x,y)处的灰度倾斜度的一阶微分值,可以用具有大小和方向的向量表示如下:其中,为x方向的微分,

9、为y方向的微分。和在数字图像中是用下式计算的:微分值和被求出后,由以下的公式就能算出边缘的强度与方向。强度:或者 ,方向:向量的朝向。2. Roberts算子,边缘定位精度较高,但容易丢失一部分边缘,同时图像没经过平滑处理,所以不具备抑制噪声的能力。该算子适用于具有陡峭边缘且含噪声少的图像。3. Sobel算子和Prewitt算子,对噪声具有一定抑制能力,但不能完全排除虚假边缘。定位效果不错但容易产生多像素边缘。4.LOG算子,抑制噪声会将尖锐的边缘平滑掉而无法被检测到。当高斯滤波器宽度参数取值较小时,边缘定位精度高,但图像平滑作用较弱;增大取值时,又导致模板增大,使边缘位置偏移严重,且运动量

10、增加。5.Canny算子,当弱边缘和强边缘相连时,才输出弱边缘,检测效果要比LOG算子好。6.拉普拉斯算子,不依赖于边缘方向的二阶微分算子,定位准确,对噪声非常敏感,使噪声加强,从而使部分信息丢失,造成一些不连续的边缘。 由上可知,算子不同,结果存在明显差异,但是在原始图像上边缘明显的部分都被有效的提取出来了。Roberts算子检测出的边缘线比较清晰,但噪声大多也同时提取出来了。对于模糊部分取差分间隔宽的Sobel算子和Prewitt算子似乎有效。Canny算子可以检测到弱边缘,但受阴影的影响较大。LoG算子易于强化噪声,更适用于点状物的检测和图像锐化。3.2主要程序 1.读取图片程序,定义可

11、读取“.jpg.bmp.gif.png”属性的图片,读取图片到axes1坐标轴中显示。function pushbutton1_Callback(hObject, eventdata, handles)global imfilename,pathname = . uigetfile(*.jpg;*.bmp*.gif*.png,选择图片);str=pathname filename;im=imread(str);axes(handles.axes1);imshow(im); 2.存储图片程序,存储axes2坐标轴的结果图像到自定义路径,可选择存储属性为“.bmp.tif.png”。functio

12、n pushbutton4_Callback(hObject, eventdata, handles)global im %定义全局变量filename,pathname,filterindex=. uiputfile(*.tifsave?picture%存储图片路径if isequal(filename,0)|isequal(pathname,0) return%如果取消操作,返回else str=pathname filename;%合成路径+文件名 axes(handles.axes2);%使用第二个axes im=getimage(handles.axes2);imwrite(im,s

13、tr);%写入图片信息,即保存图片end 3.关闭窗口程序。function pushbutton5_Callback(hObject, eventdata, handles)close(gcf)%关闭当前Figure窗口句柄 4.按钮组功能 ,当选择按钮组中不同算法变换时,用switch语句进行算法的选择进行图像变换,显示结果在axes2坐标轴中。function uipanel1_SelectionChangeFcn(hObject, eventdata, handles)m,n,o=size(im);if o1 im=rgb2gray(im); R=double(im)/255;elsestr=get(hObject,stringaxes(handles.axes2);switch str case Initial imshow(im)directionX a=-1 -2 -1;0 0 0;1 2 1/256;b=-1 0 1; -2 0 2; -1 0 1/256; BW=conv2(im,a,sameBW=abs(BW);%处理水平方向算子的结果 imshow(BW);directionY BW=conv2(im,b,%处理垂直方向算子的结果directionXY BW1=conv2(im,a,

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1