资源描述
主要内容主要内容第第1 1章章 MATLABMATLAB概述及系统环境概述及系统环境第第2 2章章 MATLABMATLAB矩阵及其运算矩阵及其运算第第3 3章章 MATLABMATLAB数据可视化数据可视化第第4 4章章 MATLABMATLAB程序设计程序设计第第5 5章章 MATLABMATLAB数值计算数值计算第第6 6章章 MATLABMATLAB符号运算符号运算第第7 7章章 MATLAB GUIMATLAB GUI设计设计第第8 8章章 MATLAB SimulinkMATLAB Simulink仿真仿真第第9 9章章 MATLABMATLAB在电路仿真中的应用在电路仿真中的应用第第1010章章 MATLABMATLAB在数字信号处理中的应用在数字信号处理中的应用绪论第第1111章章 MATLABMATLAB在数字图像处理中的应用在数字图像处理中的应用第第1212章章 MATLABMATLAB在电磁场与电磁波中的应用在电磁场与电磁波中的应用第第7 7章章 MATLAB GUIMATLAB GUI设计设计o GUI基本介绍基本介绍o GUI创建创建o GUI的的M文件文件o GUI实例实例7.1 GUI基本介绍7.1.1 GUI简介简介 图形用户界面图形用户界面是一种人与计算机通信的界面显示格式,它允许是一种人与计算机通信的界面显示格式,它允许用户使用用户使用鼠标、键盘等输入设备鼠标、键盘等输入设备操纵屏幕上的图标或菜单选项,以操纵屏幕上的图标或菜单选项,以选择命令、调用文件、启动程序或执行其他一些日常任务。选择命令、调用文件、启动程序或执行其他一些日常任务。MATLAB为表现其基本功能而设计的演示程序为表现其基本功能而设计的演示程序demo是使用图形是使用图形界面的最好范例。界面的最好范例。MATLAB的用户在指令窗中运行的用户在指令窗中运行demo打开图形界打开图形界面后,只要用鼠标进行选择和单击,就可浏览丰富多彩的内容。面后,只要用鼠标进行选择和单击,就可浏览丰富多彩的内容。7.1 GUI基本介绍GUIDE开发环境开发开发环境开发GUI 打开可视化界面编辑环境有打开可视化界面编辑环境有两种方式:两种方式:(1)在命令窗口中输)在命令窗口中输入入Guide或或Guide Filename命令即可打开命令即可打开GUIDE Quick Star界面,如图界面,如图7.1所示。(所示。(2)通过)通过MATLAB菜单栏,依次选择菜单栏,依次选择FileNewGUI,打,打开开GUIDE Quick Star界面界面。图7.1 GUIDE Quick Star界面7.1 GUI基本介绍GUIDE开发环境开发开发环境开发GUI 在在GUIDE Quick Star界面中有两个选项卡,分别为界面中有两个选项卡,分别为Create New GUI和和Open Existing GUI。Create New GUI Blank GUI选项创建空白的可视化文件;选项创建空白的可视化文件;GUI with Uicontrols选项创建具有控件的可视化界面;选项创建具有控件的可视化界面;GUI with Axes and Menu选项创建具有坐标轴和菜单的可视化界面;选项创建具有坐标轴和菜单的可视化界面;Modal Question Dialog选项创建具有模态问题对话框的可视化界面。选项创建具有模态问题对话框的可视化界面。用户可以根据需要,在选择相应的选项和保存路径后,单击用户可以根据需要,在选择相应的选项和保存路径后,单击OK按钮即可。通过按钮即可。通过GUIDE Quick Star创建一个完整的创建一个完整的GUI会同时生成同名的会同时生成同名的.fig和和.M文件文件。.fig文件:文件:保存的是保存的是GUI的外观设计信息,可以在这个文件界面上进行控件的添加、删的外观设计信息,可以在这个文件界面上进行控件的添加、删除、放大缩小、移动位置等控件布局操作。除、放大缩小、移动位置等控件布局操作。.M文件:文件:即控件所要执行的功能则全部在即控件所要执行的功能则全部在M文件中编辑。图文件中编辑。图7.2是一个空白的可视化界是一个空白的可视化界面面。7.1 GUI基本介绍7.1.2 入门示例入门示例 为快速掌握为快速掌握MATLAB GUI的设计,下面来看一个完整的入门示例:设的设计,下面来看一个完整的入门示例:设计一个能够根据用户选择,显示正弦波、矩形波、锯齿波的计一个能够根据用户选择,显示正弦波、矩形波、锯齿波的GUI界面。界面。p 首先打开首先打开MATLAB应用程序,选择菜单栏中的应用程序,选择菜单栏中的FileNewGUI,打开,打开GUIDE Quick Star界界面,选择面,选择Blank GUI创建一个空白界面。创建一个空白界面。p从左侧控件面板区将三个从左侧控件面板区将三个Push Button控件、一个控件、一个Axes控件和一个控件和一个Static Text控件拖放到控件拖放到中间设计面板区,如图中间设计面板区,如图7.3所示。所示。p 将三个将三个Push Button按钮的按钮的String属性和属性和Tag属性分别改为属性分别改为“正弦函数正弦函数”和和fun1、“矩形矩形函数函数”和和fun2、“锯齿函数锯齿函数”和和fun3;将;将Static Text标签的标签的String属性改为属性改为“显示函数显示函数”,其他为默认值。,其他为默认值。图7.3 入门实例设计界面7.1 GUI基本介绍p将三个将三个Push Button按钮的按钮的String属性和属性和Tag属性分别改为属性分别改为“正弦函数正弦函数”和和fun1、“矩形函矩形函数数”和和fun2、“锯齿函数锯齿函数”和和fun3;将;将Static Text标签的标签的String属性改为属性改为“显示函数显示函数”,其他为默认值。其他为默认值。p选中选中“正弦函数正弦函数”按钮,单击右键选择按钮,单击右键选择View CallbacksButtonDownFcn,进入,进入M文件中文件中回调函数的编辑,系统会自动生成一个空的回调函数的编辑,系统会自动生成一个空的fun1_ButtonDownFcn函数,该步骤表示当函数,该步骤表示当鼠标单击该按钮时,在坐标轴控件中会显示正弦函数。因此,需要在鼠标单击该按钮时,在坐标轴控件中会显示正弦函数。因此,需要在fun1_ButtonDownFcn函数下编写如下代码:函数下编写如下代码:7.1 GUI基本介绍7.1 GUI基本介绍p单击单击.fig文件工具栏中的运行按钮文件工具栏中的运行按钮 即可运行即可运行GUI界面。当单击要显示的函数按钮时,窗界面。当单击要显示的函数按钮时,窗口中就会显示相应的函数,如图口中就会显示相应的函数,如图7.4所示。所示。图7.4 入门实例界面7.1 GUI基本介绍 控件名称控件名称属性名称属性名称图标样式图标样式功能描述功能描述按按钮钮Push Button用用户单击户单击按按钮时钮时返回返回true,单击单击按按钮钮事件立即触事件立即触发发单选单选按按钮钮Radio Button为为用用户户提提供供由由两两个个或或多多个个互互斥斥选选项项组组成成的的选选项项集集,每每组组单单选选按按钮钮中只能有一个被中只能有一个被选选中中开关按开关按钮钮Toggle Button为为用用户户提供提供选选中或不中或不选选中的控件中的控件按按钮组钮组Button Group容器控件,将一容器控件,将一组单选组单选按按钮钮、复、复选选框等框等组织组织在一起在一起编辑编辑框框Edit Text供用供用户创户创建和建和编辑编辑文本或文本或图图形形静静态态文本文本Static Text只用于只用于显显示文本,不能接收用示文本,不能接收用户户的的输输入入列表框列表框List Box供用供用户户在下拉列表框中在下拉列表框中选择输选择输入入值值,可,可选选多个多个值值滚动滚动条条Slider用用户户通通过过鼠鼠标标或或键键盘盘移移动动滚滚动动条条上上的的方方块块位位置置来来改改变变滚滚动动条的当前条的当前值值复复选选框框Check Box为为用用户户提提供供由由两两个个或或多多个个选选项项组组成成的的选选项项集集,每每组组复复选选框框中的中的选项选项可多个被可多个被选选中中弹弹出式菜出式菜单单Popup Menu与与List Box控件功能控件功能类类似,但只能似,但只能选择选择一个一个值值坐坐标轴标轴Axes输输出出图图形、函数等的区域形、函数等的区域面板面板Panel与与Button Group控件功能控件功能类类似似表格表格Table输输入数据的区域,可入数据的区域,可进进行数据行数据传递传递ActiveX控件控件ActiveX ControlActiveX控控件件是是可可以以在在应应用用程程序序和和网网络络计计算算机机上上重重复复使使用用的程序的程序对对象象7.1.3 控件创建控件创建表表7.1 MATLAB GUI中常用控件中常用控件 7.2 GUI创建7.2.1 菜单设计菜单设计 菜单分为菜单分为标准菜单和弹出式菜单标准菜单和弹出式菜单。设计菜单时选择菜单栏中的。设计菜单时选择菜单栏中的ToolsMenu Editor,打开如图所示的菜单编辑器界面。,打开如图所示的菜单编辑器界面。在在Menu Editor界面中有两个选项卡:界面中有两个选项卡:标准菜单标准菜单Menu Bar和弹出式菜单和弹出式菜单Context Menus,工具栏中从左到右依次为创建新菜单、子菜单、弹出式子工具栏中从左到右依次为创建新菜单、子菜单、弹出式子菜单,菜单,表示下级菜单变为上级菜单,表示下级菜单变为上级菜单,表示上级菜单变为下级菜单,表示上级菜单变为下级菜单,和和箭头表示在同级中移动菜单的位置,箭头表示在同级中移动菜单的位置,X表示删除选中的菜单。表示删除选中的菜单。选择界面选择界面Menu EditorMenu Editor界面界面7.2 GUI创建1标准菜单标准菜单创建新菜单后会出现相关属性:创建新菜单后会出现相关属性:pLabel是菜单的名称,是菜单的名称,pTag是标示,是标示,pAccelerator表示快捷键,表示快捷键,pSeparator above this item表示在选中的菜单上面添加分隔栏,表示在选中的菜单上面添加分隔栏,pEnable this item表示该菜单是否可用,表示该菜单是否可用,pCallback表示该菜单选项的回调函数,表示该菜单选项的回调函数,pMore Properties表示更多的属性设置。表示更多的属性设置。右图中创建了标准菜单右图中创建了标准菜单File、Tools和和help,其中,其中Files包括子菜单包括子菜单New、Open、Close,图为标准菜单的位置和样式。,图为标准菜单的位置和样式。7.2 GUI创建2弹出式菜单弹出式菜单 弹出式菜单与标准菜单的创建方法类似,其区别在于弹出式菜单弹出式菜单与标准菜单的创建方法类似,其区别在于弹出式菜单右面的属性只有右面的属性只有Tag和和Callback,如图,如图7.8所示。要想在编辑栏中实现单所示。要想在编辑栏中实现单击鼠标右键,可在出现的弹出式菜单中,将编辑框击鼠标右键,可在出现的弹出式菜单中,将编辑框Edit Text的属性的属性UIContextMenu设置为菜单的设置为菜单的Tag名即可。名即可。图7.8弹出式菜单创建7.2 GUI创建7.2.2 对话框设计对话框设计 输入对话框用于接收用户输入,输出对话框用于输出信息以便输入对话框用于接收用户输入,输出对话框用于输出信息以便提示用户,而每种对话框都有对应的提示信息和按钮。提示用户,而每种对话框都有对应的提示信息和按钮。1输入框输入框 输入对话框作为用户输入的界面,在输入对话框作为用户输入的界面,在MATLAB中用中用inputdlg函数来函数来创建,同时提供了创建,同时提供了OK和和Cancel两个按钮。两个按钮。inputdlg函数命令格式如下:函数命令格式如下:Answer=inputdlg(prompt,name,numlines,defaultanswer,options)7.2 GUI创建 说明:说明:(1)Answer是用户的输入,为元胞数组。是用户的输入,为元胞数组。(2)prompt为提示信息字符串,用引号括起来,为元胞数组。为提示信息字符串,用引号括起来,为元胞数组。(3)name为标题字符串,用引号括起来,可以省略。为标题字符串,用引号括起来,可以省略。(4)numlines用于指定输入值的行数,可以省略。用于指定输入值的行数,可以省略。(5)defaultanswer为输入的默认值,用引号括起来,是元胞数组,可以省略。为输入的默认值,用引号括起来,是元胞数组,可以省略。(6)options指定对话框是否可以改变大小,取指定对话框是否可以改变大小,取on或或off,省略时为,省略时为off,表示不,表示不能改变大小,如果为能改变大小,如果为on,则自动变为无模式对话框,可以改变大小。,则自动变为无模式对话框,可以改变大小。7.2 GUI创建【例【例7.1】使用】使用inputdlg函数输入正弦函数的振幅和频率函数输入正弦函数的振幅和频率,在命令窗口输,在命令窗口输入如下代码:入如下代码:prompt=请输入正弦函数的振幅请输入正弦函数的振幅:,请输入正弦函数的频率请输入正弦函数的频率:;name=输入输入;numlines=1;defaultanswer=5,10;answer=inputdlg(prompt,name,numlines,defaultanswer)运行结果:运行结果:answer=5 10程序分析:程序分析:直接单击直接单击OK按钮,输出默认值,按钮,输出默认值,如果用户输入其他值,输出会相应地改变。如果用户输入其他值,输出会相应地改变。7.2 GUI创建2输输出出框框 输出框用于输出显示信息。使用输出框用于输出显示信息。使用msgbox函数函数来创建,每种类型的输来创建,每种类型的输出框都由不同图标来标识,且只提供了一个出框都由不同图标来标识,且只提供了一个OK按钮。按钮。msgbox函数的命令函数的命令格式如下:格式如下:H=msgbox(message,title,icon,icondata,iconcmap,createmode)说明:说明:(1)H为输出对话框的句柄。为输出对话框的句柄。(2)message为显示的信息,可以是字符串或数组。为显示的信息,可以是字符串或数组。(3)title为标题字符串,用引号括起来,可以省略。为标题字符串,用引号括起来,可以省略。(4)icon为显示的图标,可取值为为显示的图标,可取值为none(无图标)、(无图标)、error(报错图(报错图 标)、标)、help(帮助图标)、(帮助图标)、warn(警告图标)或(警告图标)或custom(自定义图标),也可以省略。(自定义图标),也可以省略。(5)当)当icon使用使用custom时,用时,用icondata定义图标的数据,用定义图标的数据,用iconcmap定义图标的颜色。定义图标的颜色。(6)createmode为对话框的产生模式,可以省略。为对话框的产生模式,可以省略。7.2 GUI创建【例【例7.2】使用】使用msgbox函数输出报错信息函数输出报错信息。在命令窗口输入如下代码:在命令窗口输入如下代码:message=密码错误,请重新输入密码错误,请重新输入!;title=出错出错;icon=error;h=msgbox(message,title,icon);程序运行结果:弹出如下图所示的报错对话框。程序运行结果:弹出如下图所示的报错对话框。7.2 GUI创建 除上述除上述Msgbox函数创建输出框外,函数创建输出框外,MATLAB还提供了几种专用输出还提供了几种专用输出框函数,这些函数及属性如表框函数,这些函数及属性如表7.2所示。所示。函函 数数 名名功功 能能图图 标标按按 钮钮 显显 示示errordlg出出错对话错对话框框仅仅OK按按钮钮warndlg警告警告对话对话框框仅仅OK按按钮钮helpdlg帮助帮助对话对话框框仅仅OK按按钮钮questdlg提提问对话问对话框框一一个个或或多多个个按按钮钮,默默认认为为OK、No、Cancel三三个个按按钮钮listdlg列表列表对话对话框框无无OK和和Cancel按按钮钮表表7.2 专用输出框函数专用输出框函数7.2 GUI创建【例【例7.3】使用】使用questdlg函数输出提问信息函数输出提问信息。在命令窗口输入如下代码:在命令窗口输入如下代码:question=是否继续?是否继续?;title=提问提问;choice=questdlg(question,title,Yes,No,Yes);程序运行结果:弹出如下图所示的程序运行结果:弹出如下图所示的提问对话框提问对话框。7.2 GUI创建 7.2.3 文件管理框文件管理框 MATLAB提供了文件管理框的设计,可以实现打开文件、保存文件和提供了文件管理框的设计,可以实现打开文件、保存文件和浏览文件夹等功能。浏览文件夹等功能。1打开和保存文件打开和保存文件 使用使用uigetfile函数函数创建打开文件对话框,使用创建打开文件对话框,使用uiputfile函数创建保存函数创建保存文件对话框,用户可以在文件管理对话框中实现路径和文件类型的选择。文件对话框,用户可以在文件管理对话框中实现路径和文件类型的选择。函数命令格式如下:函数命令格式如下:Filename,Pathname=uigetfile(Filterspec,Title,x,y)Filename,Pathname=uiputfile(Filterspec,Title,x,y)说明:说明:(1)Filename为用户选择的文件名,为用户选择的文件名,Pathname为文件所在路径,可省略,如取消选择,返回值均为为文件所在路径,可省略,如取消选择,返回值均为0。(2)Filterspec为对话框中显示的文件名。为对话框中显示的文件名。(3)Title为对话框标题字符串,可以省略。为对话框标题字符串,可以省略。(4)X、Y分别表示对话框在屏幕上的位置,单位是像素,可以省略。分别表示对话框在屏幕上的位置,单位是像素,可以省略。7.2 GUI创建 【例【例7.4】使用】使用uigetfile函数和函数和uiputfile函数创建打开文件对话框和保存文函数创建打开文件对话框和保存文件对话框件对话框。在命令窗口输入如下代码:在命令窗口输入如下代码:filename,pathname=uigetfile(*.*,打开文件打开文件)filename,pathname=uiputfile(*.m,保存文件保存文件)程序分析:程序分析:如果用户选中某个文件,那么返回的是该文件名和所在路径;如果选择如果用户选中某个文件,那么返回的是该文件名和所在路径;如果选择“取消取消”,则返回值为,则返回值为0。值得注意的是,这里的。值得注意的是,这里的“打开打开”和和“保存保存”不是真正意义上的打开和保不是真正意义上的打开和保存,后续还需用专门的命令实现文件的相关操作。存,后续还需用专门的命令实现文件的相关操作。7.2 GUI创建 2.浏览文件夹浏览文件夹 MATLAB使用使用uigetdir函数来打开浏览文件夹对话框,命令函数来打开浏览文件夹对话框,命令格式如下:格式如下:Directoryname=uigetdir(Startpath,Title)说明:说明:Directoryname为用户的选择路径,为用户的选择路径,Startpath为开始路径,为开始路径,title为对话框标题。为对话框标题。7.2 GUI创建 【例【例7.5】使用】使用uigetdir函数创建浏览对话框。函数创建浏览对话框。在命令窗口输入如下代码:在命令窗口输入如下代码:directoryname=uigetdir(F:Program Files);程序运行结果:弹出如下图所示的程序运行结果:弹出如下图所示的提问对话框提问对话框。7.3 GUI的M文件 控件的功能控件的功能执行主要通过回调函数来实现,每个控件都有几种回调函数执行主要通过回调函数来实现,每个控件都有几种回调函数。右键单击控件,在出现的菜单中选择。右键单击控件,在出现的菜单中选择View Callbacks,会出现,会出现Callback、CreateFcn、DeleteFcn、ButtonDownFcn、KeyPressFcn选项。选项。pCallback 最常用、最一般的回调函数最常用、最一般的回调函数pCreateFcn 初始化样式、颜色、初始值等初始化样式、颜色、初始值等pDeleteFcn 在空间对象被清除的时发生在空间对象被清除的时发生pButtonDownFcn 鼠标单击时发生鼠标单击时发生pKeyPressFcn 按键事件时发生按键事件时发生7.3 GUI的M文件 选中上述函数后,会自动跳转到相应的选中上述函数后,会自动跳转到相应的 Editor中编辑代码中编辑代码,GUIDE会自动生成相应的函数体、函数名。函数名称一般是控件会自动生成相应的函数体、函数名。函数名称一般是控件Tag+Call类型类型名,参数有三个,分别是名,参数有三个,分别是hObject、eventdata和和handles,其中,其中hObject为为发生事件的源控件,发生事件的源控件,eventdata为事件数据结构,为事件数据结构,handles为传入的对象为传入的对象句柄。句柄。7.4 GUI实例 7.4.1 MATLAB GUI设计步骤设计步骤MATLAB GUI设计的一般步骤设计的一般步骤总结如下:总结如下:(1)利用)利用GUIDE向导的模板创建初始界面,在界面上布置控件、向导的模板创建初始界面,在界面上布置控件、菜单栏和工具栏,可以借助菜单栏和工具栏,可以借助MATLAB提供的界面设计器、菜单编辑提供的界面设计器、菜单编辑器与工具栏编辑器来设计。器与工具栏编辑器来设计。(2)利用属性编辑器、菜单编辑器及工具栏编辑器为每个对象赋)利用属性编辑器、菜单编辑器及工具栏编辑器为每个对象赋予属性值,最重要的属性是予属性值,最重要的属性是Tag,它将作为该对象的标识出现在对,它将作为该对象的标识出现在对象浏览器和象浏览器和M文件编辑器中。文件编辑器中。(3)利用)利用M文件编辑器编写初始化函数,结束自函数、对象回调文件编辑器编写初始化函数,结束自函数、对象回调函数及使用到的子函数,设计出具有强大功能的图形用户界面。函数及使用到的子函数,设计出具有强大功能的图形用户界面。(4)利用)利用M文件的调试方法得到正常运行的文件的调试方法得到正常运行的GUI。7.4 GUI实例 7.4.2设计实例设计实例【例【例7.6】利用】利用MATLAB的的GUI程序设计一个具备程序设计一个具备图像边缘检测功能图像边缘检测功能的用户界面。该设计程序有以下基本功能:的用户界面。该设计程序有以下基本功能:(1)图像的读取和保存。)图像的读取和保存。(2)设计图形用户界面,让用户对图像进行彩色图像到灰度图像)设计图形用户界面,让用户对图像进行彩色图像到灰度图像的转换,并显示原图和灰度图像。的转换,并显示原图和灰度图像。(3)设计图形用户界面,让用户能够根据需要来选择边缘检测算)设计图形用户界面,让用户能够根据需要来选择边缘检测算子,即选择边缘检测的方法。子,即选择边缘检测的方法。(4)设计图形用户界面,让用户能够自行设定检测的阈值和方向。)设计图形用户界面,让用户能够自行设定检测的阈值和方向。(5)显示边缘检测后的图像,并与原图和灰度图像进行对比。)显示边缘检测后的图像,并与原图和灰度图像进行对比。(6)其他功能。)其他功能。7.4 GUI实例 根据上述分析完成如下步骤:根据上述分析完成如下步骤:p建立菜单,选项包括建立菜单,选项包括“文件文件”(打开、保存、退出)、(打开、保存、退出)、“检检测方法测方法”(sobel、prewitt、roberts、canny)和)和“帮助帮助”。p建立建立3个坐标轴对象,用于显示原始图像、灰度图像和边缘个坐标轴对象,用于显示原始图像、灰度图像和边缘检测后的图像。检测后的图像。p建立建立1个按钮,用于将原始图像转换为灰度图像。个按钮,用于将原始图像转换为灰度图像。p建立建立1个文本编辑框,用于输入数据。个文本编辑框,用于输入数据。p建立菜单,选项包括建立菜单,选项包括“文件文件”(打开、保存、退出)、(打开、保存、退出)、“检检测方法测方法”(sobel、prewitt、roberts、canny)和)和“帮助帮助”。7.4 GUI实例 界面设计如图界面设计如图7.14所示,保存为所示,保存为gui_shili.fig文件。文件。图图7.147.147.4 GUI实例 p五个静态文本框的五个静态文本框的string属性分别为属性分别为“原图原图”、“灰度图像灰度图像”、“检测图像检测图像”、“设定阈值设定阈值”和和“检测方向检测方向”。p三个坐标轴的三个坐标轴的Tag标识分别为标识分别为original_image、gray_image、test_image。p按钮控件的按钮控件的string属性为属性为“灰度转换灰度转换”,Tag标识为标识为rgbtogray。p文本编辑框的文本编辑框的Tag标识为标识为thresh_value。p列表框的列表框的string属性为属性为horizontal、vertical、both,Tag标识为标识为direction。7.4 GUI实例 7.4 GUI实例 创建菜单创建菜单7.4 GUI实例 p建立一级菜单建立一级菜单“文件文件”,设置三个子菜单项,设置三个子菜单项“打开打开”、“保存保存”和和“退出退出”。p建立一级菜单建立一级菜单“检测方法检测方法”,设置四个子菜单项,设置四个子菜单项Sobel、Prewitt、Roberts、Canny。p建立一级菜单建立一级菜单“帮助帮助”,无子菜单项。,无子菜单项。7.4 GUI实例 p编写代码完成程序中的变量赋值、输入、输出等工作,打开编写代码完成程序中的变量赋值、输入、输出等工作,打开gui_shili.m文件,在文件,在对应函数位置添加如下程序,其他代码不变。对应函数位置添加如下程序,其他代码不变。(1)该段程序是菜单栏中子菜单打开选项的代码,主要用于该段程序是菜单栏中子菜单打开选项的代码,主要用于选择打开并显示选择打开并显示该图像。该图像。7.4 GUI实例 (2)该段程序是菜单栏中子菜单保存选项的代码,主要用于保存处理后的图像。该段程序是菜单栏中子菜单保存选项的代码,主要用于保存处理后的图像。7.4 GUI实例 7.4 GUI实例 7.4 GUI实例 执行程序后,单击菜单栏中的执行程序后,单击菜单栏中的文件文件,打开图片打开图片rice.jpg,在原图位置会在原图位置会显示彩色图像,显示彩色图像,单击单击“灰度转换灰度转换”按钮,在灰度图像位置会显示转换后的按钮,在灰度图像位置会显示转换后的灰度图像,在灰度图像,在“设定阈值设定阈值”框框输入输入0.1,选择,选择“检测方向检测方向”为为both,再在,再在“检测方法检测方法”菜单中菜单中选择选择Canny,即可在,即可在“检测图像检测图像”的位置显示边缘检测的位置显示边缘检测后的图像,最后在后的图像,最后在“文件文件”菜单中选择菜单中选择“保存保存”,即可,即可保存最终分割后的保存最终分割后的边缘检测图,结果如图所示。边缘检测图,结果如图所示。
展开阅读全文