基于matlab的数字图像处理系统设计_毕业论文设计(编辑修改稿)内容摘要:

设计的一般步骤 分析界面所要求实现的主要功能,明确设计任务。 在稿纸上绘出界面草图,并对其进行审查。 按照构思的草图,上机制作静态界面,并进行检查。 编写界面动态功能的程序,对其功能进行逐项检查。 系统功能的模块设计 根据当前图像处理系统的总体设计样式和要求,该 系统主要包括文件、工具、编辑、图像、调色、图像类型转换、颜色空间转换、正交变换等模块。 其模块图如 所示: 图 系统功能框图 窗口界面的实现 该系统界面的设计主要是利用 MATLAB 所提供的 GU( IGraphUser Interface)向导设计控件而完成的,该向导可以实现多种控件的设计,给用户提供了一种友好的交互方式,同时也给操作带来很多方便。 图形用户界面 GUI 是包含图形对象(如图形窗口、菜单、控件、文本 )的用户界面,用户以某种方式选择或者击活这些对象会发生变化或引起动作。 启动 GUI 的方法 启动图形用户界面的方法有很多种,例如可以利用工具栏上的命令按钮,也可以采用菜单和命令的方式。 在本人设计的案例中采用的是命令方式:在命令窗口直接输入 guide 命令,弹出的窗口如图 所示: 图 GUI 启动界面 在弹出的 guide quick ate new gui 选项卡里面的 start 窗口中选择 creBlank GUI 选项,这样就可以进入图形用户界面来设计我们的系统静态界面。 图 Guide 界面 上图就是 Guide 提供的图形界面设计工具集,在 此界面下就可以利用控件 组件、文本菜单、排列工具等对系统的界面进行设计。 该系统的静态界面如图 所示: 图 Guide 设计界面 当静态界面设计完成以后,对该界面进行保存,此时 Guidie 将自描述,动生成两个发布文件,分别是 .fig 文件和 .m 文件。 Fig 文件:该文件包括图形窗口及其所有后裔的完全包括:该文件包括 GUI 设计、控制函数以及为子函数的用户控 u Edit 对系统的菜所有对象的属性值。 Fig 文件是一个二进制文件,调用 hgsave 命令或界面设计编辑器的 file 菜单 save 选项保存图形窗口时将产生该文件。 Fig 文件最有用的地方之一就是对象句柄的保存和引用,可以使用 open、openfig 和 hgload 命令打开一个后缀为 .fig 的文件。 M 文件件回调函数,主要用于控制 GUI 展开时的各种特征。 这个 M 文件可以分为 GUI 初始化和回调函数两个部分,用户控件的回调函数根据用户与 GUI 的具体交互方式分别调用。 设计好系统的界面以后,接下来就要利用 Men 单进行设计,创建菜单的第一步就是利用 GUI 的工具栏上的 Menu Edit 按钮启动相应的窗口。 然后使 用 New Menu 工具栏来创建菜单,然后可以指定菜单的属性。 例如可以设置菜单的标签、分隔符、选种模式以及回调函数字符串。 第二步就是创建菜单项。 可以使用 New Menu Item 工具来添加菜单项,每一个菜单项也可以有级联 的子菜单项。 如果想要定义快捷菜单可以使用 NewContext Menu 工具来进行创建。 本系统的菜单创建效果如图 所示: 图 3,5 菜单 各个模块的实现 文件模块 在文件模块中主要是包括对图像文件的打开、保存、打印设置和退出等操作。 其中对图像文件如何读取以及如何写入是本模块的重点,下面主要介绍这两个功能的实现。 打开 对于打开菜单,主要利用的是 MATLAB 所提供的 uigetfile( )标准读盘文件处理对话框来选择要打开的图像,然后用 imread( )函数实现对图像文件的读取。 其主要代码如下: function open_Callback(hObject, eventdata, handles) [filename, pathname] = uigetfile({39。 *.jpg39。 39。 *.bmp39。 39。 *.tif39。 } S = imread([pathname filename])。 = S。 axes()。 imshow(S)。 = hObject。 guidata(hObject, handles)。 保存 保存菜单的实现主要应用 uiputfile()标准写盘处理对话框来实现,其代码如下: function save_Callback(hObject, eventdata, handles) global hresult。 [filename,pathname, filterindex] = uiputfile( ... {‘*.bmp。 *.jpg。 *.tif’,’Picture styles(*.bmp。 *.jpg。 *.tif)’。 ‘*.bmp’,’Bitmapfiles(*.bmp)’。 ... 39。 *.jpg39。 ,39。 JPEG (*.jpg)39。 ... 39。 *.tif39。 ,39。 Giffiles (*.tif)39。 ... 39。 *.*39。 , 39。 All Files (*.*)39。 }, ... 39。 Save as39。 )。 If isequal([ ilename,pathname],[0,0]) return else File=fullfile(pathname,filename)。 saveas(hresult,File) End 编辑模块的实现 该模块主要是对所要处理的图像进行一些常规的编辑操作,可以实现对图片进行放大和缩小,也可以对图片进行剪切和旋转。 当然还可以实现很多有关编辑的操作,但是无论哪一种操作,其关键是如何获得该图像的句柄。 句柄实际上就是分配给每个对象的数字标识,每次创 建对象时, MATLAB 就会自动为它创建一个唯一的句柄,这样只要我们能找到该句柄,就能对该对象进行操作。 在MATLAB 中,图形对象是一幅图中很独特的成分,它可以被单独地操作。 由图形命令产生的每一件东西都是图形对象,它们包括图形窗口不仅仅说是图形,还有坐标轴、线条、曲面、文本和其它。 这些对象按父对象和子对象组成层次结构。 计算机屏幕是根对象,并且是所有其它对象的父对象。 图形窗口是根对象的子对象;坐标轴和用户界面对象是图形窗口的子对象;线条、文本、曲面、补片和图象对象是坐标轴对象的子对象。 这种层次关系在图 中给出 图 对象层次结构 根对象可包含一个或多个图形窗口,每一个图形窗口可包含一组或多组坐标轴。 所有其它的对象(除了 uicontr。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。