收藏 分享(赏)

图像软件.doc

上传人:gnk289057 文档编号:5228655 上传时间:2019-02-13 格式:DOC 页数:25 大小:6.65MB
下载 相关 举报
图像软件.doc_第1页
第1页 / 共25页
图像软件.doc_第2页
第2页 / 共25页
图像软件.doc_第3页
第3页 / 共25页
图像软件.doc_第4页
第4页 / 共25页
图像软件.doc_第5页
第5页 / 共25页
点击查看更多>>
资源描述

1、院 系 信息与控制学院 专 业 系统工程 班 级 11 系统 2 班 姓 名 孙明建 学 号 20111325060 指导老师 孙玉宝 2013年 12月1、目的与要求这部分主要说明本课程设计的目的、任务和要求;2、设计的内容根据指导书的讲述,介绍系统中所设计的主要功能和原理方法;3、总体方案设计根据课程设计的具体情况,描述系统的具体构架,包括:功能模块的划分、系统运行的环境、选用的工具及主要实现功能的原理。4、各个功能模块的主要实现程序主要的功能实现和函数要进行详细的说明,包括其用法,使用范围,及参数等。5、测试和调试按课程设计要求,选用多幅图像对程序进行测试,并提供系统的主要功能实现的效果

2、图。并在调试中发现的问题做说明。6、课程设计总结与体会主要说明设计中学到的东西和取得的经验总结,心得体会。7、参考文献写出具体的主要参考文献,标明其作者、出处、年代、若是期刊文章,还需要给出期刊名。网络的文章要给出网址。一、目的与要求目的:1、进一步巩固数字图像处理的基本概念、理论、分析方法和实现 方法 ;2、增强自己应用Matlab编写数字图像处理的应用程序及分析、解决实际问题的能力;3、尝试所学的内容解决实际工程问题,培养自己的工程实践能力。 4、数字图像处理技术在各个行业得到广泛的应用。其交互式的图形界面是操作者方便使用这些技术的途径。本题目将编制一个简易的图形界面读取各种格式的原始图像

3、数据,并对它们自动分析和处理,得到所需要的有用信息,并把相关的信息显示出来,以便于工作人员研究分析。任务:对这个程序的方案进行分析,尽快的使用matlab编出这样的程序。要求:基于MATLAB图形用户界面进行数字图像处理软件包的设计,详细介绍了图形用户界面的功能及使用方法,所设计软件包中包括图像处理技术的多个方面,并用MATLAB的图像处理工具箱进行了算法的实现。论述了图像处理技术部分的理论和实现,设计了友好的图形用户界面,方便用户观察处理结果。2、设计的内容我所编写的程序是具有以下几个功能:1、打开主要是能够通过这个按钮在我们的电脑中选择图片2、另存为这个主要是将我通过这款软件处理好的图像保

4、存起来3、退出这个菜单选项是将我的整个图像软件进行退出4、格式转换:gif,bmp,tif几种格式主要的是让我的图片能够转换成其他的格式5、灰度化将我的图片灰度化6、二值化将我的图片二值化7、直方图将我原来的图片的直方图显示出来8、图像锐化将我原来的图片进行锐化9、边缘提取将我的图像的边缘提取出来10、边缘检测对我的图像的边缘进行检测11、图像求反将我的图像取反以上的这些操作的原理其实大部分都是调用的原本matlab中的函数的,只有最后一个图像取反需要用到我自己写的函数,这些对图像处理的操作的原理在这边就不重复说明,我会在下面的步骤中进行说明的。三、总体方案设计创建MATLAB 用户图形界面必

5、须有三个基本元素:(1). 组件:在matlab GUI 中的每一个项目如按钮、标签、编辑框等都是一个图形化组件。组件又可分为三类:图形化控件(按钮,编辑框,列表,滚动条等)、静态元素(窗口和文本字符串)、菜单和坐标系。图形化控件和静态元素由函数uicontrol创建,菜单由函数uimenu和uicontextmenu创建,坐标系经常用于显示图形化数据,由函数axes创建。(2). 图象窗口(Figure):GUI的每一个组件都必须安排在图象窗口中,可以用函figure来创建空图象窗口,空图象窗口经常用于放置各种类型的组件。(3). 回应:当用户用鼠标单击或用键盘键入一些信息,那么程序就要有相

6、应的执行动作。鼠标单击或键入信息是一个事件,如果matlab程序运行相应的函数,那么matlab函数肯定会有所反应。例如,如果用户单击一按钮,这个事件必然引起相应的matlab语句执行。这些相应的语句被称为回应,在执行GUI的单个图形组件时,必须有一个回应。常用矩阵的生成全零矩阵 zero全一矩阵 ones单位矩阵 eye均匀分布的随机矩阵 rand正态分布的随机矩阵 randn简单矩阵的生成(1)直接输入矩阵元素,要遵循以下几个基本原则:矩阵每行的元素必须用空格或逗号分开;在矩阵中,采用分号或回车表明每行的结束;整个输入矩阵必须包含在方括号中;(2)从外部数据文件调入矩阵元素用matlab生

7、成的矩阵存储成二进制文件或包含数值数据的文本文件可以生成矩阵。文本文件中,数据必须排成一个数据表,数据之间用空格分隔,文件的每行包含矩阵的一行并且每行的元素个数必须相等。(3)利用用户文件创建的M文件矩阵用户可以使用M文件生成自己的矩阵。M文件是一种包含matlab代码的文本文件,它所包含的内容就是把在matlab的命令行上输入的矩阵生成命令存入一个文件。向量的生成Matlab可以采用多种不同方式生成向量:利用冒号:生成向量;利用linspace函数生成向量(生成线性等分向量) ;利用logspace函数生成向量(对数等分向量)图像的读写与显示操作:imread( )读取图像;imwrite(

8、 )输出图像;imshow( ), image( )把图像显示于屏幕;imcomplement() 对图像取反;imcrop( )对图像进行裁剪;imresize( )函数实现对图像的插值缩放;imrotate( )实现图像转用;imfeature功能:计算图像区域的特征尺寸;imfinfo功能:返回图形文件信息;imhist功能:显示图像数据的柱状图;immovie功能:创建多帧索引图的电影动画;impixel功能:确定像素颜色值;figure:强制生成一个新的绘图窗口;medfilt2功能:进行二维中值过滤;montage功能:在矩形框中同时显示多幅图像;nlfilter功能:进行边沿操作

9、;pixval功能:显示图像像素信息;truesize功调整图像显示尺寸;zoom功能:缩放图像;isbw功能:判断是否为二进制图像;isgray功能:判断是否为灰度图像;isrgb功能:判读是否为RGB真彩图像;图像类型转换函数dither()通过颜色抖动,把真彩图像转换成索引图像或灰度图象转换成二值图像gray2ind() 将灰度图像(或二值图像)转换成索引图像grayslice() 通过设定的阈值将灰度图象转换成索引图像im2bw() 通过设定亮度阈值将灰度、真彩、索引图象转换成二值图像ind2gray() 将索引图象转换成灰度图象ind2rgb() 将索引图象转换成真彩色图像mat2g

10、ray() 将一个数据矩阵转换成一幅灰度图象rgb2gray() 将真彩转换成灰度图象rgb2ind() 将真彩转换成索引图象GUI 的创建打开MATLAB,点击File,然后New,再点击GUI,弹出的对话框选择Create New GUI即可创建一个用户界面图形。菜单:在每一个窗口系统中使用菜单让用户选择命令和选项。通常在显示屏或窗口的顶部有一菜单条。移动鼠标指针到菜单标志上按下鼠标按键,顶层菜单就被选中,以列菜单项就从菜单标志拉下来。这种款式菜单就叫下拉式菜单。一个菜单项还可以有自己的菜单项列表作为子菜单。子菜单项在子菜单的右边显示小三角或箭头以表示菜单还有更多的子菜单项可供选择。子菜单

11、可以嵌套,但层次的数目受到窗口系统及有用资源的限制。建立菜单和子菜单:我们采用函数uimenu建立菜单项Hm_1=uimenu(hx_parent,propertyName,propertyValue)其中Hm_1是由uimenu生成的菜单项的句柄。通过设定uimenu的属性值就可以定义菜单特性。Uimenu对象中最重要的属性是lable和callback 。 lable属性值是菜单条和下拉菜单项上的文本字符串,以确认菜单项。 callback属性值是MATLAB字符串。控制框:系统窗口设置控制框,让用户进行某种操作或设置选项或属性。控制框是图形对像,如图标、文本框和滚动条。它和菜单一起使用以

12、建立用户图形界面称之为窗口系统和计算机窗口管理器。MATLAB控制框又称uicontrol,它是图形对象,可以放置在MATLAB的图形窗中的任何位置并用鼠标激活,MATLAB的uicontrol包括按钮、滑标、文本框及弹出式菜单。Uicontrol是由函数uicontrol生成的,常用句法:Hc_1=uicontrol(Hf_fig,PropertyName,PropertyVaule)通过设定不同的属性值定义uicontrol的属性。建立不同的控制框:matlab共有八种不同的类型的或样式的控制框,他们均由uicontrol建立,属性style决定了所建立的控制框的类型。 callback属

13、性值是当控制框激活时,传给eval在命令窗口空间执行的matlab的字符串。下面介绍八种uicontrol9:按键钮:又称命令按钮或按钮,是小的长方形屏幕对象,常常在对象本身标有文本。将鼠标指针移动至对象,来选择按键钮uicontrol,单击鼠标按钮,执行由回调字符串所定义的动作。按键钮的style属性值是pushbutton.按键钮是典型的用于执行一个动作而不是改变状态或设定属性。无线按钮:又称选择按钮或切换按钮,他由一个标志和标志文本的左端一个小圆圈或小菱形形成。当选择时,圆圈被填充,且value属性值为1;若未被选择时,value的属性值为0。无线按钮的style属性值为radiobut

14、ton 。无线按钮典型的用在一组互斥的选项中选择一项。检查框:又称切换按钮,它由具有标志并在标志的左边的一个小方框组成。激活时uicontrol在检查和清除状态之间切换。在检查状态时,根据平台的不同,方框被填充,或在框内含x, value的属性值为1 ,若为清除状态,则方框为空, value的属性值为0。检查框的style属性为checkbox 。检查框典型的用于表明选项的状态或属性。通常检查框是独立的对象,如需要检查框可以与无线按钮交换使用。静态文本框:显示一个文本字符串的uicontrol,该字符串是由string属性值所确定的。静态文本框的style属性值为text 。静态文本框典型的用

15、于显示标志、用户信息及当前值。静态文本框之所以称之为静态,是因为用户不能动态的修改所显示的文本,文本只能通过改变string属性来更改。可编辑文本框:可编辑文本框允许用户动态的编辑或重新安排文本串。就像是使用文本编辑器或文字处理器一样。在string属性中有该属性。可编辑文本框的uicontrol的style属性值为edit 。典型的用在让用户输入文本串或特定值。滑标:或称滚动条包括三个独立的部分,分别是滚动槽或长方形区域,代表有效对象值范围;滚动槽内的指示器,代表滑标当前值;以及在槽的两端的箭头。滑标的style的属性值为slider。滑标典型的用于从几个值域范围内选定一个。滑标值有三种方式

16、设定,方法一:鼠标指针指向指示器,移动指示器。拖动鼠标是,要按住鼠标按钮,当指示器位于期望位置后,松开鼠标。方法二:当指针处于槽中但在指示器的一侧时,单击鼠标按钮,指示器按该侧方向移动距离约为整个值域范围的10%;方法三:在滑标无论哪端点击鼠标箭头,指示器沿着箭头的方向移动大约为滑标范围的1%,滑标通常与所用文本uicontrol对象一起显示标志,当前滑标值及值域范围。弹出式菜单:典型的用于向用户提出互斥的一系列选项清单,让用户选择。弹出式菜单不受菜单条的限制,可位于图形窗口的任何位置, style属性是popupmenu。当关闭时弹出式菜单以矩形或按钮的形式出现,按钮上含有当前选择的标志,在

17、标识的右侧有一个向下的箭头或凸起的小方块来表明uicontrol对象是一个弹出式菜单,当指针处在弹出式uicontrol之上并按下鼠标时,出现其它选项。移动指针到不同的选项,松开鼠标就关闭弹出式菜单,显示新的选项。框架:框架uicontrol对象仅是带色彩的矩形区域。框架提供了视觉的分隔性。框架典型的用于组成无线按钮或其他uicontrol对象。在其他对象放入框架之前,框架应事先定义。否则,框架可能覆盖控制框使他们不可见。脚本与函数脚本文件似乎成了当然的选择。在脚本中,所有的命令都在工作窗口执行,因此随时可以随时使用所有的MATLAB函数和对象。将信息传给回调函数没有任何困难。在这里有几点权衡

18、,首先,当所有的变量都可以利用时,工作空间充斥了变量名和变量值,即使它们不再有用。其次,如果用户使用clear命令,重要的对象句柄就可能丢失。另一个缺点是:用脚本文件定义回调字符串可能变得十分复杂。另一个问题是,脚本文件比函数文件运行的要慢,脚本文件在第一次运行时要编译。最后一点,脚本文件没有函数文件灵活。函数可以接受输入参量并返回值。因此,函数可作为其他函数的参变量。独立的回调函数,建立GUI函数的一个有效地方法是编写独立的回调函数,专门执行一个或者多个回调。函数使用的对象句柄和其他的变量可以作为参量传递,必要时回调函数可返回值。递归函数调用利用单独的M文件并递归调用该文件,既可以避免多个M

19、文件的复杂性,又可以利用函数的优点。使用switches或if elseif 语句,可将回到函数装入调用函数内,通常这样一种调用的结构为 function guifunc(switch)其中switch确定为执行那个函数开关的参量,它可以是字符串, startup, close,seccolor,也可以是代码或数字。全局变量global,可用在函数中,使某些变量对GUI 函数的所有部分都可用,全局变量是在函数的公共区说明,因此整个函数以及对函数的递归调用都可以利用全局变量。调试GUI M文件回调字符串在命令窗口工作空间中计算并执行的。这个情况对编写和调用GUI函数和脚本文件有着隐含的意义,回调

20、字符串可以很复杂,尤其是在脚本文件中,这为句法错误提供了很多机会,记录单引号、逗号、括号是令人头痛的事。如果出现了句法错误,MATLAB给出提示;只要对象的callback属性值是一个真正的文本串,MATLAB就认可了,只有当对象被激活并将回调字符串传给eval时,才检查回调字符串内部的句法错误。这样让用户定义回调字符串,它涉及未曾定义过的对象句柄和变量,这是编写互相参照的程序更容易。但是每个回调函数必须分别测试,保证回调字符串是合法的MATLAB命令,并且回调字符串涉及的所有变量可在命令窗口工作空间中是可利用的。将回调函数M文件一样编程或像GUI函数本身内的开关一样编程,就可以不运行整个GU

21、I函数而对各个回调进行改变或测试。因此,回调字符串是在命令窗口工作空间中而不是在函数本身内计算,在函数和各回调函数之间传递数据就变得十分复杂。4、各个功能模块的主要实现程序图像的读入和显示图像的读入:A=imread(FILENAME,FMT)FILENAME 指定图像文件的完整路径和文件名,FMT为图像文件的格式对应的标准扩展名。图像的显示:imshow(A,low high)A为要显示的图像矩阵。low high为指定显示灰度图像的灰度范围。高于high的像素被显示成白色;低于low的像素被显示成黑色;介于High和low之间的像素被按比例拉伸后显示为各种等级的灰色。点击图1界面上的读入按

22、钮后,执行的是选择图片的程序,程序代码如下:function Untitled_4_Callback(hObject, eventdata, handles)% hObject handle to Untitled_4 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)global im %定义全局变量filename,pathname=uigetfile(*.jpg;*.b

23、mp;*.gif,pleasechoose a picture!); %获 取图片str=pathname filename;%将文件名和目录名组合成一个完整的路径im=imread(str);axes(handles.axes1); %设置当前操作的坐标轴为axes1imshow(im);title(原图 像 )格式转换图像的写入:imwrite(A,FILENAME,FMT)FILENAME参数指定文件名。FMT为保存文件采用的格式。格式转换:imwrite(A,FILENAME,FMT)FMT为所要转换得到的图片格式。转换为jpg格式点击转换格式菜单中的转换为jpg格式按钮,执行的是将图

24、像转换为jpg格式的图像,程序代码如下:function jpg_Callback(hObject, eventdata, handles)% hObject handle to jpg (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)global imfigureimwrite(im,jpg格式.jpg,jpg)imshow(im)title(jpg格式图像)转换为bmp

25、格式点击转换格式菜单中的转换为bmp格式按钮,执行的是将图像转换为bmp格式的图像,程序代码如下:function bmp_Callback(hObject, eventdata, handles)% hObject handle to bmp (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)global imfigureimwrite(im,bmp格式.bmp,bmp)i

26、mshow(im)title(bmp格式图像)转换为tif格式点击转换格式菜单中的转换为tif格式按钮,执行的是将图像转换为tif格式的图像,程序代码如下:function tif_Callback(hObject, eventdata, handles)% hObject handle to tif (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)global imfig

27、ureimwrite(im,tif格式.tif,tif)imshow(im)title(tif格式图像)图像的灰度变换照片或电子方法得到的图像,常表现出低对比度即整个图像偏亮或偏暗,为此需要对图像中的每一像素的灰度级进行标度变换,扩大图像灰度范围,以达到改善图像质量的目的。这一灰度调整过程可用imadjust( )函数实现18。灰度变换:A=rgb2gray(FILENAME,FMT)FILENAME 指定图像文件的完整路径和文件名,FMT为图像文件的格式对应的标准扩展名。点击图1界面上的灰度变化按钮,执行将图片进行灰度变换处理,程序代码如下:function Untitled_10_Call

28、back(hObject, eventdata, handles)% hObject handle to Untitled_10 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)global im %使用全局变量,即用选择读入的图片global k %定 义全局变量k=rgb2gray(im);%matlab函数灰度化处理 %将灰度化后的k 显示在axes2 下axes(h

29、andles.axes2)imshow(k)title(灰度 变换 )灰度图像的二值化 :利用点运算的阈值理论将灰度图像变为二值图像, 为图像分析提供有利的条件, 它的操作是根据阈值T , 如果图像中某像素的灰度值小于阈值,则该像素的值设置为0 ,否则像素的值设为255 , 按下式对图像处理可以得到二值图像。19g ( x , y) = 255 f ( x , y) T (1)g ( x , y) =0 f ( x , y) T (2)点击图1界面上的二值化按钮,即执行图像二值化程序,代码如下:function Untitled_18_Callback(hObject, eventdata,

30、handles)% hObject handle to Untitled_18 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)global k %使用全局 变量bw=im2bw(k,0.5);axes(handles.axes2)imshow(bw);title(二值 化 )图像直方图数字图像的直方图是作为图像每一个灰度级的统计概率分布,它提供了图像灰度分布的概貌,直方图

31、增强技术正是利用修改给定图像直方图的方法来增强图像的,最后得到的图像增强程度取决于我们所采用的直方图。令变量r 和s 分别代表图像增强前后的像素灰度级, 相应灰度级分布的概率密度分别为Pr ( r) 、Ps ( s) 。为讨论方便, 假设像素灰度值已经归一化在区间0 , 1 , 在灰度级坐标中r = 0表示黑,r = 1 表示白。对区间0 ,1 内任一个r 值按变换函数:S = T( r) (1)进行变换, T( r) 满足两个条件: (1) 单值单调增加函数; (2)0 T( r) 1 。条件(1) 使灰度级保持从黑到白的次序,条件(2) 保证映射变换后像素灰度值在允许的范围内。从s 到r

32、的反变换为:r = T- 1 ( s) ,0 s 1 (2)同样,规定变量s 也满足条件(1) 和(2) 。由概率理论知,若Pr ( r) 和变换函数s = T( r) 已知, T - 1 ( s) 是单值单调增加函数,则有:Ps ( s) = Pr ( r) d rds r= T- 1 (s) (3)直方图增强技术就是通过变换函数T ( r) 控制图像灰度级的概率密度函数而改变图像的外貌。20MATLAB图像处理工具箱提供了生成并绘制图像的直方图函数imhist0。点击图1界面上的直方图按钮,即执行图像直方图程序,代码如下:function Untitled_19_Callback(hObj

33、ect, eventdata, handles)% hObject handle to Untitled_19 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)global kaxes(handles.axes2)imhist(k);title(直方 图 )图像锐化在图像识别中常需要突出边缘和轮廓信息,图像锐化即增强图像的边缘和轮廓。图像锐化模块通过各种方法使图像的边缘和轮

34、廓变得清晰,从而使其细节清晰。图像锐化主要用于增强图像的灰度跳变部分,主要通过运算导数或有限差分来实现。数字图像的锐化可分为线性锐化滤波和非线性锐化滤波。线性锐化滤波器线性高通滤波器是最常用的线性锐化滤波器。这种滤波器必须满足滤波器的中心系数为正数,其他系数为负数。线性高通滤波器3 3 模板的典型系数。如表1所示:-1 -1 -1-1 8 -1-1 -1 -1非线性锐化滤波器非线性锐化滤波就是使用微分对图像进行处理,以此来锐化由于邻域平均导致的模糊图像。图像处理中最常用的微分是利用图y 像沿某个方向上的灰度变化率。在数字图像处理中,数据是离散的,幅值是有限的,其发生的最短距离是在两相邻像素之间

35、。因此在数字图像处理中通常采用一阶差分来定义微分算子。其差分形式为:xf=f(x+1,y)-f(x,y)yf=f(x,y+1)-f(x,y)比较有名的微分滤波器算子包括Sobel 梯度算子、Prewitt 梯度算子和log 算子,等等。21点击图1界面上的图像锐化按钮,即执行图像锐化程序,代码如下:function Untitled_20_Callback(hObject, eventdata, handles)% hObject handle to Untitled_20 (see GCBO)% eventdata reserved - to be defined in a future v

36、ersion of MATLAB% handles structure with handles and user data (see GUIDATA)global kB=double(k);h=fspecial(log,5,0.5);I=imfilter(B,h,corr,replicate);axes(handles.axes2)imshow(uint8(abs(I),)title(图像 锐化 )图像边界提取图像边界对图像识别和计算机分析十分有用,边缘能勾画出目标物体,使观察者目了然;边缘蕴含了丰富的内在信息,是图像识别中重要的图像特征之一。图像边缘有方向和幅度两个特性。利用Matlab的

37、bwperim函数可以提取图像的边界周长。点击图1界面上的边界提取按钮,即执行图像边界提起程序,代码如下:function Untitled_21_Callback(hObject, eventdata, handles)% hObject handle to Untitled_21 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)global kI1=im2bw(k);a

38、xes(handles.axes2),imshow(I1);title(灰度 图 )I2=bwperim(I1);axes(handles.axes2),imshow(I2);title(边界提取 )图像边缘检测边缘检测是一种重要的区域处理方法,边缘是所要提取目标和背景的分界线,提取出边缘才能将目标和背景区分开来。如果一个像素落在边界上,那么它的邻域将成为一个灰度级变化的带。对这种变化最有用的两个特征是灰度的变化率和方向。MATLAB工具箱提供的edge( )函数可针对sobel算子、prewitt算子、Roberts算子、log算子和canny算子实现检测边缘的功能。基于灰度的图像分割方法也

39、可以用简单的MATLAB代码实现。点击图1界面的边缘检测按钮,即执行图像边缘检测程序,代码如下:function Untitled_22_Callback(hObject, eventdata, handles)% hObject handle to Untitled_22 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)global imG=rgb2gray(im);BW

40、=edge(G,sobel);axes(handles.axes2)imshow(G)title(灰度 图 )axes(handles.axes2)imshow(BW)title(边缘检测 )图像取反这个主要是GRB的三原色的问题,我们只需将我们的图片读入进去,然后进行255- 读入图片的像素值,然后再加1,之后再输出图片就会得到取反后的图片。function Untitled_23_Callback(hObject, eventdata, handles)% hObject handle to Untitled_23 (see GCBO)% eventdata reserved - to b

41、e defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)global im;a=double(im);a=256-1-a;a=uint8(a);axes(handles.axes2);imshow(a);title(图像求反 )在主界面中还有一个button就是 退出这个主要是方便用户可以直接点击退出的,下面是退出的代码:function pushbutton3_Callback(hObject, eventdata, handles)% hObject

42、 handle to pushbutton3 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)selection=questdlg(是否关闭,get(gcf,Name),窗口? , . Close ,get(gcf,Name),.,是 ,否, 是);%当选择退出按钮时,得出一个问是否确定关闭的框if strcmp(selection,否)return; elseclc; %

43、当选择关闭时,清空所有matla输入面上的所有错误信息,同时关闭图像窗口clear all;delete(gcf);End保存的代码是:function Untitled_6_Callback(hObject, eventdata, handles)% hObject handle to Untitled_6 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)sFileNam

44、e sFilePath=uiputfile(*.jpg,JPEG-Files (*.jpg); .*.*,All Files (*.*),保存图像文件 ,untitled.jpg);if isequal(sFileName,sFilePath,0,0)sFileFullName=sFilePath sFileName;axes(handles.axes2);saveas(gca,sFileFullName,jpg);elsemsgbox(你按了取消 键!, 保存失败);end5、调试与测试灰度化图像的二值化图像锐化边缘提取边缘检测图像取反还有图像的保存的功能但是我出现了一个问题,一直没有解决,

45、就是在图片保存的时候,并不是保存的第二个axes2中的图片而是整个对话框,湿了很多种方法都是没有用,让我很是郁闷,希望老师看个整个之后将我的问题告诉我谢谢,我邮箱。6、课程设计总结与体会这次的课程实验让我懂了这个matlab 的一些编程手法,而且发现这个matlab已经将我们所用到的很多函数都封装在其中,我们只需要调用就好了,但是我们还需要注意的就是我们不能仅仅调用函数就可以了,还需要我们理解这些函数,只有理解了这个函数我们才能更好的运用起来。在这个学习的期间我与我的小伙伴们相互讨论,取得一定的效果,我将我的只是分享给他们,他们将他们的知识分享给我,使得我的编程过程还是比较快的。在不断调试我自

46、己的程序的时候,我还发现了我自己程序的很多漏洞,我自己一个人慢慢的专研,最后还好有了结果,但是在我的程序中还是有一些问题,我自己是在解决不了,问了同学,同学们也表示不会,我也是纠结了很久,我希望老师在看了之后能给我个建议,谢谢。然后就是这次自己编写程序的快感让我对matlab升起了兴趣。七、参考文献1. 朱富丽 河南商业高等专科学校现代教育与实验中心 20102. 高 娜,陶 慧 Matlab在数字图像处理中的应用 河南理工大学 20053. 袁怡圃 刘怀如 基于MATLAB的数字图像处理教学软件包的设计 20094. 崔文 浅析MATLAB在数字图像处理中的应用 洛阳大学 20065. 张国琴,吴周桥 MATLAB 在数字图像处理教学中的应用 武汉科技学院 20056. 郑继刚 MATLAB在数字图像处理中的应用 保山学院 2009

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 网络科技 > 行业软件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报