基 于MATLAB的图像 处理的课程设计
基于MATLAB GUI图像处理系统的设计与实现

基于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课程设计-图像处理完整版

M A T L A B课程设计-图像处理完整版-CAL-FENGHAI-(2020YEAR-YICAI)_JINGBIANMATLAB课程设计设计题目:应用图像处理班级:学号:姓名:指导老师:设计时间:2013年4月8号-4月14号摘要21世纪是一个充满信息的时代,图像作为人类感知世界的视觉基础,是人类获取信息、表达信息和传递信息的重要手段。
图像处理,是用计算机对图像进行分析,以达到所需结果的技术。
又称影像处理。
基本内容图像处理一般指数字图像处理。
数字图像是指用数字摄像机、扫描仪等设备经过采样和数字化得到的一个大的二维数组,该数组的元素称为像素,其值为一整数,称为灰度值。
图像处理技术的主要内容包括图像压缩,增强和复原,匹配、描述和识别3个部分。
常见的处理有图像数字化、图像编码、图像增强、图像复原、图像分割和图像分析等。
图像处理一般指数字图像处理。
所谓数字图像处理[7]就是利用计算机对图像信息进行加工以满足人的视觉心理或者应用需求的行为。
实质上是一段能够被计算机还原显示和输出为一幅图像的数字码。
关键词:DCT变换;图像压缩;真色彩增强;平滑;锐化;直方图均衡;灰度变换;滤波;M文件的使用目录摘要 (I)1 概述 (II)2 课程设计任务及要求 (III)2.1.1设计任务2.1.2设计要求3 系统设计原理 (Ⅳ)3.1 DCT图像压缩原理3.2 真彩色增强3.2.1平滑3.2.2锐化3.3 灰度变换(直方图均衡化)3.4 图像滤波3.4.1中值滤波器3.4.2维纳滤波器4 程序代码及实验结果与分析 (Ⅵ)4.1 DCT图像压缩4.1.1程序代码4.1.2实验结果4.1.3结果分析4.2 真彩色增强4.2.1平滑程序代码4.2.2实验结果4.2.3结果分析4.2.4锐化程序代码4.2.5实验结果4.2.6结果分析4.3 灰度变换(直方图均衡化)4.3.1程序代码4.3.2实验结果4.3.3结果分析4.4 图像滤波4.4.1程序代码4.4.2实验结果4.4.3结果分析5 收获体会 (Ⅶ)6 参考文献 (Ⅷ)概述MATLAB作为一种矩阵语言,进行数字图像处理是非常方便的。
数字图像处理课程设计基于Matlab的数字图像处理

数字图像处理课程设计--基于Matlab的数字图像处理数字图像处理课程设计基于Matlab的数字图像处理——图像的运算院系信息技术学院专业班级电气6班学号 201107111282姓名何英娜指导教师章瑞平课程设计时间 2012年11月目录一、摘要 (3)二、图像代数运算1、1图像的加法运算 (4)1、2图像的减法运算 (4)1、3图像的除法运算 (4)1、4绝对差值运算 (7)1、 5 图像的求补运算 (7)3三、图像的几何运算2、1 图像插值 (7)2、2图像的旋转 (8)2、3图像的缩放 (9)2、4图像的投影变换 (10)2、4图像的剪切 (11)四、课程设计总结与体会 (13)五、参考文献 (14)摘要图像运算涵盖程序设计、图像点运算、代数运算、几何运算等多种运算;设计目的和任务:1、熟悉图像点运算、代数运算、几何运算的基本定义和常见方法;2、掌握在MTLAB中对图像进行点运算、代数运算、几何运算的方法3、掌握在MATLAB中进行插值的方法4、运用MATLAB语言进行图像的插值缩放和插值旋转5、学会运用图像的投影变换和图像的剪切46、进一步熟悉了解MATLAB语言的应用,将数字图像处理更好的应用于实际7、通过各类算法加强图像各种属性、一、图像的几何运算何运算图像代数运算是指对两幅或两幅以上输入图像对应的像素逐个进行和差积商运算以产生增强效果的图像。
图像运算是一种比较简单有效的增强处理手段是图像处理中常用方法。
四种图像处理代数运算的数学表达式如下:C(x,y)=A(x,y)+B(x,y)C(x,y)=A(x,y)-B(x,y)C(x,y)=A(x,y)*B(x,y)C(x,y)=A(x,y)/B(x,y)1图像加法运算一般用于多幅图像求平均效果,以便有效降低具有叠加性的随机噪声,在matlab中imadd用于图像相加,其调用格式为z=imadd(X,Y);程序演示如下:I=imread('rice.png');subplot(2,2,1),imshow(I),title('原图像1'); J=imread('cameraman.tif');subplot(2,2,2),imshow(J),title('原图像52');K=imadd(I,J,'uint16'););subplot(2,2,3),imshow(K,[]),title('相加后图像'2、图像减法运算也称差分运算,是用于检测图像变化及运动物体的方法;用imsubtract函数实现。
matlab用于图像处理的课程设计

matlab用于图像处理的课程设计一、教学目标本课程旨在通过MATLAB软件,让学生掌握基本的图像处理方法,培养学生的编程能力和实际操作能力。
在知识目标方面,要求学生掌握MATLAB的基本操作,了解图像处理的基本概念和常用算法。
在技能目标方面,要求学生能够运用MATLAB进行简单的图像处理操作,如图像滤波、边缘检测等。
在情感态度价值观目标方面,通过实践操作,培养学生的创新意识和团队协作精神。
二、教学内容本课程的教学内容主要包括MATLAB基本操作、图像处理的基本概念和常用算法。
具体包括:MATLAB的启动和退出、命令窗口的使用、变量和矩阵的操作、图像的基本概念、图像的表示和存储、图像的滤波、边缘检测等。
三、教学方法本课程采用讲授法、实验法和讨论法相结合的教学方法。
首先,通过讲授法向学生介绍MATLAB的基本操作和图像处理的基本概念;然后,通过实验法让学生动手实践,掌握图像处理的常用算法;最后,通过讨论法引导学生进行思考和交流,提高学生的创新能力和团队协作精神。
四、教学资源本课程的教学资源包括教材《MATLAB图像处理》、多媒体教学课件、实验设备(计算机、投影仪等)和网络资源(相关论文、教程等)。
这些教学资源将有助于学生更好地理解和掌握课程内容,提高学生的学习效果。
五、教学评估本课程的评估方式包括平时表现、作业和考试三个部分。
平时表现占30%,主要评估学生的课堂参与度和团队协作能力;作业占30%,主要评估学生的理解和应用能力;考试占40%,主要评估学生的知识掌握和综合运用能力。
评估方式客观、公正,能够全面反映学生的学习成果。
六、教学安排本课程的教学安排如下:共计32课时,每周2课时,共16周完成。
教学地点为计算机实验室,以便学生进行实践操作。
教学进度安排合理、紧凑,确保在有限的时间内完成教学任务。
同时,教学安排还考虑学生的实际情况和需要,如学生的作息时间、兴趣爱好等。
七、差异化教学根据学生的不同学习风格、兴趣和能力水平,本课程设计了差异化的教学活动和评估方式。
基于matlab的图像处理课程设计

基于matlab的图像处理课程设计一、课程目标知识目标:1. 学生能理解图像处理的基本概念,掌握图像的数字化表示方法。
2. 学生能掌握Matlab软件的基本操作,运用其图像处理工具箱进行图像的读取、显示和保存。
3. 学生能掌握图像处理的基本算法,如灰度变换、图像滤波、边缘检测等,并理解其原理。
技能目标:1. 学生能运用Matlab进行图像处理操作,解决实际问题。
2. 学生能通过编程实现图像处理算法,具备一定的程序调试和优化能力。
3. 学生能运用所学知识,结合实际问题,设计简单的图像处理程序。
情感态度价值观目标:1. 学生通过学习图像处理,培养对计算机视觉和人工智能领域的兴趣,激发创新意识。
2. 学生在课程实践中,培养团队协作精神,提高沟通与表达能力。
3. 学生能认识到图像处理技术在生活中的广泛应用,增强学以致用的意识。
分析课程性质、学生特点和教学要求,本课程目标旨在使学生在掌握基本图像处理知识的基础上,通过Matlab软件的实践操作,培养其编程能力和解决实际问题的能力。
同时,注重培养学生的团队协作和情感态度,使其在学习过程中获得成就感,激发学习兴趣。
课程目标将具体分解为学习成果,以便后续教学设计和评估。
二、教学内容1. 图像处理基础理论:- 数字图像概念及表示方法- 图像处理的基本操作:读取、显示、保存- 像素运算与邻域处理2. Matlab基础操作:- Matlab软件安装与界面介绍- 数据类型与基本运算- 矩阵运算与函数编写3. 图像处理算法:- 灰度变换与直方图处理- 图像滤波:低通滤波、高通滤波- 边缘检测:Sobel算子、Canny算子4. 实践项目:- 图像增强与去噪- 图像分割与特征提取- 目标检测与跟踪5. 教学大纲:- 第一周:图像处理基础理论,Matlab基础操作- 第二周:灰度变换与直方图处理,图像滤波- 第三周:边缘检测,实践项目一- 第四周:图像分割与特征提取,实践项目二- 第五周:目标检测与跟踪,课程总结与展示教学内容根据课程目标,结合教材章节进行选择和组织,确保科学性和系统性。
MATLAB课程设计(基于MATLAB的图像处理的基本运算)

MATLAB课程设计(基于MATLAB的图像处理的基本运算)课程设计任务书学⽣姓名:专业班级:指导教师:⼯作单位:题⽬: 基于MATLAB的图像处理的基本运算初始条件①MATLAB软件②数字信号处理与图像处理基础知识要求完成的主要任务:(1)能够对图像亮度和对⽐度变化调整,并⽐较结果。
(2)编写程序通过最近邻插值和双线性插值等算法将⽤户所选取的图像区域进⾏放⼤和缩⼩整数倍的和旋转操作,并保存,⽐较⼏种插值的效果。
(3)图像直⽅图统计和直⽅图均衡,要求显⽰直⽅图统计,⽐较直⽅图均衡后的效果。
(4)对图像加⼊各种噪声,⽐较效果。
时间安排:第1周:安排任务,分组第2-17周:设计仿真,撰写报告第18周:完成设计,提交报告,答辩地点:鉴主3楼计算机实验室指导教师签名: 2010年⽉⽇系主任(或责任教师)签名: 2010年⽉⽇摘要MATLAB是—套⾼性能的数值计算和可视化软件,它集数值分析、矩阵运算、信号处理和图形显⽰于⼀体,构成—个⽅便的、界⾯友好的⽤户环境。
MATLAB强⼤的扩展功能为各个领域的应⽤提供了基础,由各个领域的专家相继给出了MATLAB ⼯具箱,其中主要有信号处理,控制系统,神经⽹络,图像处助,鲁棒控制,⾮线性系统控制设计,最优化,⼩波,通信等⼯具箱,这此⼯具箱给各个领域的研究和⼯程应⽤提供了有⼒的⼯具。
借助于这些“巨⼈肩膀上的⼯具”,各个层次的研究⼈员可直现⽅便地进⾏分析、计算及设计⼯作,从⽽⼤⼤地节省了时间。
本次课程设计的⽬的在于较全⾯了解常⽤的数据分析与处理原理及⽅法,能够运⽤相关软件进⾏模拟分析。
通过对采集的图像进⾏常规的图像的亮度和对⽐度的调整,并进⾏最近邻插值和双线性插值等算法将⽤户所选取的图像区域进⾏放⼤和缩⼩整数倍的和旋转操作,并保存,⽐较⼏种插值的效果,以及对图像进⾏直⽅图和直⽅图均衡并加⼊噪声进⾏对⽐,达到本次课程设计的⽬的关键词:MATLAB 亮度和对⽐度插值放⼤旋转噪声AbstractMATLAB is - set of high-performance numerical computation and visualization software, which combines numerical analysis, matrix computation, signal processing and graphics in one form - a convenient, user-friendly user environment.MATLAB is a powerful extension application in various fields to provide a basis by experts in various fields have been given a MATLAB toolbox, which are signal processing, control systems, neural networks, image processing support, robust control, nonlinearcontrol system design, optimization, wavelets, communications toolkit, which this kit to the various areas of research and engineering applications a powerful tool.With these "tools on the shoulders of giants," researchers at all levels can now be easily analyzed directly, calculation and design work, which greatly saves time.The training aims to strengthen the basis of a more comprehensive understanding of commonly used data analysis and processing principles and methods related to the use of simulation software.Images collected by conventional image brightness and contrast adjustments, and the nearest neighbor interpolation and bilinear interpolation algorithm to the user selected image area to zoom in and out several times and rotate the whole operation, and save, comparethe effect of several interpolation and the image histogram and histogram and compared with noise, to the purpose of this course design.Keywords: MATLAB brightness and contrast rotation interpolation noise amplification ⽬录1.MATLAB简介 (1)1.1 MATLA的基本⽤途 (1)1.2 MATLAB的语⾔特点 (1)1.3 MATLAB系统构成 (1)2.数据采集 (2)2.1图像的选取 (2)2.2 图像亮度和对⽐度的调整 (2)2.2.1 编辑M⽂件 (2)2.2.2 MATLAB⽀持的图像格式和类型 (3)2.2.3 图像的读取 (3)2.2.4调整图像亮度和对⽐度 (4)3.图像的⼏何操作 (6)3.1插补操作 (6)3.1.1 插补功能介绍 (6)3.1.2 插补具体操作 (6)3.2 放缩操作 (8)3.2.1放缩功能介绍 (8)3.2.2 具体操作 (9)3.3 旋转操作 (10)3.3.1 旋转功能介绍 (10)3.3.2 具体操作 (10)4.直⽅图统计 (12)4.1灰度图的获取 (12)4.1.1 灰度图的转换功能介绍 (12)4.1.2 具体操作 (12)4.2直⽅图以及直⽅图均衡 (13)4.2.1 直⽅图函数功能介绍 (13)4.2.2 直⽅图具体操作 (14)5.图像的噪声处理 (15)5.1添加噪声的功能介绍 (15)5.2添加噪声的具体操作 (16)6.总结(⼼得体会) (18)7.参考⽂献 (19)1.MATLAB简介1.1 MATLA的基本⽤途MATLAB是矩阵实验室(Matrix Laboratory)之意。
图像处理matlab的课程设计

图像处理matlab的课程设计一、教学目标本课程的教学目标是使学生掌握图像处理的基本原理和方法,能够使用MATLAB软件进行图像处理和分析。
具体目标如下:1.了解图像处理的基本概念和常用算法。
2.掌握MATLAB图像处理工具箱的使用。
3.理解图像处理在实际应用中的重要性。
4.能够使用MATLAB进行图像读取、显示和保存。
5.能够使用MATLAB进行图像滤波、边缘检测、图像增强等基本操作。
6.能够运用所学知识解决实际图像处理问题。
情感态度价值观目标:1.培养学生的创新意识和实践能力。
2.培养学生的团队合作精神和沟通协调能力。
3.培养学生的科学思维和解决问题的能力。
二、教学内容根据课程目标,教学内容主要包括以下几个方面:1.图像处理基本概念:图像的定义、图像的表示、图像的属性等。
2.MATLAB图像处理工具箱:MATLAB图像处理工具箱的介绍、常用函数和工具的使用方法等。
3.图像处理基本算法:图像滤波、边缘检测、图像增强、图像分割等。
4.图像处理应用案例:图像处理在实际应用中的案例分析,如医学影像处理、工业检测等。
三、教学方法为了达到课程目标,将采用多种教学方法相结合的方式进行教学。
包括:1.讲授法:通过讲解图像处理的基本概念和原理,使学生掌握基本知识。
2.案例分析法:通过分析实际图像处理案例,使学生了解图像处理的应用和实际意义。
3.实验法:通过实验操作,使学生掌握MATLAB图像处理工具箱的使用和基本算法。
4.讨论法:通过小组讨论和交流,促进学生思考和解决问题,培养团队合作精神。
四、教学资源为了支持教学内容和教学方法的实施,将准备以下教学资源:1.教材:《图像处理matlab教程》等。
2.参考书:《数字图像处理》、《MATLAB图像处理》等。
3.多媒体资料:PPT课件、实验演示视频等。
4.实验设备:计算机、MATLAB软件、图像处理相关硬件设备等。
通过以上教学资源的支持,将能够丰富学生的学习体验,提高学生的学习效果。
基于MATLAB的图像识别与处理系统设计

基于MATLAB的图像识别与处理系统设计图像识别与处理是计算机视觉领域的重要研究方向,随着人工智能技术的不断发展,基于MATLAB的图像识别与处理系统设计变得越来越受到关注。
本文将介绍如何利用MATLAB进行图像识别与处理系统设计,包括系统架构、算法选择、性能优化等方面的内容。
一、系统架构设计在设计基于MATLAB的图像识别与处理系统时,首先需要考虑系统的整体架构。
一个典型的系统架构包括以下几个模块:图像采集模块:负责从各种来源获取原始图像数据,可以是摄像头、传感器等设备。
预处理模块:对采集到的图像数据进行预处理,包括去噪、灰度化、尺寸调整等操作,以便后续的处理。
特征提取模块:从预处理后的图像中提取出有用的特征信息,这些特征将用于后续的分类和识别。
分类器模块:采用机器学习或深度学习算法对提取到的特征进行分类和识别,输出最终的结果。
结果展示模块:将分类和识别结果展示给用户,可以是文字描述、可视化界面等形式。
二、算法选择与优化在基于MATLAB进行图像识别与处理系统设计时,算法选择和优化是至关重要的环节。
以下是一些常用的算法和优化技巧:图像处理算法:MATLAB提供了丰富的图像处理工具箱,包括滤波、边缘检测、形态学操作等功能,可以根据具体需求选择合适的算法。
特征提取算法:常用的特征提取算法包括HOG(Histogram of Oriented Gradients)、SIFT(Scale-Invariant Feature Transform)等,选择合适的算法可以提高系统性能。
分类器算法:MATLAB中集成了多种机器学习和深度学习算法,如SVM(Support Vector Machine)、CNN(Convolutional Neural Network)等,可以根据数据特点选择最适合的分类器。
性能优化:在实际应用中,为了提高系统性能和响应速度,可以采用并行计算、GPU加速等技术对算法进行优化。
三、实例分析为了更好地理解基于MATLAB的图像识别与处理系统设计过程,我们以一个实例进行分析:假设我们需要设计一个人脸识别系统,首先我们需要收集大量人脸图像数据,并对这些数据进行预处理和特征提取。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于MATLAB的图像处理的课程设计一、课程设计的目的:综合运用MATLAB工具箱实现图像处理的GUI程序设计。
二、课程设计的基本要求1)熟悉和掌握MA TLAB 程序设计方法2)掌握MATLAB GUI 程序设计3)熟悉MATLAB图像处理工具箱4)学会运用MATLAB工具箱对图像进行处理和分析三、课程设计的内容要求利用MATLAB GUI设计实现图像处理的图形用户界面,利用MATLAB图像处理工具箱实现以下的图像处理功能:双击打开MATLAB 7.0→File→New→GUI→单击,调整axes1大小→单击OK,调整按钮大小和颜色,修改名称→再建axes2→单击OK,调整按钮大小和颜色,修改名称→保存→View→M-file Edit→写程序1)图像的读取和保存。
在function open_Callback(hObject, eventdata, handles)后面输入如下程序[name,path]=uigetfile('*.*','');file=[path,name];axes(handles.axes1);x=imread(file); %读取图像handles.img=x;guidata(hObject, handles);imshow(x); %显示图像title('打开');在function save_Callback(hObject, eventdata, handles)后面输入如下程序[name,path]=uigetfile('*.*','');file=[path,name];axes(handles.axes1);x=imread(file);handles.img=x;guidata(hObject, handles);imshow(x);imwrite(x,'new.jpg'); %保存图像title('保存');2)设计图形用户界面,让用户能够对图像进行任意的亮度和对比度变化调整,显示和对比变换前后的图像。
在function liangdu_Callback(hObject, eventdata, handles) 后面输入如下程序axes(handles.axes2);x=(handles.img);y=imadjust(x,[0.15 0.9], [0 1]); %增亮图像imshow(y);title('亮度')在function huidu_Callback(hObject, eventdata, handles) 后面输入如下程序axes(handles.axes2);x=rgb2gray(handles.img); %RGB图像转换为灰度图像imshow(x);title('灰度')3)设计图形用户界面,让用户能够用鼠标选取图像感兴趣区域,显示和保存该选择区域。
在function cut_Callback(hObject, eventdata, handles)后面输入如下程序axes(handles.axes2);x=imcrop(handles.img); %截图imshow(x);imwrite(x,'cut.jpg'); %保存图像title('截图');4)编写程序通过最近邻插值和双线性插值等算法将用户所选取的图像区域进行放大和缩小整数倍的操作,并保存,比较几种插值的效果。
在function nearfangda_Callback(hObject, eventdata, handles) 后面输入如下程序axes(handles.axes2);x=imresize(handles.img,2,'nearest'); %最近邻插值法放大imshow(x);imwrite(x,'nearfangda.jpg')title('最近邻插值法放大');在function nearsuoxiao_Callback(hObject, eventdata, handles) 后面输入如下程序axes(handles.axes2);x=imresize(handles.img,0.5,'nearest'); %最近邻插值法缩小imshow(x);imwrite(x,'nearsuoxiao.jpg')title('最近邻插值法缩小');在function doublefangda_Callback(hObject, eventdata, handles) 后面输入如下程序axes(handles.axes2);x=imresize(handles.img,5,'bilinear'); %双线性插值法放大图像imshow(x);imwrite(x,'doublefangda.jpg');title('双线性插值法放大');在function doublesuoxiao_Callback(hObject, eventdata, handles) 后面输入如下程序axes(handles.axes2);x=imresize(handles.img,0.5,'bilinear'); %双线性插值法缩小图像imshow(x);imwrite(x,'doublesuoxiao.jpg');title('双线性插值法缩小');5)图像直方图统计和直方图均衡,要求显示直方图统计,比较直方图均衡后的效果。
在function zhifangtu_Callback(hObject, eventdata, handles) 后面输入如下程序set(handles.axes2,'HandleVisibility','ON');axes(handles.axes2);x=imhist(handles.img); %直方图统计x1=x(1:10:256);horz=1:10:256;bar(horz,x1);%axis([0 255 0 150000]);set(handles.axes2,'xtick',0:50:255);%set(handles.axes2,'ytick',0:2000:15000);set(handles.axes2,'HandleVisibility','OFF');在function junheng_Callback(hObject, eventdata, handles) 后面输入如下程序set(handles.axes2,'HandleVisibility','ON');axes(handles.axes2);h=histeq(handles.img); %直方图均衡imshow(h);%set(handles.axes2,'ytick',0:2000:15000);set(handles.axes2,'HandleVisibility','OFF');6)能对图像加入各种噪声,并通过几种滤波算法实现去噪并显示结果。
比较去噪效果。
在function gaussian_Callback(hObject, eventdata, handles) 后面输入如下程序axes(handles.axes2);x=(handles.img);y=imnoise(x,'gaussian',0,0.05); %加高斯噪声imshow(y);imwrite(y,'gaussian.jpg');title('加高斯噪声')在function salt_Callback(hObject, eventdata, handles) 后面输入如下程序axes(handles.axes2);x=(handles.img);y=imnoise(x,'salt & pepper',0.04); %加椒盐噪声imshow(y);imwrite(y,'salt.jpg');title('加椒盐噪声')在function medfilt_Callback(hObject, eventdata, handles) 后面输入如下程序:axes(handles.axes2);x=(handles.img);y=imnoise(x,'salt & pepper',0.04); %加椒盐噪声z=medfilt2(y,[5 5],'symmetric'); %中值滤波imshow(z);imwrite(z,'medfilt.jpg');title('中值滤波');在function wiener_Callback(hObject, eventdata, handles) 后面输入如下程序:axes(handles.axes2);x=(handles.img);y=imnoise(x,'gaussian',0,0.05); %加高斯噪声z=wiener2(y,[5 5]); %自适应滤波imshow(z);imwrite(z,'wiener.jpg');title('自适应滤波')7)频谱处理,能够分析图像频谱,显示频谱图。
在function pinputu_Callback(hObject, eventdata, handles) 后面输入如下程序axes(handles.axes2);x=(handles.img);J2=fft2(x); %傅立叶变换K2=fftshift(J2); %转换数据矩阵imshow(log(abs(K2)),[]); %显示频谱图title('频谱图');8)设计巴特沃斯低通滤波对图像进行低通滤波处理,显示结果。
在function butterdi_Callback(hObject, eventdata, handles) 后面输入如下程序axes(handles.axes2);x=(handles.img);y1=imnoise(x,'salt & pepper'); % 叠加椒盐噪声f=double(y1); % 数据类型转换,MATLAB不支持图像的无符号整型的计算g=fft2(f); % 傅立叶变换g=fftshift(g); % 转换数据矩阵[M,N]=size(g);nn=2; % 二阶巴特沃斯(Butterworth)低通滤波器d0=50; %截止频率为50m=fix(M/2); n=fix(N/2);for i=1:Mfor j=1:Nd=sqrt((i-m)^2+(j-n)^2);h=1/(1+0.414*(d/d0)^(2*nn)); % 计算低通滤波器传递函数result(i,j)=h*g(i,j);endendresult=ifftshift(result);y2=ifft2(result);y3=uint8(real(y2));imshow(y3); % 显示滤波处理后的图像imwrite(y3,'butterdi.jpg');title('巴特沃斯低通滤波')9)设计高斯高通虑波器,显示结果。