基于matlab的数字图像处理

合集下载

基于Matlab的数字图像处理系统设计_毕业论文设计 精品推荐

基于Matlab的数字图像处理系统设计_毕业论文设计 精品推荐

论文(设计)题目:基于MATLAB的数字图像处理系统设计基于MATLAB的数字图像处理系统设计摘要MATLAB 作为国内外流行的数字计算软件,具有强大的图像处理功能,界面简洁,操作直观,容易上手,而且是图像处理系统的理想开发工具。

笔者阐述了一种基于MATLAB的数字图像处理系统设计,其中包括图像处理领域的大部分算法,运用MATLAB 的图像处理工具箱对算法进行了实现,论述了利用系统进行图像显示、图形表换及图像处理过程,系统支持索引图像、灰度图像、二值图像、RGB 图像等图像类型;支持BMP、GIF、JPEG、TIFF、PNG 等图像文件格式的读,写和显示。

上述功能均是在MA TLAB 语言的基础上,编写代码实现的。

这些功能在日常生活中有很强的应用价值,对于运算量大、过程复杂、速度慢的功能,利用MATLAB 可以既能快速得到数据结果,又能得到比较直观的图示。

关键词:MATLAB 数字图像处理图像处理工具箱图像变换第一章绪论1.1 研究目的及意义图像信息是人类获得外界信息的主要来源,近代科学研究、军事技术、工农业生产、医学、气象及天文学等领域中,人们越来越多地利用图像信息来认识和判断事物,解决实际问题,由此可见图像信息的重要性,数字图像处理技术将会伴随着未来信息领域技术的发展,更加深入到生产和科研活动中,成为人类生产和生活中必不可少的内容。

MATLAB 软件不断吸收各学科领域权威人士所编写的实用程序,经过多年的逐步发展与不断完善,是近几年来在国内外广泛流行的一种可视化科学计算软件。

MATLAB 语言是一种面向科学与工程计算的高级语言,允许用数学形式的语言来编写程序,比Basic、Fortan、C 等高级语言更加接近我们书写计算公式的思维方式,用MATLAB 编写程序犹如在演算纸上排列出公式与求解问题一样。

它编写简单、编程效率高并且通俗易懂。

1.2 国内外研究现状1.2.1 国内研究现状国内在此领域的研究中具有代表性的是清华大学研制的数字图像处理实验开发系统TDB-IDK 和南京东大互联技术有限公司研制的数字图像采集传输与处理实验软件。

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

第一部分数字图像处理实验一图像的点运算实验1.1 直方图一.实验目的1.熟悉matlab图像处理工具箱及直方图函数的使用;2.理解和掌握直方图原理和方法;二.实验设备1.PC机一台;2.软件matlab。

三.程序设计在matlab环境中,程序首先读取图像,然后调用直方图函数,设置相关参数,再输出处理后的图像。

I=imread('cameraman.tif');%读取图像subplot(1,2,1),imshow(I) %输出图像title('原始图像') %在原始图像中加标题subplot(1,2,2),imhist(I) %输出原图直方图title('原始图像直方图') %在原图直方图上加标题四.实验步骤1. 启动matlab双击桌面matlab图标启动matlab环境;2. 在matlab命令窗口中输入相应程序。

书写程序时,首先读取图像,一般调用matlab自带的图像,如:cameraman图像;再调用相应的直方图函数,设置参数;最后输出处理后的图像;3.浏览源程序并理解含义;4.运行,观察显示结果;5.结束运行,退出;五.实验结果观察图像matlab环境下的直方图分布。

(a)原始图像 (b)原始图像直方图六.实验报告要求1、给出实验原理过程及实现代码;2、输入一幅灰度图像,给出其灰度直方图结果,并进行灰度直方图分布原理分析。

实验1.2 灰度均衡一.实验目的1.熟悉matlab图像处理工具箱中灰度均衡函数的使用;2.理解和掌握灰度均衡原理和实现方法;二.实验设备1.PC机一台;2.软件matlab;三.程序设计在matlab环境中,程序首先读取图像,然后调用灰度均衡函数,设置相关参数,再输出处理后的图像。

I=imread('cameraman.tif');%读取图像subplot(2,2,1),imshow(I) %输出图像title('原始图像') %在原始图像中加标题subplot(2,2,3),imhist(I) %输出原图直方图title('原始图像直方图') %在原图直方图上加标题a=histeq(I,256); %直方图均衡化,灰度级为256subplot(2,2,2),imshow(a) %输出均衡化后图像title('均衡化后图像') %在均衡化后图像中加标题subplot(2,2,4),imhist(a) %输出均衡化后直方图title('均衡化后图像直方图') %在均衡化后直方图上加标题四.实验步骤1. 启动matlab双击桌面matlab图标启动matlab环境;2. 在matlab命令窗口中输入相应程序。

基于Matlab的数字图像处理

基于Matlab的数字图像处理

7
2.2 位图 位图:是通过许多像素点表示一幅图像,每个像素具有颜色 属性和位置属性。 位图又可以分成如下四种:二值图像(binary image)、灰度 图像(gray-scale image)、索引颜色图像(index color image)和 真彩色图像(true color image)。 位图的优缺点正好和矢量图相反。
19
经过这样采样和量化得到的一幅空间上表现为离散分布 的有限个像素,灰度取值上表现为有限个离散的可能值的图 像称为数字图像。只要水平与垂直方向采样点数N和M足够多 ,量化比特数足够大,则数字图像的质量比原始模拟图像毫 不逊色。 在采样与量化处理后,才能产生一张数字化的图像,再 运用计算机图像处理软件的各种技巧,对图像进行处理、修 饰或转换,达到所需要的图像效果。
15

图像是人类用来表达和传递信息的最重要手段。现代图像既 包括可见光范围的图像(能被人眼观察到的各种图像),也包 括不可见光范围内借助于适当转换装置转换成人眼可见的图 像(如红外成像技术)。还包括视觉无法观察的其他物理图像 和空间物体图像,以及由数学函数和离散数据所描述的连续 或离散图像。 在空间图像信息中,光强度是其基本要素,它随图像空 间坐标(x,y,z)及光线的波长λ 和时间t的变化而变化,因此 空间图像函数可表示为:
0 150 200 I 120 50 180 250 220 100
11
2.5 . 真彩色图像
每一个像素由红、绿和蓝三个字节组成, 每个字节为8
bit,表示0到255之间的不同的亮度值,这三个字节组合可以
产生1670万种不
1.2 图像与图形的区别

基本概念 图形:是指由外部轮廓线条构成的矢量图。即由计算机 绘制的直线、圆、矩形、曲线、图表等; 图像:是由扫描仪、摄像机等输入设备捕捉实际的画面产 生的数字图像,是由像素点阵构成的位图。 数据描述 图形:用一组指令集合来描述图形的内容,如描述构成 该图的各种图元位置维数、形状等。描述对象可任意缩放不 会失真。 图像:用数字任意描述像素点、强度和颜色。描述信息文 件存储量较大,所描述对象在缩放过程中会损失细节或产生 锯齿。

毕业论文-基于MATLAB的数字图像处理

毕业论文-基于MATLAB的数字图像处理

摘要数字图像处理是一门新兴技术,随着计算机硬件的发展,数字图像的实时处理已经成为可能,由于数字图像处理的各种算法的出现,使得其处理速度越来越快,能更好的为人们服务。

数字图像处理是一种通过计算机采用一定的算法对图形图像进行处理的技术.数字图像处理技术已经在各个领域上都有了比较广泛的应用。

图像处理的信息量很大,对处理速度的要求也比较高。

MATLAB强大的运算和图形展示功能,使图像处理变得更加的简单和直观。

本文介绍了MATLAB 语言的特点,基于MATLAB 的数字图像处理环境,介绍了如何利用MATLAB及其图像处理工具箱进行数字图像处理,并通过一些例子来说明利用MATLAB图像处理工具箱进行图像处理的方法.主要论述了利用MATLAB实现图像增强、二值图像分析等图像处理。

关键词:MATLAB,数字图像处理,图像增强,二值图像AbstractDigital image processing is an emerging technology,with the development of computer hardware,real—time digital image processing has become possible due to digital image processing algorithms to appear, making it faster and faster processing speed, better for People services 。

Digital image processing is used by some algorithms computer graphics image processing technology. Digital image processing technology has been in various areas have a relatively wide range of applications。

数字图像处理课件——基于MATLAB的图像处理(PPT课件)

数字图像处理课件——基于MATLAB的图像处理(PPT课件)

图像缩放
改变图像的尺寸大小,以适应不同 的显示设备或应用需求。
图像增强技术
亮度调整
通过增加或减少图像的亮度来改善图像的视觉效果。
对比度增强
调整图像的对比度,以增强图像中的细节和颜色差 异。
直方图均衡化
通过重新分布图像像素的灰度级,增强图像的整体 对比度。
滤波器应用
使用不同类型的滤波器来提取有用的图像特征或去 除噪声。
介绍课程内容,学习资源, 作业要求和评估方式。
了解编程基础和数学概念有 助于更好地理解课程内容。
MATLAB图像处理简介
MATLAB是一种强大的编程语言和开发环境,在数字图像处理领域有广泛的应 用。了解MATLAB的基本概念和图像处理函数的使用是本课程的重点。
数字图像的离散化表示
1
图像分辨率
2
了解图像中信息的密度和细节水平,学会调
数字图像处理课件——基 于MATLAB的图像处理 (PPT课件)
欢迎来到数字图像处理课程,本课程以MATLAB为基础,教授图像处理的基本 知识,包括离散化表示、图像操作、增强技术、滤波和降噪、分割与边缘检 测。
课程介绍
1 学习目标
2 课程安排
3 前置知识
掌握数字图像处理的基本概 念和技术,以及MATLAB在 图像处理中的应用。
整和优化图像的分辨率。
3
采样和量化
将连续的图像转换为离散的像素表示,了解 采样和量化的原理和方法。
颜色模型
探索常用的颜色模型,如RGB、HSV和CMYK, 以及它们在图像处理中的应用。
图像的基本操作
图像裁剪
选择感兴趣的区域,并裁剪为新的 图像,以提取出所需的信息。
图像旋转
将图像按照特定角度进行旋转,以 改变其方向或对齐。

基于MATLAB的图像处理算法研究与应用

基于MATLAB的图像处理算法研究与应用

基于MATLAB的图像处理算法研究与应用一、引言图像处理是计算机视觉领域中的重要研究方向,随着数字图像技术的不断发展,图像处理算法在各个领域得到了广泛的应用。

MATLAB作为一种强大的科学计算软件,提供了丰富的图像处理工具箱,为研究人员提供了便利。

本文将探讨基于MATLAB的图像处理算法研究与应用。

二、图像处理基础在深入研究MATLAB图像处理算法之前,首先需要了解图像处理的基础知识。

图像处理是对数字图像进行操作以获取所需信息的过程,包括图像增强、滤波、分割、特征提取等技术。

在MATLAB中,可以通过读取、显示和保存图像来进行基本的图像处理操作。

三、MATLAB图像处理工具箱MATLAB提供了丰富的图像处理工具箱,包括各种函数和工具,用于实现各种图像处理算法。

其中,常用的函数包括imread(读取图像)、imshow(显示图像)、imwrite(保存图像)等。

此外,MATLAB还提供了各种滤波器、边缘检测器、形态学操作等功能,方便研究人员进行图像处理实验。

四、常见的图像处理算法1. 图像增强图像增强是指通过一系列操作使图像在视觉上更加清晰、鲜艳或易于分析的过程。

常见的图像增强算法包括直方图均衡化、对比度增强、锐化等,在MATLAB中可以通过内置函数实现。

2. 图像滤波图像滤波是一种常见的预处理方法,用于去除噪声、平滑图像或增强特定特征。

MATLAB提供了各种滤波器,如均值滤波、中值滤波、高斯滤波等,可以根据实际需求选择合适的滤波器进行处理。

3. 图像分割图像分割是将图像划分为若干个具有独立意义的区域或对象的过程。

在MATLAB中,可以使用阈值分割、区域生长、边缘检测等方法实现图像分割,为后续目标检测和识别提供基础。

4. 特征提取特征提取是从原始数据中提取出具有代表性和区分性的特征信息。

在图像处理中,特征可以是颜色直方图、纹理特征、形状特征等。

MATLAB提供了各种特征提取函数和工具,帮助研究人员获取关键特征信息。

基于MATLAB的数字图像处理技术在医学影像中的应用

基于MATLAB的数字图像处理技术在医学影像中的应用

基于MATLAB的数字图像处理技术在医学影像中的应用数字图像处理技术是一种利用数字计算机对图像进行处理和分析的技术,它在医学影像领域有着广泛的应用。

MATLAB作为一种功能强大的科学计算软件,提供了丰富的图像处理工具和函数,为医学影像处理提供了便利。

本文将介绍基于MATLAB的数字图像处理技术在医学影像中的应用。

1. 医学影像与数字图像处理技术医学影像是医学诊断和治疗中不可或缺的重要手段,它通过对人体内部结构和功能进行成像,帮助医生做出准确的诊断和治疗方案。

数字图像处理技术则是对数字图像进行获取、存储、传输、显示和分析等一系列操作的技术。

将数字图像处理技术应用于医学影像中,可以帮助医生更好地观察和分析患者的病情,提高诊断的准确性和治疗效果。

2. MATLAB在医学影像处理中的优势MATLAB作为一种专业的科学计算软件,具有丰富的图像处理工具包和函数库,能够快速高效地实现各种图像处理算法。

其优势主要体现在以下几个方面:丰富的工具包:MATLAB提供了丰富的图像处理工具包,包括图像增强、滤波、分割、特征提取等功能模块,可以满足医学影像处理中各种需求。

易于使用:MATLAB具有直观友好的界面和简洁明了的编程语法,使得医学影像处理人员可以快速上手,并快速实现自己的算法。

高效性能:MATLAB底层采用C/C++编写,具有优秀的性能表现,在处理大规模医学影像数据时表现出色。

丰富的社区支持:MATLAB拥有庞大的用户社区和丰富的文档资料,用户可以方便地获取帮助和资源。

3. MATLAB在医学影像处理中的应用3.1 图像增强图像增强是医学影像处理中常见的操作之一,通过增强图像对比度、去除噪声等方式,可以使医生更清晰地观察到患者病变情况。

MATLAB提供了丰富的图像增强函数,如直方图均衡化、滤波器设计等,可以有效改善医学影像质量。

3.2 图像分割图像分割是将图像划分为若干个具有独立特征的区域或对象的过程,对于医学影像而言,可以帮助医生定位病变区域、量化病变程度等。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于MATLAB数字图像处理题目MATLAB中集成了功能强大的图像处理工具箱,可以通过不同的算法对图像进行不同的处理,更加精确的对图像进行变换和更改,进一步提高了人们对图像处理的能力和认识。

通过用户自定义界面将简洁的界面与MATLAB程序结合起来,方便操作与应用。

1 功能介绍本程序是一个简单的图像处理程序,使用MATLAB软件编写完成。

主要具有灰度转换、亮度处理、显示频谱、左右翻转、上下翻转、向左旋转90度、向右旋转90度、任意角度旋转、保存等功能,并通过图形化交互界面(GUI)进行程序使用的交互。

交互界面如图1.图1 程序的交互界面2 功能实现程序由两个部分组成:MATLAB代码(.m文件)和GUI图形(.fig)。

程序使用的流程:图像输入—> 灰度转换(可选)—> 亮度处理(可选)—>显示频谱图(可选)—>左右翻转(可选)—>上下翻转(可选)—>向左旋转90度(可选)—>向右旋转90度(可选)—>任意角度旋转(可选)—>保存(可选)。

备注:软件版本:MATLAB R2010b2.1 获得图像文件图形获取的过程,下面是图像获取界面和获取后的效果图。

界面图效果图具体代码参见:function pushbutton1_Callback(hObject, eventdata, handles) 2.2 灰度转换过程主要包括对原图片灰度转换及显示。

通过灰度转换按钮,将源程序链接到图片。

具体程序如下:function pushbutton2_Callback(hObject, eventdata, handles) axes(handles.axes2);if isrgb(handles.img)y=rgb2gray(handles.img); %RGB••••••••••imshow(y);elsemsgbox('这已经是灰度图像','转换失败');end2.3 亮度处理过程在已获得图片的基础上,再进亮度处理的选择。

亮度提供输入选项如下:处理后结果:2.4 显示频谱图在已获得图像文件进行频谱变换,结果如下:具体代码参见:function pushbutton9_Callback(hObject, eventdata, handles) 2.5 左右翻转左右翻转图形:2.6 上下翻转上下翻转图形:具体代码参见:function pushbutton5_Callback(hObject, eventdata, handles) 2.7 向左旋转90度向左旋转90度图形:具体代码参见:function pushbutton6_Callback(hObject, eventdata, handles) 2.7 向右旋转90度向右旋转90度图形:具体代码参见:function pushbutton7_Callback(hObject, eventdata, handles) 2.7 任意角度旋转向左旋转30度图形:具体代码参见:function pushbutton8_Callback(hObject, eventdata, handles)2.7 保存保存修改过的图片,可以选择任一路径保存。

文件名自命:具体代码参见:function pushbutton14_Callback(hObject, eventdata, handles)3 程序总结本程序实现简单的图像处理功能及便捷的图形化交互界面。

具有以下特点与缺陷:1、程序简单明明了,易于查找各部分模块,进行编写更修改。

2、各部分程序均源于源于课本知识,比较容易理解与应用,程序涵盖各个变换模块。

3、可以对同一个目标图片进行变换,变换后均可以保存,方便存档,更具有人性化设计。

未尽功能:(1)、程序可进一步优化,可以实现更多不同功能,没有利用其它函数进行编译,导致程序功能不够强大。

(2)、亮度不可以用户调节,只可固定调节到某一个亮度。

(3)、图片处理不能包含更多格式的文件,这有待进一步提高。

(4)、程序运行需要打开.m文件和.fig文件,不够简单易操作。

4 课程总结简单的图像处理程序已于上面一一列举,在制作过程遇到过许多问题,比如图形的频谱变换,经过查找书上资料,通过fft变换即可以得到。

通过本次课程设计,使自己对MATLAB GUI设计流程有了比较深刻的体会,同时也了解了一般软件设计的过程。

在设计过程中碰到了很多的问题,通过这些问题,使自己分析问题,解决问题的能力得到了较大的提高。

在理工科的专业应用背景下,用matlab 进行相关计算与仿真编程的优势非常突出。

特定的问题处理算法,我们通常都以M文件的文本形式给定最终的解决方案,自己设计的程序是在MATLAB环境下,用MATLAB语言编写的,这对于有安装MATLAB软件的计算机上运行并不存在什么问题,关键是一般的计算机很少有去安装MATLAB软件的,那么要在这些机子上运行该程序要怎么办呢,难道要先安装MATLAB软件,这显然太麻烦了,对于一个通用的,比较成熟的解决方案,我们当然期望它能应用到更多的场合,而.exe (可执行)文件可运行于所有的通用WINDOWS操作系统,为此,将M文件转换成.exe 文件倒是个不错的想法。

附录(部分程序)function varargout = process(varargin)% PROCESS MATLAB code for process.fig% PROCESS, by itself, creates a new PROCESS or raises the existing% singleton*.%% H = PROCESS returns the handle to a new PROCESS or the handle to% the existing singleton*.%% PROCESS('CALLBACK',hObject,eventData,handles,...) calls the local% function named CALLBACK in PROCESS.M with the given input arguments.%% PROCESS('Property','Value',...) creates a new PROCESS or raises the% existing singleton*. Starting from the left, property value pairs are% applied to the GUI before process_OpeningFcn gets called. An% unrecognized property name or invalid value makes property application% stop. All inputs are passed to process_OpeningFcn via varargin.%% *See GUI Options on GUIDE's Tools menu. Choose "GUI allows only one% instance to run (singleton)".%% See also: GUIDE, GUIDATA, GUIHANDLES% Edit the above text to modify the response to help process% Last Modified by GUIDE v2.5 08-Dec-2014 23:30:51% Begin initialization code - DO NOT EDITgui_Singleton = 1;gui_State = struct('gui_Name', mfilename, ...'gui_Singleton', gui_Singleton, ...'gui_OpeningFcn', @process_OpeningFcn, ...'gui_OutputFcn', @process_OutputFcn, ...'gui_LayoutFcn', [] , ...'gui_Callback', []);if nargin && ischar(varargin{1})gui_State.gui_Callback = str2func(varargin{1});endif nargout[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); elsegui_mainfcn(gui_State, varargin{:});end% End initialization code - DO NOT EDIT% --- Executes just before process is made visible.function process_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 GUIDATA)% varargin command line arguments to process (see VARARGIN)% Choose default command line output for processhandles.output = hObject;% Update handles structureguidata(hObject, handles);% UIWAIT makes process wait for user response (see UIRESUME)% uiwait(handles.figure1);% --- Outputs from this function are returned to the command line. function varargout = process_OutputFcn(hObject, eventdata, handles) % varargout cell array for returning output args (see VARARGOUT);% hObject handle to figure% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)% Get default command line output from handles structurevarargout{1} = handles.output;% --- Executes on button press in pushbutton1.function pushbutton1_Callback(hObject, eventdata, handles)[name,path]=uigetfile({'*.bmp'},'载入图像');if isequal(name,0)|isequal(path,0)errordlg('没有选中文件','出错');return;elsex=imread([path,name]);axes(handles.axes1);imshow(x);handles.img=x;handles.noise_img=x;guidata(hObject,handles)end% hObject handle to pushbutton1 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)% --- Executes on button press in pushbutton2.function pushbutton2_Callback(hObject, eventdata, handles)axes(handles.axes2);if isrgb(handles.img)y=rgb2gray(handles.img); %RGB••••••••••imshow(y);elsemsgbox('这已经是灰度图像','转换失败');end% hObject handle to pushbutton2 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)% --- Executes on button press in pushbutton3.function pushbutton3_Callback(hObject, eventdata, handles)prompt={'输入参数1','输入参数2','输入gamma'};defans={'[0 0.7]','[0 1]','1'};p=inputdlg(prompt,'输入参数',1,defans);p1=str2num(p{1});p2=str2num(p{2});p3=str2num(p{3});gamma=p3;x=(handles.img);y=imadjust(x,p1,p2,gamma);axes(handles.axes2);imshow(y);% hObject 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)% --- Executes on button press in pushbutton4.function pushbutton4_Callback(hObject, eventdata, handles)axes(handles.axes2);if isrgb(handles.img)x=(handles.img);for k=1:3y(:,:,k)=fliplr(x(:,:,k));%左右翻转函数endimshow(y);elsex=(handles.img);y=fliplr(x);imshow(y);end% hObject handle to pushbutton4 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)% --- Executes on button press in pushbutton5.function pushbutton5_Callback(hObject, eventdata, handles)axes(handles.axes2);x=(handles.img);if isrgb(handles.img)for k=1:3y(:,:,k)=flipud(x(:,:,k));%上下翻转函数endimshow(y);elsex=(handles.img);y=flipud(x);imshow(y);end% hObject handle to pushbutton5 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)% --- Executes on button press in pushbutton6.function pushbutton6_Callback(hObject, eventdata, handles)axes(handles.axes2);x=(handles.img);y=imrotate(x,90);imshow(y);% hObject handle to pushbutton6 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)% --- Executes on button press in pushbutton7.function pushbutton7_Callback(hObject, eventdata, handles)axes(handles.axes2);x=(handles.img);y=imrotate(x,-90);imshow(y);% hObject handle to pushbutton7 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)% --- Executes on button press in pushbutton8.function pushbutton8_Callback(hObject, eventdata, handles)axes(handles.axes2);prompt={'输入参数1:'};defans={'30'};p=(prompt,'输入参数',1,defans);p1=str2num(p{1});y=imrotate(handles.img,p1);imshow(y);% hObject handle to pushbutton8 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)% --- Executes on button press in pushbutton9.function pushbutton9_Callback(hObject, eventdata, handles)axes(handles.axes2);x=(handles.img);if isrgb(x)m=fft2(x(:,:,1));y=fftshift(m);imshow(log(abs(y)),[]);elsem=fft2(x);y=fftshift(m);imshow(log(abs(y)),[]);end% hObject handle to pushbutton9 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)% --- Executes on button press in pushbutton14.function pushbutton14_Callback(hObject, eventdata, handles) [filename,pathname] = uiputfile('*.bmp','图片保存为');if isequal([filename,pathname],[0,0])errordlg('没有保存','出错');return;elsefile=strcat(pathname,filename);(handles.axes2);i=getimage(gca);imwrite(i,file);end% hObject handle to pushbutton14 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)。

相关文档
最新文档