图像边缘检测系统设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
学号
数字图像处理
课程设计说明书
图像边缘检测系统设计
起止日期:2016年12月5日至2016年12月9日
学生姓名
班级13电信科1班
成绩
指导教师(签字)
计算机与信息工程学院电子信息工程系
2016年12月9日
课程设计任务书
2016—2017学年第一学期
计算机与信息工程学院电子信息与科学技术专业1班级
课程设计名称:数字图像处理课程设计
设计题目:图像边缘检测系统设计
完成期限:自2016年12月5日至2016年12月9日共1周
一、课程设计依据
在掌握数字图像处理基本算法的基础上,利用MATLAB、VC++、Java等编程语言设计具有指定功能的图形用户界面。
二、课程设计内容
1、设计一个实现图像边缘检测功能的界面
2、界面可以采用MATLAB、VC++、Java等编程语言设计
3、要求界面能够读入并显示图片,通过各种控件选择并进行图像的边缘检测操作,操作结果在对比窗口中显示
4、图像边缘检测功能至少包括单方向一阶微分检测(水平/垂直方向)、无方向微分检测(Roberts算子、Sobel算子、Prewitt算子、Laplacian算子、LOG算子)等,每项功能可采用一个或多个算法实现
三.课程设计要求
1、要求每个同学独立完成设计任务。
2、课程设计说明书封面格式要求见《课程设计说明书格式要求》。
3、课程设计的说明书要求简洁、通顺,图像表达内容完整、清楚、规范。
4、课程设计说明书要求:
1)说明题目的设计原理和思路、采用方法及设计流程。
2)可采用图表或文字对图形用户界面各子模块的功能以及各子模块之间的关系做
较详细的描述。
3)详细说明代码的编写流程。
4)采用图像及文字详细说明各功能的演示结果。
指导教师(签字):
系主任(签字):
批准日期:2016年12月1日
目录
第1章总体设计 (1)
1.1 设计目的 (1)
1.2 设计方案 (1)
第2章GUI界面设计 (2)
2.1 启动GUI界面 (2)
2.2控件设计 (3)
第3章运行结果及主要程序 (6)
3.1边缘检测的步骤及结果 (6)
3.2主要程序 (8)
总结 (11)
参考文献 (12)
第1章总体设计
1.1 设计目的
设计一个实现图像边缘检测功能的界面,通过各种控件选择并进行图像的边缘检测操作,操作结果在对比窗口中显示,完成一个简单的图片处理。
1.2 设计方案
先通过GUI可视化界面窗口设计一个对用户使用起来相对方便的界面布局,然后针对界面上的每一个控件进行脚本函数的编写,以实现每一个控件的相应功能。
需要实现的功能:图片的读取与显示,图片的对比显示和存储,彩色图片到灰度图像的转换,图片的各种算子边缘检测并显示(Roberts算子、Sobel算子、Prewitt算子、Laplacian算子、LOG算子等),并增加了退出程序按钮,最终生成一个可执行软件。
软件的总体设计界面布局如图1-1所示,主要分为2个部分:显示区域与操作区域。
显示区域:显示载入原图,以及通过处理后的图像。
操作区域:通过功能键实现对图像的各种处理。
在截图中可见,左部为一系列功能按键有“读取图片”、“二值化”、“灰度化”三个按钮。界面右部分为图片显示部分,下方有“存储图片”、“退出”功能键。界面中间方为系列功能切换选择组包括单方向一阶微分检测(水平/垂直方向)、无方向微分检测(Roberts 算子、Sobel算子、Prewitt算子、Laplacian算子、LOG算子)等。
图1-1 设计界面图
第2章GUI界面设计
2.1 启动GUI界面
通过单击MATLAB菜单项“Home”-->“New”-->“Graphical User Interface”,显示GUI 开发环境的启动窗口,也可在命令窗口输入命令: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 pushbutton3_Callback(hObject, eventdata, handles) pushbutton3_Callback是按钮的回调函数,Callback函数是当用户每次触发GUI对象时执行的回调函数;hObject为当前回调函数对应的GUI对象的句柄;eventdata表示事件代码;handles为当前GUI所有数据的结构体,包含所有GUI对象的句柄和用户定义的数据。
2.按钮组
为方便编程,采用按钮组进行算法实现,利用版图编辑器的按钮组,添加单选按钮到按钮组。如图2-6所示。
图2-6按钮组
右击按钮组选择SelectionChangeFcn选项,定位该控件的回调函数,如图2-7所示。
图2-7查看按钮组回调
回调函数初始代码:function uipanel1_SelectionChangeFcn(hObject, eventdata, handles),程序代码见附录。
搭建结果界面截图如2-6所示。
图2-8 设计界面图