MATLAB课程设计-基于GUI平台设计图片处理系统
- 格式:doc
- 大小:857.00 KB
- 文档页数:41
第23卷第5期2020年5月V )l.23 No.5May 2020软件工程 SOFTWARE ENGINEERING文章编号:2096-1472(2020)-05-59-04DOI:10.19644/ki.issn2096-1472.2020.05.017基于MATLAB GUI 图像处理系统的设计与实现厉俊(浙江理工大学信息学院,浙江杭州310018)冋****************摘 要:MATLAB 作为算法开发及数据可视化的交互式工具,在数字图像处理方面应用广泛,并集成了具有多种算法的图像处理工具箱。
本文基于MATLAB 图像用户界面(GUI)和图像处理工具箱设计实现了一款图像处理系统,该系统可实现图像的运算、变换、分割、改善、形态学处理、压缩编码等内容,并通过综合实例阐述了本系统在图像识别中 的应用,使图像处理可视化更加直观,便捷。
多次实践表明,本系统具有良好的实用性、交互性、移植性,易于后期模式识别和机器视觉相关应用的扩展研究。
关键词:图像处理系统;MATLAE GUI ;数字图像处理;图像识别中图分类号:TP242 文献标识码:ADesign and Implementation of the MATLAB GUI Image Processing SystemLI Jun(School of I nformation , Zhejiang Sci-Tech University , Hangzhou 310018, China)*****************Abstract: As an interactive tool for algorithm development and data visualization, MATLAB is widely used in digital image processing and integrates image processing toolbox with different algorithms. Based on Graphical User Interface(GUI) of MATLAB and the image processing toolbox, this paper designs and implements an image processing system, whichcan realize the operation, transformation, segmentation, improvement, morphological processing, compression and coding of images, and expounds the application of the system in image pattern recognition through a comprehensive example, making the image processing visualization more intuitive and convenient. Many practices show that the system has goodpracticability, interactivity and portability, and it is also helpful for further research on pattern recognition and machine visionrelated applications.Keywords: image processing system; MATLAB GUI; image processing; image pattern recognition换、压缩编码的过程,该技术应用在人类生活和工作的各个方面,例如生物医学、军事公安、科学可视化等[3]。
基于MATLAB GUI图像处理系统的设计与实现MATLAB是一种功能强大的图像处理工具,其GUI(图形用户界面)设计及实现可以使图像处理更加直观和简单。
本文将介绍基于MATLAB GUI图像处理系统的设计与实现,包括系统的功能设计、界面设计及实现步骤等内容,旨在为使用MATLAB进行图像处理的读者提供一些参考和帮助。
一、系统功能设计1. 图像基本处理功能:包括图像的读取、显示、保存,以及图像的基本操作(如缩放、旋转、翻转等)。
2. 图像增强功能:包括亮度、对比度、色彩平衡调整,以及直方图均衡化、滤波等操作。
3. 图像特征提取功能:包括边缘检测、角点检测、纹理特征提取等。
4. 图像分割功能:包括阈值分割、边缘分割、区域生长等。
5. 图像识别功能:包括基于模板匹配、人工智能算法的图像识别等。
6. 图像测量功能:包括测量图像中物体的大小、长度、面积等。
二、界面设计1. 主界面设计:主要包括图像显示区域、功能按钮、参数调节控件等。
2. 子功能界面设计:根据不同的功能模块设计相应的子界面,以便用户进行更详细的操作。
3. 界面美化:可以通过添加背景图案、调整按钮颜色、字体等方式美化界面,提高用户体验。
三、实现步骤1. 图像显示与基本处理:通过MATLAB自带的imread()函数读取图像,imshow()函数显示图像,并设置相应的按钮实现放大、缩小、旋转、翻转等基本操作。
2. 图像增强:利用imadjust()函数实现对图像亮度、对比度的调整,利用histeq()函数实现直方图均衡化,利用imfilter()函数实现图像的滤波处理。
3. 图像特征提取:利用edge()函数实现图像的边缘检测,利用corner()函数实现角点检测,利用texture()函数实现纹理特征提取。
4. 图像分割:利用im2bw()函数实现阈值分割,利用edge()函数实现边缘分割,利用regiongrowing()函数实现区域生长。
基于MATLAB GUI图像处理系统的设计与实现本文将介绍一个基于MATLAB GUI的图像处理系统的设计和实现。
该系统提供了一系列常用的图像处理功能,包括图像滤波、边缘检测、图像变换、形态学处理、颜色空间转换等。
通过该系统,用户可以方便地对图像进行处理和分析。
首先,需要创建一个MATLAB GUI窗口,用于显示图像和进行图像处理。
接着,通过调用MATLAB内置的图像处理函数来实现各种功能。
下面是一些常用功能的实现方法:1.图像读取:使用imread函数来读取图像文件,并在GUI窗口中显示。
2.图像滤波:使用imfilter函数来实现各种滤波器,如高斯滤波、中值滤波等。
3.边缘检测:使用边缘检测算法(如Sobel算子、Canny算法等)来提取图像中的边缘信息。
4.图像变换:使用imresize函数来改变图像的大小,使用imrotate函数来旋转图像等。
5.形态学处理:使用imopen、imclose等形态学处理函数来对图像进行形态学分析和处理。
6.颜色空间转换:使用rgb2gray、rgb2hsv等函数来进行颜色空间的转换。
在实现这些功能时,可以使用MATLAB的图像处理工具箱中的函数,也可以自己编写函数来实现特定的处理功能。
除了提供以上的基本功能,该系统还可以通过添加菜单栏、工具栏等交互元素,以增强用户体验。
例如,添加一个“保存”菜单项,使用户可以将处理后的图像保存到本地,或添加一个“撤销”按钮,使用户可以取消上一次的处理操作等。
总之,通过将MATLAB GUI和图像处理技术相结合,我们可以很方便地开发出一个图像处理系统,并提供常用的功能和交互元素,使用户可以快速地对图像进行处理和分析。
同时,我们也可以根据实际需要,自行扩展和改进该系统,以适应更加复杂的图像处理应用场景。
基于matlabgui课程设计一、课程目标知识目标:1. 学生能理解MATLAB GUI设计的基本原理,掌握相关函数和编程技巧。
2. 学生能运用MATLAB GUI设计出符合课程要求的数据处理和分析界面。
3. 学生了解MATLAB在工程领域的应用,以及GUI在数据可视化、交互式操作等方面的优势。
技能目标:1. 学生能独立完成MATLAB GUI界面的设计和编程,实现数据处理、图像显示等功能。
2. 学生能通过MATLAB GUI设计,实现与用户的有效交互,提高数据处理和分析的效率。
3. 学生具备解决实际问题时,运用MATLAB GUI进行数据分析和处理的能力。
情感态度价值观目标:1. 培养学生主动探究、勇于创新的科学精神,激发学生对编程和工程领域的兴趣。
2. 培养学生团队协作、共同解决问题的能力,提高沟通与表达的自信心。
3. 增强学生对我国科技发展的自豪感,认识到科技对国家和社会发展的贡献。
课程性质:本课程为选修课,以实践为主,结合理论教学,培养学生的动手能力和实际应用能力。
学生特点:学生具备一定的MATLAB基础,对编程和工程领域有一定兴趣,喜欢探索新知识。
教学要求:结合课本内容,注重实践操作,引导学生主动探究,关注学生的个体差异,提高教学效果。
将课程目标分解为具体的学习成果,便于教学设计和评估。
二、教学内容本课程教学内容主要包括以下几部分:1. MATLAB GUI设计原理:介绍MATLAB GUI设计的基本概念、组成元素和设计流程,使学生了解GUI设计的基本框架。
2. MATLAB GUI编程基础:讲解MATLAB GUI编程的相关函数和语法,包括 GUIDE 工具的使用,使学生掌握GUI编程的基本技巧。
3. 数据处理与分析界面设计:结合课本内容,教授如何使用MATLAB GUI设计数据处理和分析界面,涵盖数据输入、处理、显示和保存等功能。
4. 实践项目:安排多个实践项目,让学生动手设计和实现不同的数据处理和分析界面,提高学生的实际操作能力。
基于MATLAB GUI图像处理系统的设计与实现二、图像处理系统设计1.系统功能需求(1)图像读取:能够读取多种格式的图像文件,包括jpg、png等常见格式;(2)图像显示:能够在界面上显示读取的图像,并具有放大、缩小、移动等功能;(3)图像处理:能够对图像进行一系列的处理操作,比如灰度化、边缘检测、滤波等;(4)结果显示:能够显示图像处理的结果,并支持保存处理后的图像。
2.系统设计在MATLAB中,可以通过GUIDE工具来进行GUI的设计。
我们需要设计一个主界面,包括菜单栏、工具栏和图像显示区域,并且在图像显示区域中嵌入一些常用的图像处理工具按钮,比如灰度化、边缘检测、滤波等。
然后,根据功能需求,设计相应的处理函数,并将它们与界面中的按钮进行关联。
添加图像读取、保存等功能,并对整个界面进行布局和美化。
(图1:图像处理系统主界面设计)2.系统功能实现(1)图像读取与显示:我们通过添加“打开图像”菜单和工具栏按钮来实现图像的读取功能,并将图像显示在图像显示区域中;(2)图像处理:我们在图像显示区域中添加了一些常用的图像处理工具按钮,比如灰度化、边缘检测、滤波等,通过这些按钮来触发相应的处理函数;(3)结果显示与保存:处理后的图像会显示在图像显示区域中,并且可以通过“保存图像”菜单和工具栏按钮来保存处理后的图像。
3.系统功能实现代码示例(1)图像读取与显示:```matlab% --- Executes on button press in btnOpenImage.function btnOpenImage_Callback(hObject, eventdata, handles)[filename, pathname] = uigetfile({'*.jpg;*.png;*.bmp', 'Supported Image Files';'*.*', 'All Files'}, 'Open Image');if ~isequal(filename, 0)handles.imgOriginal = imread(fullfile(pathname, filename));axes(handles.axesImage);imshow(handles.imgOriginal);endguidata(hObject, handles);```(2)图像处理:(3)结果保存:四、系统功能演示通过以上设计和实现,我们完成了基于MATLAB GUI的图像处理系统。
目录1.设计目的 (3)2.题目分析 (3)3.总体设计 (3)4.具体设计 (5)5.结果分析 (34)6.心得体会 (34)7.附录代码 (36)1、设计目的:综合运用MATLAB工具箱实现图像处理的GUI程序设计,利用MATLAB图像处理工具箱,设计和实现自己的Photoshop 。
2、题目分析利用matlab的GUI程序设计一个简单实用的图像处理程序。
该程序应具备图像处理的常用功能,以满足用户的使用。
现设计程序有以下基本功能:1)图像的读取和保存。
2)设计图形用户界面,让用户能够对图像进行任意的亮度和对比度变化调整,显示和对比变换前后的图像。
3)设计图形用户界面,让用户能够用鼠标选取图像感兴趣区域,显示和保存该选择区域。
4)编写程序通过最近邻插值和双线性插值等算法将用户所选取的图像区域进行放大和缩小整数倍的操作,并保存,比较几种插值的效果。
5)图像直方图统计和直方图均衡,要求显示直方图统计,比较直方图均衡后的效果。
6)能对图像加入各种噪声,并通过几种滤波算法实现去噪并显示结果。
7)额外功能。
3、总体设计图一软件的总体设计界面布局如上图所示,主要分为2个部分:显示区域与操作区域。
显示区域:显示载入原图,以及通过处理后的图像。
操作区域:通过功能键实现对图像的各种处理。
在截图中可见,左部为一系列功能按键如“还原”、“撤销”、“截图”等等;界面正中部分为图片显示部分,界面中下方为系列功能切换选择组。
设计完成后运行的软件界面如下:图二与图一先比,运行后的界面更为简洁。
利用“编辑”菜单可调出相应的功能键。
例如:4、具体设计现介绍各个功能模块的功能与实现。
4.1菜单栏的设计。
通过Menu Editor创建如下菜单,通过以下菜单来控制显示或隐藏功能按键以“编辑”菜单中“图像变形”中的“图像翻转”为例说明实现用户界面功能键“图像翻转”的显示与隐藏。
实现该功能的程序段如下:function tuxiangfanzhuan_Callback(hObject, eventdata, handles)% hObject handle to tuxiangfanzhuan (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)set(handles.uipanel7,'Visible','on');if strcmp(get(gcbo, 'Checked'),'on')set(handles.uipanel7,'Visible','on');set(gcbo, 'Checked', 'off');set(handles.uipanel7,'Visible','off');elseset(gcbo, 'Checked', 'on');end该段程序通过设置“图像翻转”功能键对应的句柄uipanel7中的“Visible”属性的开关来实现该功能键的显示隐藏。
基于MATLAB GUI图像处理系统的设计与实现摘要:随着计算机技术的不断发展,图像处理技术在各个领域得到了广泛应用,并且在医学影像、安全监控、人脸识别等领域取得了重大突破。
本文将以MATLAB为工具,设计并实现一个基于MATLAB GUI的图像处理系统,介绍了系统的设计思路、实现过程以及功能特点,并通过实例验证了系统的有效性和可行性。
2. 系统设计2.1 系统需求分析系统设计之初,首先需要明确系统的功能需求,包括但不限于图像读取、图像显示、图像处理和结果输出等。
在此基础之上,进一步明确具体的图像处理功能,如灰度化、滤波、边缘检测、形态学处理等。
还要考虑用户界面的友好性和易用性,以及系统的稳定性和实时性。
2.2 系统架构设计基于以上需求分析,我们可以设计出系统的整体架构。
采用面向对象的编程思想,将系统划分为图像处理模块、图像显示模块、用户交互模块和主控制模块等,并通过事件驱动的方式实现它们之间的协同工作。
图像处理模块负责具体的图像处理算法实现,图像显示模块负责显示处理前后的图像效果,用户交互模块负责接收用户输入与指令,主控制模块负责整个系统的流程控制。
2.3 GUI界面设计在系统的设计过程中,GUI界面的设计显得尤为重要。
MATLAB提供了丰富的GUI设计工具,包括按钮、菜单、对话框、滑动条等,可以方便地构建出美观、直观的用户界面。
在设计过程中,需要注意界面的布局合理、控件的分布清晰、操作的简单便捷、信息的反馈明确等,以提升用户体验和系统的易用性。
3. 系统实现3.1 图像处理算法实现在系统设计的基础上,我们可以开始着手实现系统中的各个模块。
首先是图像处理算法的实现,MATLAB提供了大量的图像处理函数和工具包,如imread、imshow、imfilter、edge等,可以快速实现各种图像处理功能。
例如实现灰度化可以使用im2gray函数,实现滤波可以使用imfilter函数,实现边缘检测可以使用edge函数等。
基于MATLAB GUI图像处理系统的设计与实现摘要:本文主要介绍了基于MATLAB GUI的图像处理系统的设计与实现过程。
文章介绍了图像处理的基本概念和相关技术,然后详细阐述了MATLAB GUI的设计原理和实现方法。
接着,本文对图像处理系统的功能模块进行了详细的设计与实现,包括图像的读取、显示、处理和保存等功能。
文章对系统进行了实验测试,并对系统的性能和稳定性进行了评估。
通过本文的研究和实践,可为MATLAB GUI图像处理系统的设计与实现提供一定的参考和指导。
一、引言二、图像处理的基本概念和相关技术图像处理是对图像进行获取、处理、分析和识别等一系列操作的过程。
在图像处理中,常用的技术包括图像采集与存储、图像增强、图像复原、图像压缩、图像分割、图像识别等。
这些技术在医学影像、遥感图像、安防监控等领域有着广泛的应用。
三、MATLAB GUI的设计原理和实现方法MATLAB GUI是一种基于MATLAB的图形用户界面设计工具,可以方便地实现交互式的图形界面。
MATLAB提供了丰富的GUI设计函数和工具,包括控件的设计与布局、事件处理、界面调整等功能。
通过这些工具,可以方便地设计和实现各种类型的图像处理系统。
在设计MATLAB GUI时,主要包括以下几个步骤:1. 设计GUI界面:包括控件的选择和布局、界面的美化和调整等操作。
2. 编写回调函数:对于每个控件的事件,需要编写相应的回调函数,定义其处理逻辑和功能。
3. 运行GUI程序:将设计好的GUI程序运行在MATLAB平台上,测试其性能和稳定性。
通过以上步骤,可以方便地设计和实现一个交互式的图像处理系统。
四、图像处理系统的设计与实现基于MATLAB GUI,设计并实现了一个简单的图像处理系统,主要包括图像的读取、显示、处理和保存等功能。
具体的设计过程如下:2. 编写回调函数:对于每个控件的事件,需要编写相应的回调函数,定义其处理逻辑和功能。
对于文件读取按钮,编写了一个回调函数来实现图像的读取和显示功能;对于图像处理功能按钮,编写了不同的回调函数来实现图像的处理和保存功能。
基于Matlab GUI的数字图像处理仿真平台的设计数字图像处理( digital image processing )是指使用数字化手段对图像进行处理、分析及解释的技术,现代生物、医学、遥感、地质、航天等领域都离不开图像处理技术。
在数字化程度越来越高的今天,数字图像处理已经成为一项重要的基础研究和实用技术。
为了更好地进行数字图像处理,需要建立一个仿真平台。
Matlab是一款强大的数值计算软件,具有强大的数学、图像和信号处理功能,因此,利用Matlab开发数字图像处理仿真平台可以提高系统的稳定性和可靠性。
Matlab中的GUI设计工具箱可以方便地创建原型界面,程序员可以在此基础上进行修改和改良,实现数字图像处理仿真平台。
首先,将Matlab图像处理工具箱中的常见图像处理方法集成到仿真平台上。
包括常见的滤波器、变换器、分割器、重建器等。
通过添加众多的工具和算法,程序员可以根据不同的应用场景选择不同的图像处理方法,实现数字图像处理仿真平台的多样性。
其次,设计仿真平台的图形用户界面。
通过使用Matlab的GUI工具箱,可以简单直观地设计出一个优雅美观的图形界面。
在界面上,用户可以进行图像的读取、打开、保存等处理操作,也可以对图像进行调整、滤波、变换等处理,最后生成处理过的新图像。
最后,加入高级功能,如多线程并发处理、分布式计算等。
控制卡、极低噪声电源等硬件设备的使用也可以改善仿真平台的性能,同时增强了仿真平台的实用性。
在设计数字图像处理仿真平台的过程中,还需要注重用户的需求和人性化设计,方便用户使用。
例如,提供详细的使用教程和使用说明,并有友好的交互设计和错误提示等。
因此,构建一个数字图像处理仿真平台不仅需要有强大的技术支持,还需要拥有用心的设计和用户体验的理解。
总的来说,数字图像处理仿真平台的设计和实现应该考虑到系统的可靠性、性能和用户体验,同时更深入地考虑到任务的需求,努力在最短的时间内提供最好的服务。
基于MATLAB GUI图像处理系统的设计与实现MATLAB是一种常用的数学计算软件,可以进行科学计算、工程分析、数据分析、数据可视化等工作,而GUI(图形用户界面)则是一种以图形的形式呈现程序中的控件和信息的工具,能够方便用户进行操作和交互。
本文主要介绍基于MATLAB GUI图像处理系统的设计与实现。
1. GUI界面设计GUI界面设计要考虑美观与实用性,并根据图像处理的需要来设计控件和布局。
在本系统中,主要包括以下控件:1.1 菜单栏和工具栏菜单栏和工具栏是常用的程序界面设计元素,可以方便地打开和保存文件,进行图像处理操作。
菜单栏中包含“文件”、“编辑”、“操作”等选项,工具栏中包含“打开”、“保存”、“旋转”、“放大”、“缩小”等常用图像处理工具。
1.2 显示面板显示面板用于显示处理后的图像或原始图像。
在本系统中,显示面板包括原始图像、处理后图像和处理结果图像,用户可以对图像进行比较、观察和分析。
控制面板包含图像处理的参数和参数调节控件。
在本系统中,包括图像旋转角度、图像缩放比例、图像亮度调节、图像对比度调节、图像阈值等参数。
用户可以根据图像的实际情况和需求进行参数调节,以达到最优的处理效果。
2. 图像处理算法实现图像处理算法是图像处理系统的核心部分,对图像的处理效果和速度有着重要的影响。
在本系统中,主要包括以下算法:2.1 图像旋转图像旋转是通过旋转矩阵来实现的,MATLAB中提供了角度旋转和仿射变换两种方法。
在本系统中,旋转角度由用户自行调节。
对于超出图像界限的部分,可以通过图像插值方法进行处理,常用的方法有双线性插值、最邻近插值、双三次插值等。
2.3 图像亮度调节图像亮度调节是通过调整每个像素点的RGB值来实现的,可以通过分别调节红、绿、蓝三种颜色通道来调整整个图像的颜色。
在本系统中,提供了滑动条和控制按钮来实现对图像亮度的调节。
图像对比度调节是通过调整每个像素点的离均差来实现的。
具体地,对于每一个像素点i,其新的RGB值为(C[i]-m)*(127/f)+128,其中C是原始像素值,m是像素均值,f是最大离均差值。
MATLAB课程设计图片处理系统系别数学系专业信科班级071学生姓名张萌学号2007035034刘俊刚学号2007035040马明亮学号2007035018指导教师张水圣2009年12月1日目录一、课程设计题目 (3)二、课程设计分工 (3)三、课程设计目的 (3)四、课程设计内容 (3)五、系统软硬件环境 (3)六、系统的设计 (3)七、使用说明 (8)八、结束语 (11)九、参考文献 (11)附录 (11)一、课程设计题目:图像处理系统二、课程设计分工:组长:张萌组员:刘俊刚、马明亮分工情况:张萌:菜单设计、GUI设计、图像加解密函数编写、图像美容函数编写、论文刘俊刚:滤镜函数组的实现、图像函数组的实现、程序调试马明亮:图像运算函数的编写及其GUI设计、程序调试三、课程设计目的:1.进一步掌握和利用MATLAB进行程序设计的能力;2.初步掌握利用GUI开发一个小型实用系统的基本方法;3.学会调试一个较长程序的基本方法;4.掌握书写程序设计开发文档的能力(书写课程设计报告)。
四、课程设计内容:本图像处理系统是基于MATLAB的GUI平台,仿照Photoshop、Neo等图像处理软件制作而成的,是一个简易的图片处理系统。
其中以图像加解密、图像美容、图像锐化等方法为本系统特色。
图像加解密:采用密钥与图像分离的方法对图像加密。
图像美容:采用多个函数分别对图像色彩、明暗、对比度、饱和度等多个参数进行调节,适用于大多数图片。
图象锐化:采用多次迭代的方法实现。
五、系统的软硬件环境:1.系统的软件环境操作系统:Windows 95\Windows 98\Windows 2000\Windows XP 或更高。
安装软件:MA TLAB6p52.系统的硬件环境(1)CPU的最低配置为80586/133MHz,推荐使用586以上的处理器。
(2)容量至少为16MB的RAM,推荐为32MB以上内存。
(3)使用VGA或VGA以上的显示卡及高分辨率的显示器。
(4)除了配置鼠标、键盘和CD-ROM外,如果需要接入Internet,还需配置Modem或网卡。
六、系统的设计:1.GUI的设计1)Design.Fig2)PicMath.Fig2.菜单的设计文件—打开、保存、另存为、退出编辑—前进一步、后退一步图像—模式{..}、图像缩放{..}、调整{..}、图像旋转{..}、图像运算 滤镜—锐化{..}、模糊{..}、噪声处理{..}、边缘检测{..}、其他{..} 效果—人像美容、图像加密{..}帮助—关于3.功能的实现1)文件Design('Open_Callback',gcbo,[],guidata(gcbo))Design('Save_Callback',gcbo,[],guidata(gcbo))Design('OSave_Callback',gcbo,[],guidata(gcbo))Design('End_Callback',gcbo,[],guidata(gcbo))2)编辑Design('Untitled_9_Callback',gcbo,[],guidata(gcbo))Design('Untitled_10_Callback',gcbo,[],guidata(gcbo))3)图像模式Design('Rgb2gray_Callback',gcbo,[],guidata(gcbo))Design('Rgb2hsv_Callback',gcbo,[],guidata(gcbo))Design('Rgb2ycbcr_Callback',gcbo,[],guidata(gcbo))Design('Hsv2rgb_Callback',gcbo,[],guidata(gcbo))Design('Ycbcr2rgb_Callback',gcbo,[],guidata(gcbo))图像缩放Design('ZoomOn_Callback',gcbo,[],guidata(gcbo))Design('ZoomOff_Callback',gcbo,[],guidata(gcbo))调整Design('Inv_Callback',gcbo,[],guidata(gcbo))Design('Decolor_Callback',gcbo,[],guidata(gcbo))Design('AddAdjust_Callback',gcbo,[],guidata(gcbo))Design('Light2up_Callback',gcbo,[],guidata(gcbo))Design('Light2down_Callback',gcbo,[],guidata(gcbo))Design('rot180_Callback',gcbo,[],guidata(gcbo)) Design('rot90_Callback',gcbo,[],guidata(gcbo)) Design('rot270_Callback',gcbo,[],guidata(gcbo)) Design('fliplr_Callback',gcbo,[],guidata(gcbo)) Design('flipud_Callback',gcbo,[],guidata(gcbo))图像运算Design('PicMath_Callback',gcbo,[],guidata(gcbo)) 4)滤镜锐化Design('Sp_Callback',gcbo,[],guidata(gcbo)) Design('Laplacian_Callback',gcbo,[],guidata(gcbo)) 模糊Design('Bilinear_Callback',gcbo,[],guidata(gcbo)) Design('Bicubic_Callback',gcbo,[],guidata(gcbo)) Design('Meanx_Callback',gcbo,[],guidata(gcbo)) Design('Motion_Callback',gcbo,[],guidata(gcbo)) Design('Disk_Callback',gcbo,[],guidata(gcbo))噪声处理Design('Gaussian_Callback',gcbo,[],guidata(gcbo)) Design('SaltPepper_Callback',gcbo,[],guidata(gcbo)) Design('Speckle_Callback',gcbo,[],guidata(gcbo)) Design('Avg_Callback',gcbo,[],guidata(gcbo))边缘检测Design('Sobel_Callback',gcbo,[],guidata(gcbo)) Design('Prewitt_Callback',gcbo,[],guidata(gcbo)) Design('Canny_Callback',gcbo,[],guidata(gcbo))其他Design('Max_Callback',gcbo,[],guidata(gcbo)) Design('Min_Callback',gcbo,[],guidata(gcbo))5)效果Design('MB_Callback',gcbo,[],guidata(gcbo))图像加密Design('PicEncrypt_Callback',gcbo,[],guidata(gcbo))Design('PicOpen_Callback',gcbo,[],guidata(gcbo))6)帮助Design('About_Callback',gcbo,[],guidata(gcbo))七、使用说明:1.图像的打开文件—打开—选择图片2.图像的保存A.文件—保存(覆盖原图)B.文件—另存为—输入文件名3.图像的处理菜单直接选择4.图像的运算单击读取图片—输入运算常数—选择运算法则5.图像的加解密加密:单击图像加密解密:单击图像解密—选择密钥八、结束语:在本次课程设计中,使我的耐性有所增长,也让我看到了同学们之间的互相帮助与友爱,形成一股整体的趋势,我学会了忍耐,看到自己胜利的战果,我长长地舒了一口气,我完成了,那一瞬间,我很高兴,也明白了许多的道理。
这为我以后的人生之路是否会走好打下了坚定的基础,以致于在以后的求取过程中少走些弯路,也不致于因一些小挫折而迷失了自己的方向。
课程设计教会我很多的东西,平时不注意的细节,在课程设计中都有所注意,平时没看懂的东西,基本上都能看懂了。
同学们之间的友谊也更进了一步。
特别是在做课程设计时,同学们表现出来的那股热情,那种勤奋,是从来没有过的,课程设计后,我们发现我们对这门课程探索欲愈来愈深,因为它使我们产生了许多的疑惑,虽然书上讲了许多理论知识,但是对于这门学科光有理论而没有实践是不行的。
总之,对于这次课程设计的学习,命名我受益匪浅。
我发现对于这门学科人愈喜爱了,对知识的渴求愈来愈强烈。
九、参考文献:1、葛哲学,《精通MA TLAB6.5》,电子工业出版社,20082、Matlab中文论坛:/附录:程序清单:Main interface----Design.mfunction varargout = Design(varargin)% DESIGN M-file for Design.fig% DESIGN, by itself, creates a new DESIGN or raises the existing% singleton*.%% H = DESIGN returns the handle to a new DESIGN or the handle to% the existing singleton*.%% DESIGN('CALLBACK',hObject,eventData,handles,...) calls the local% function named CALLBACK in DESIGN.M with the given input arguments. %% DESIGN('Property','Value',...) creates a new DESIGN or raises the% existing singleton*. Starting from the left, property value pairs are% applied to the GUI before Design_OpeningFunction gets called. An% unrecognized property name or invalid value makes property application% stop. All inputs are passed to Design_OpeningFcn via varargin.%% *See GUI Options on GUIDE's Tools menu. Choose "GUI allows only one % instance to run (singleton)".%% See also: GUIDE, GUIDA TA, GUIHANDLES% Edit the above text to modify the response to help Design% Last Modified by GUIDE v2.5 04-Nov-2009 09:32:05% Begin initialization code - DO NOT EDITgui_Singleton = 1;gui_State = struct('gui_Name', mfilename, ...'gui_Singleton', gui_Singleton, ...'gui_OpeningFcn', @Design_OpeningFcn, ...'gui_OutputFcn', @Design_OutputFcn, ...'gui_LayoutFcn', [] , ...'gui_Callback', []);if nargin & isstr(varargin{1})gui_State.gui_Callback = str2func(varargin{1});endif nargout[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});elseend% End initialization code - DO NOT EDIT% --- Executes just before Design is made visible.function Design_OpeningFcn(hObject, eventdata, handles, varargin) % This function has no output args, see OutputFcn.% hObject handle to figure% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDA TA) % varargin command line arguments to Design (see V ARARGIN)% Choose default command line output for Designhandles.output = hObject;% Update handles structureguidata(hObject, handles);% UIWAIT makes Design wait for user response (see UIRESUME)% uiwait(handles.Design);% --- Outputs from this function are returned to the command line. function varargout = Design_OutputFcn(hObject, eventdata, handles) % varargout cell array for returning output args (see V ARARGOUT); % hObject handle to figure% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDA TA)% Get default command line output from handles structure varargout{1} = handles.output;% --------------------------------------------------------------------function File_Callback(hObject, eventdata, handles)% hObject handle to File (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDA TA)% --------------------------------------------------------------------function Open_Callback(hObject, eventdata, handles)% hObject handle to Open (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDA TA)global im;global Poo(1,N);global filename;global pathname;global str;global N;global MIN;global MAX;[filename,pathname]=...uigetfile({'*.bmp';'*.jpg';'*.gif';'*.mat'});str=[pathname filename];im=imread(str);%whosaxes(handles.axes1);imshow(im);axes(handles.axes2);Poo=im;imshow(Poo);%cla reset;set (handles.addtext,'string',[pathname,filename])% --------------------------------------------------------------------function Save_Callback(hObject, eventdata, handles)% hObject handle to Save (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDA TA)global am;global filename;global pathname;global str;global Poo(1,N);global N;global MIN;global MAX;%am=getimage(handles.axes2);imwrite(Poo,filename,'jpg');% --------------------------------------------------------------------function OSave_Callback(hObject, eventdata, handles)% hObject handle to OSave (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDA TA)global Poo(1,N);global N;global MIN;global MAX;[sFileName sFilePath]=uiputfile({'*.jpg','JPEG-Files (*.jpg)'; ...'*.*','All Files (*.*)'},'保存图像文件','untitled.jpg');if ~isequal([sFileName,sFilePath],[0,0])sFileFullName=[sFilePath sFileName];%am=getimage(handles.axes2);imwrite(Poo,sFileFullName,'jpg');elsemsgbox('你按了取消键!','保存失败');end% --------------------------------------------------------------------function End_Callback(hObject, eventdata, handles)% hObject handle to End (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)close(gcf);% --------------------------------------------------------------------function Edit_Callback(hObject, eventdata, handles)% hObject handle to Edit (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDA TA)% --------------------------------------------------------------------function Untitled_9_Callback(hObject, eventdata, handles)% hObject handle to Untitled_9 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDA TA)% --------------------------------------------------------------------% handles structure with handles and user data (see GUIDA TA)% --------------------------------------------------------------------function Pic_Callback(hObject, eventdata, handles)% hObject handle to Pic (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDA TA)% --------------------------------------------------------------------function Plug_Callback(hObject, eventdata, handles)% hObject handle to Plug (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDA TA)% --------------------------------------------------------------------function Help_Callback(hObject, eventdata, handles)% hObject handle to Help (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDA TA)% --------------------------------------------------------------------function About_Callback(hObject, eventdata, handles)% hObject handle to About (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDA TA)H=['本图像处理系统版权归张萌所有! 联系方式:iaspirin@ | 2009.10.25']; %设置About 内容helpdlg(H,'About') %About窗口% --------------------------------------------------------------------function Mod_Callback(hObject, eventdata, handles)% hObject handle to Mod (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDA TA)% --------------------------------------------------------------------% handles structure with handles and user data (see GUIDA TA)global im;global Poo(1,N);global N;global MIN;global MAX;if ISRGB(Poo)==1Poo=rgb2gray(Poo);elsePoo=Poo;endaxes(handles.axes2);imshow(Poo);% --------------------------------------------------------------------function Rgb2hsv_Callback(hObject, eventdata, handles)% hObject handle to Rgb2hsv (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDA TA)global im;global Poo(1,N);global N;global MIN;global MAX;Poo=rgb2hsv(Poo);axes(handles.axes2);imshow(Poo);% --------------------------------------------------------------------function Hsv2rgb_Callback(hObject, eventdata, handles)% hObject handle to Hsv2rgb (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 Poo(1,N);global N;global MIN;Poo=hsv2rgb(Poo);axes(handles.axes2);imshow(Poo);% --------------------------------------------------------------------function Rgb2ycbcr_Callback(hObject, eventdata, handles)% hObject handle to Rgb2ycbcr (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDA TA)global im;global Poo(1,N);global N;global MIN;global MAX;Poo=rgb2ycbcr(Poo);axes(handles.axes2);imshow(Poo);% --------------------------------------------------------------------function Ycbcr2rgb_Callback(hObject, eventdata, handles)% hObject handle to Ycbcr2rgb (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDA TA)global im;global Poo(1,N);global N;global MIN;global MAX;Poo=ycbcr2rgb(Poo);axes(handles.axes2);imshow(Poo);% --------------------------------------------------------------------function Zoom_Callback(hObject, eventdata, handles)% hObject handle to Zoom (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDA TA)% --------------------------------------------------------------------function ZoomOn_Callback(hObject, eventdata, handles)% hObject handle to ZoomOn (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDA TA)Zoom on;% --------------------------------------------------------------------function ZoomOff_Callback(hObject, eventdata, handles)% hObject handle to ZoomOff (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDA TA)Zoom off;% --------------------------------------------------------------------function PicMath_Callback(hObject, eventdata, handles)% hObject handle to PicMath (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDA TA)global im;global Poo(1,N);global N;global MIN;global MAX;save('Pic.mat','Poo');PicMath% --------------------------------------------------------------------function Sharpen_Callback(hObject, eventdata, handles)% hObject handle to Sharpen (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)% --------------------------------------------------------------------function Adjust_Callback(hObject, eventdata, handles)% hObject handle to Untitled_11 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% --------------------------------------------------------------------function AddAdjust_Callback(hObject, eventdata, handles)% hObject handle to AddAdjust (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDA TA)global Poo(1,N);global N;global MIN;global MAX;if ISRGB(Poo)==1Poo=imadjust(Poo,[.2 .3 0; .6 .7 1],[]);elsePoo=imadjust(Poo,[0.3 0.7],[]);endaxes(handles.axes2);imshow(Poo);% --------------------------------------------------------------------function Inv_Callback(hObject, eventdata, handles)% hObject handle to Inv (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDA TA)global im;global Poo(1,N);global N;global MIN;global MAX;Poo=imcomplement(Poo);axes(handles.axes2);imshow(Poo);% --------------------------------------------------------------------function Decolor_Callback(hObject, eventdata, handles)% hObject handle to Decolor (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDA TA)global im;global N;global MIN;global MAX;if ISRGB(Poo)==1Poo=rgb2gray(Poo);elsePoo=Poo;endaxes(handles.axes2);imshow(Poo);% --------------------------------------------------------------------function Blur_Callback(hObject, eventdata, handles)% hObject handle to Blur (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)% --------------------------------------------------------------------function Noise_Callback(hObject, eventdata, handles)% hObject handle to Noise (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDA TA)% --------------------------------------------------------------------function Edge_Callback(hObject, eventdata, handles)% hObject handle to Edge (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDA TA)% --------------------------------------------------------------------function Sobel_Callback(hObject, eventdata, handles)% hObject handle to Sobel (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDA TA)global im;global Poo(1,N);global N;global MIN;if ISRGB(Poo)==1Poo=rgb2gray(Poo);elsePoo=Poo;endPoo=edge(Poo,'sobel');axes(handles.axes2);imshow(Poo);% --------------------------------------------------------------------function Prewitt_Callback(hObject, eventdata, handles)% hObject handle to Prewitt (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDA TA)global im;global Poo(1,N);global N;global MIN;global MAX;if ISRGB(Poo)==1Poo=rgb2gray(Poo);elsePoo=Poo;endPoo=edge(Poo,'prewitt');axes(handles.axes2);imshow(Poo);% --------------------------------------------------------------------function Canny_Callback(hObject, eventdata, handles)% hObject handle to Canny (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDA TA)global im;global Poo(1,N);global N;global MIN;global MAX;Poo=rgb2gray(Poo);elsePoo=Poo;endPoo=edge(Poo,'canny');axes(handles.axes2);imshow(Poo);% --------------------------------------------------------------------function Addnoise_Callback(hObject, eventdata, handles)% hObject handle to Addnoise (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDA TA)% --------------------------------------------------------------------function Gaussian_Callback(hObject, eventdata, handles)% hObject handle to Gaussian (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDA TA)global im;global Poo(1,N);global N;global MIN;global MAX;Poo=imnoise(Poo,'gaussian',0,0.01);axes(handles.axes2);imshow(Poo);% --------------------------------------------------------------------function SaltPepper_Callback(hObject, eventdata, handles)% hObject handle to SaltPepper (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDA TA)global im;global Poo(1,N);global N;global MIN;global MAX;Poo=imnoise(Poo,'salt & pepper',0.01);axes(handles.axes2);imshow(Poo);% --------------------------------------------------------------------function Speckle_Callback(hObject, eventdata, handles)% hObject handle to Speckle (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDA TA)global im;global Poo(1,N);global N;global MIN;global MAX;Poo=imnoise(Poo,'speckle',0.01);axes(handles.axes2);imshow(Poo);% --------------------------------------------------------------------function Cutnoise_Callback(hObject, eventdata, handles)% hObject handle to Cutnoise (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDA TA)% --------------------------------------------------------------------function Avg_Callback(hObject, eventdata, handles)% hObject handle to Avg (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDA TA)global im;global Poo(1,N);global N;global MIN;global MAX;if ISRGB(Poo)==1elsePoo=Poo;endPoo=medfilt2(Poo);axes(handles.axes2);imshow(Poo);% --------------------------------------------------------------------function Sw_Callback(hObject, eventdata, handles)% hObject handle to Sw (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDA TA)% --------------------------------------------------------------------function Sp_Callback(hObject, eventdata, handles)% hObject handle to Sp (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDA TA)global im;global Poo(1,N);global N;global MIN;global MAX;H=fspecial('unsharp');Poo=imfilter(Poo,H,'replicate');axes(handles.axes2);imshow(Poo);% --------------------------------------------------------------------function Laplacian_Callback(hObject, eventdata, handles)% hObject handle to Laplacian (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDA TA)global im;global Poo(1,N);global N;if ISRGB(Poo)==1Poo=rgb2gray(Poo);elsePoo=Poo;end[m,n]=size(Poo);Poo=double(Poo);b=zeros(m,n);c=zeros(m,n);d=zeros(m,n);e=zeros(m,n);f=zeros(m,n);x=Poo;for i=1:m-2for j=1:n-2%c(i+1,j+1)=abs(8*x(i+1,j+1)-x(i,j)-x(i,j+1)-x(i,j+2)-x(i+1,j)-x(i+1,j+2)-x(i+2,j)-x(i+2,j+1)-x(i+2,j+2));%采用模板a=[-1 -1 -1;-1 8 -1;-1 -1 -1]% b(i+1,j+1)=abs(4*x(i+1,j+1)-x(i,j+1)-x(i+1,j)-x(i+1,j+2)-x(i+2,j+1));%采用模板a=[0 -1 0;-1 4-1;0-1 0]% d(i+1,j+1)= abs(5*x(i+1,j+1)-x(i,j+1)-x(i+1,j)-x(i+1,j+2)-x(i+2,j+1));%采用模板a=[0 -1 0;-1 5-1;0 -1 0]%e(i+1,j+1)=abs(4*x(i+1,j+1)+x(i,j)-2*x(i,j+1)+x(i,j+2)-2*x(i+1,j)-2*x(i+1,j+2)+x(i+2,j)-2*x(i+2,j+1)+x(i+2,j+ 2));%采用模板a=[1 -2 -1;-2 4 -2;1 -2 1]f(i+1,j+1)=abs(9*x(i+1,j+1)-x(i,j)-x(i,j+1)-x(i,j+2)-x(i+1,j)-x(i+1,j+2)-x(i+2,j)-x(i+2,j+1)-x(i+2,j+2));%采用模板a=[-1 -1 -1;-1 9 -1;-1 -1 -1]%这儿处理有两种方式,绝对值和统一加一个数,本题采用的是取绝对值%if b(i+1,j+1)<0 这部分为无用代码% b(i+1,j+1)=-b(i+1,j+1);%end%if c(i+1,j+1)<0% c(i+1,j+1)=-c(i+1,j+1)%endendend%figure;imshow(uint8(b))%figure;imshow(uint8(c))%figure;imshow(uint8(d))%figure,imshow(uint8(e))%figure,imshow(uint8(f))axes(handles.axes2);imshow(Poo);% --------------------------------------------------------------------function Bilinear_Callback(hObject, eventdata, handles)% hObject handle to Bilinear (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDA TA)global im;global Poo(1,N);global N;global MIN;global MAX;Poo=imresize(Poo,0.25);Poo=imresize(Poo,10,'bilinear');%Poo=uint8(colfilt(Poo,[5,5],'sliding',@mean));axes(handles.axes2);imshow(Poo);% --------------------------------------------------------------------function Bicubic_Callback(hObject, eventdata, handles)% hObject handle to Bicubic (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDA TA)global im;global Poo(1,N);global N;global MIN;global MAX;Poo=imresize(Poo,0.25);Poo=imresize(Poo,10,'bicubic');axes(handles.axes2);imshow(Poo);% --------------------------------------------------------------------function Other_Callback(hObject, eventdata, handles)% hObject handle to Other (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% --------------------------------------------------------------------function Max_Callback(hObject, eventdata, handles)% hObject handle to Max (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDA TA) global im;global Poo(1,N);global N;global MIN;global MAX;if ISRGB(Poo)==1Poo=rgb2gray(Poo);elsePoo=Poo;endPoo=uint8(colfilt(Poo,[10,10],'sliding',@max));axes(handles.axes2);imshow(Poo);% --------------------------------------------------------------------function Min_Callback(hObject, eventdata, handles)% hObject handle to Min (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDA TA)global im;global Poo(1,N);global N;global MIN;global MAX;if ISRGB(Poo)==1Poo=rgb2gray(Poo);elsePoo=Poo;endPoo=uint8(colfilt(Poo,[10,10],'sliding',@min));axes(handles.axes2);imshow(Poo);% --------------------------------------------------------------------% hObject handle to Meanx (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDA TA)global im;global Poo(1,N);global N;global MIN;global MAX;if ISRGB(Poo)==1Poo=rgb2gray(Poo);elsePoo=Poo;endPoo=uint8(colfilt(Poo,[5,5],'sliding',@mean));axes(handles.axes2);imshow(Poo);% --------------------------------------------------------------------function Motion_Callback(hObject, eventdata, handles)% hObject handle to Motion (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDA TA)global im;global Poo(1,N);global N;global MIN;global MAX;if ISRGB(Poo)==1Poo=rgb2gray(Poo);elsePoo=Poo;endH=fspecial('motion',20,45);Poo=imfilter(Poo,H,'replicate');Poo=uint8(colfilt(Poo,[5,5],'sliding',@mean));axes(handles.axes2);imshow(Poo);。