基于MATLAB GUI的数字图像处理_第1页
基于MATLAB GUI的数字图像处理_第2页
基于MATLAB GUI的数字图像处理_第3页
基于MATLAB GUI的数字图像处理_第4页
基于MATLAB GUI的数字图像处理_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、数字图像处理课程论文基于matlab GUI的彩色图像处理技术姓名: 学号: 班级: 一 概述图形用于界面(Graphical User Interfaces,GUI)是提供人机交互的工具和方法。GUI是包含图形对象(如窗口、图标、菜单和文本)的用户界面。以某种方式选择或激活这些对象时,通常会引起动作或者发生变化。一个设计优秀的GUI能够非常直观的让用户知道如何操作MATLAB界面,并且了解设计者的开发意图。MATLAB的GUI为开发者提供了一个不脱离MATLAB的开发环境,有助于MATLAB程序的GUI集成。这样可以使开发者不必理会一大堆烦杂的代码,简化程序,但是同样可以实现向决策者提供图文

2、并茂的界面,甚至达到多媒体的效果。可以说MATLAB提供了一个简便的开发环境,可以让开发者快速上手,提高了开发者的工作效率。二 完成任务所谓的GUIDE就是图形用户界面开发环境(Graphical User Interface Development Environment),它向用户提供了一系列的创建用户图形界面的工具。这些工具大大简化了GUI设计和生成的过程。通过GUIDE完成一下任务:1)用户可以通过菜单栏和按钮进行图像的读取,保存与退出。 2)设计图形用户界面,让用户能够通过按钮对图像进行灰度变化变成灰度图。3)通过滑块,用户可以对图像的亮度进行调整5) 通过按钮,用户可以查看图片的直

3、方图。6)能对图像加入各种椒盐噪声,并通过滤波法去除。7)通过选项,用户可以查看图片的边缘检测图,界面中可供选择的检测方式有roberts、sobel、prewitt、log、canny五种,当用户选择orginal时显示原图。三设计过程 1.总体设计通过GUIDE向导完成界面功能的布局,根据所需完成功能用户界面布局如下图1。图1用户功能界面2.控件设计及程序实现 2.1 打开图片,保存图片,退出。拖拽三个个按钮放在合适的位置,双击按钮修改字体大小、颜色等,在function Open_Callback(hObject, eventdata, handles)函数下添加如下程序即可完成打开图片

4、控件功能。filename,filepath=uigetfile('*.bmp;*.jpg;*.png;*.jpeg;*.tif;*gif;*Image files','');if isequal(filename,0)| |isequal(filepath,0) return;endstr =filepath,filename;x=imread(str);axes(handles.axes1)imshow(x);在function Save_Callback(hObject, eventdata, handles)函数下添加如下程序即可完成保存图片控件功能。g

5、lobal bnew_f_handle=figure('visible','off');new_axes=copyobj(handles.axes2,new_f_handle); set(new_axes,'units','default','position','default');filename,pathname fileindex=uiputfile('*.jpg''*.bmp''*.png','save picture as'

6、);if filename returnelse file=strcat(pathname,filename);switch fileindex case 1 print(new_f_handle,'-djpeg',file); case 2 print(new_f_handle,'-dbmp',file); case 3 print(new_f_handle,'-dpng',file)endenddelete(new_f_handle);在function Exit_Callback(hObject, eventdata, handles)函数

7、下添加如下程序即可完成退出控件功能。clcclose allclose(gcf)clear图2.1 打开一幅图2.2.灰度变换按钮。先读取一幅图片显示在左边区域,通过按钮将灰度图显示在右边域。在function Rgb2gray_Callback(hObject, eventdata, handles)函数下添加如下代码即可完成灰度变化功能。global xaxes(handles.axes2)y=rgb2gray(x);imshow(y);图2.2 灰度变化图2.3 图像增强。 先读取一幅图片显示在左边区域,通过按钮将灰度图显示在右边域。可通过按钮“图像增强”或者滑块改变改变图像的强度。在f

8、unction Increase_Callback(hObject, eventdata, handles)函数下添加如下代码即可完成图像增强按钮global xx1=imadjust(x,0.3 0.7,0 1,0.5);axes(handles.axes2)imshow(x1);图2.3.1图像增强在function Untitled_4_Callback(hObject, eventdata, handles)函数下添加如下代码即可完成图像增强滑块global xvalue = get(handles.slider, 'Value');x1=imadjust(x,0.3

9、0.7,0 1,'value');axes(handles.axes2)imshow(x1);图2.3.2改变滑块图像2.4 噪声抑制按钮 通过打开图片按钮打开一幅图片显示在左边区域,当用户点击噪声抑制时左边图显示家了椒盐噪声的图,右边区域显示噪声滤除后的图。在function Noise_Callback(hObject, eventdata, handles)函数下添加如下代码即可完成。global xglobal py=rgb2gray(x);p = imnoise(y,'salt & pepper',0.1); %加10%的椒盐axes(hand

10、les.axes1);imshow(p);g=medfilt2(p);axes(handles.axes2);imshow(g);图2.4 噪声抑制效果图2.5 统计直方图按钮先读取一幅图片显示在左边区域,通过按钮将灰度图显示在右边域。用户通过该按钮显示图片的统计直方图。在function Compression_Callback(hObject, eventdata, handles)函数下添加如下代码即可完成。global xh=rgb2gray(x);axes(handles.axes2);imhist(h);图2.5 直方图显示2.6 边缘检测选择 先读取一幅图片显示在左边区域,通过按

11、钮将灰度图显示在右边域。用户选择选择不同的边缘检测方式,右侧显示不同的边缘图。在function SlectchangeFuc_SelectionChangeFcn(hObject, eventdata, handles)函数下添加如下代码即可实现。global xglobal b str=get(hObject,'string'); axes(handles.axes2);y=rgb2gray(x);dx=double(y);switch str case'Roberts' R=edge(dx,'roberts'); imshow(R); ca

12、se'Sobel' S=edge(dx,'sobel'); imshow(S); case'Prewitt' P=edge(dx,'prewitt'); imshow(P); case'Log' L=edge(dx,'log'); imshow(L); case'Canny' C=edge(dx,'canny'); imshow(C); case'Orginal' imshow(y); end图2.6.1 Robrets检测图2.6.2 Soble检测

13、图2.6.3 Canny检测图2.6.4 Log检测图2.6.5 Perwitt检测四.总结在完成本次课程论文的过程中,在对数字图像处理中的理论与实现后的效果相结合的同时,使我对数字图像处理有了更进一步的理解,本次论文只是实现了图像处理中的一些简单的要求,更深层次的要求需要对理论有非常好的掌握,并不是简简单单的可以调用函数可以实现的。与此同时,本次课程结课论文让我还对matlab有了进一步的理解,本次论文是基于matlab gui 完成对图像的各种处理,用户在一个可视化的界面上进行简简单单的点击点击鼠标即可完成对图像的各种处理,并能把处理后的图像保存到本地,这样的编程效果是几乎所有人都愿意接受的,不用在去面对一行行的程序代码,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论