数字图像处理工具箱
数字图像处理实验一图像的基本操作和基本统计指标计算实验报告

实验一图像的基本操作和基本统计指标计算一、实验目的熟悉MATLAB图像处理工具箱,在掌握MATLAB基本操作的基础上,本课程主要依靠图像处理工具箱验证和设计图像处理算法。
对于初学者来说,勤学多练、熟悉MATLAB图像处理工具箱也是学号本课程的必经之路。
了解计算图像的统计指标的方法及其在图像处理中的意义。
了解图像的几何操作,如改变图像大小、剪切、旋转等。
二、实验主要仪器设备(1)台式计算机或笔记本电脑(2)MATLAB(安装了图像处理工具箱,即Image Processing Toolbox(IPT))(3)典型的灰度、彩色图像文件三、实验原理(1)将一幅图像视为一个二维矩阵。
(2)利用MATLAB图像处理工具箱读、写和显示图像文件。
①调用imread函数将图像文件读入图像数组(矩阵)。
例如“I=imread(‘tire.tif’);”。
其基本格式为:“A=imread(‘filename.fmt’)”,其中,A为二维矩阵,filename.为文件名,fmt为图像文件格式的扩展名。
②调用imwrite函数将图像矩阵写入图像文件。
例如“imwrite(A,’test_image.jpg’);”。
其基本格式为“imwrite(a,filename.fmt)”。
③调用imshow函数显示图像。
例如“imshow(‘tire.tif’);”。
其基本格式为:I为图像矩阵,N为显示的灰度级数,默认时为256。
(3)计算图像有关的统计参数。
四、实验内容(1)利用MATLAB图像处理工具箱和Photoshop读、写和显示图像文件。
(2)利用MATLAB计算图像有关的统计参数。
五、实验步骤(1)利用“读图像文件I/O”函数读入图像Italy.jpg。
(2)利用“读图像文件I/O”的iminfo函数了解图像文件的基本信息:主要包括Filename(文件名)、FileModDate(文件修改时间)、Filesize(文件尺寸)、Format(文件格式)、FormatVersion (格式版本)、Width(图像宽度)、Height(图像高度)、BitDepth(每个像素的位深度)、ColorType (彩色类型)、CodingMethod(编码方法)等。
matlab工具箱下载安装和使用方法的汇总Toolbox大全

matlab工具箱下载安装和使用方法的汇总Toolbox大全Maplesoft《Maple Toolbox for MATLAB》Sergiy Iglin《Graph Theory Toolbox》(图论工具箱)Koert Kuipers《Branch And Bound toolbox 2.0》(BNB20分支定界工具箱)Howard Wilson《Numerical Integration T oolbox》(NIT数值积分工具箱)Anton Zaicenco《FEM toolbox for solid mechanics》(固体力学有限元工具箱)Nicholas J. Higham《The Matrix Computation Toolbox》(矩阵计算工具箱)Paolo Di Prodi《robotic toolbox》(机器人工具箱)Moein Mehrtash《GPS Navigation T oolbox 》(GPS导航工具箱)J.Divahar 《Airfoil_Analyzer_toolbox》(翼型分析工具箱)Rasmus Anthin《Multivariable Calculus T oolbox 》(多变量微积分工具箱)《Time frequency analysis toolbox》(时频分析工具箱)Johan L?fberg《Yet A LMI Package》(YLMIP优化工具箱)NCSU-IE 《Genetic Algorithm Optimization Toolbox 》(GAOT 遗传算法优化工具箱)Dahua Lin《Statistical Learning Toolbox》(统计学习工具箱)Richard Frost《Simulated Annealing Tools 》(satools模拟退火工具箱)陈益《simple genetic algorithms laboratory》(SGALAB简单遗传算法实验室)Eric Debreuve《Active Contour Toolbox》(主动轮廓线工具箱)Alaa Tharwat《Alaa Tharwat ToolBox》(模式识别&数字图像处理工具箱)Brian Birge《Particle Swarm Optimization T oolbox》(PSO粒子群优化工具箱)Hartmut Pohlheim《Genetic and Evolutionary Algorithm toolbox》(遗传和进化工具箱)Gonzalez《DIPUM Toolbox》(数字图像处理工具箱)Jouni Hartikainen《EKF/UKF Toolbox for Matlab》(扩展卡曼滤波工具箱)Frederic Moisy《EzyFit toolbox 2.20》(快速拟合工具箱)Constell,Inc《Constellation T oolbox for Matlab》(星座工具箱和手册)Kevin Murphy《Hidden Markov Model (HMM) T oolbox》(隐马尔可夫模型工具箱)Janos Abonyi《Fuzzy Cluster Analysis Toolbox》(模糊聚类和数据分析工具箱)Ben Barrowes《Mathematica Symbolic Toolbox for MATLAB》《Math modl toolbox》(数学建模工具箱)Zoubin Ghahramani《Machine Learning Toolbox》(机器学习,主要是HMM)Sheffield《genetic arithmetic toolbox》(GATBX遗传算法工具箱)Gerald Recktenwald 《Numerical Methods with MATLAB》(NMM1.5数值分析工具箱)Matlab数据关联规则挖掘的工具箱(箱内含使用手册)分享与讨论Martin Ohlin《TrueTime-1.5 Toolbox》Evan Ruzanski《Comprehensive DSP Toolbox v1.0》(综合数字信号处理工具箱)Minh Do《Contourlet toolbox》(Contourlet变换影像处理工具箱)Mike Brookes《Voice box》(语音处理工具箱)Mike Craymer《Geodetic T oolbox》(大地测量学工具箱)Ian Nabney《Pattern analysis toolbox》(Netlab模式分析工具箱)Gabriel Peyre《Toolbox Fast Marching》(快速步进工具箱)John Buck《Computer Explorations Toolbox》(数字信号和系统工具箱)Eric Debreuve《Active Contour Toolbox》(主动轮廓线工具箱)Rasmus Anthin《Finite Element T oolbox 2.1》(有限元工具箱)。
MATLAB工具箱的使用

MATLAB工具箱的使用MATLAB®是一种强大的科学计算软件,广泛应用于各个领域的数学建模、数据分析、仿真和算法开发等工作中。
为了满足不同领域的需求,MATLAB提供了许多不同的工具箱。
这些工具箱包含了各种不同领域的函数和工具,可以帮助用户更加高效地进行数据处理、模拟和算法开发等工作。
下面将介绍几个常用的MATLAB工具箱,以及它们的使用方法:1.信号处理工具箱(Signal Processing Toolbox):这个工具箱提供了一系列处理数字信号的函数和工具。
用户可以使用这些函数和工具进行信号滤波、功率谱估计、频谱分析、时间频率分析等操作。
该工具箱还提供了许多基本信号处理算法,如滤波器设计、卷积和相关等。
例如,用户可以使用`filtfilt(`函数对信号进行零相移滤波,以去除噪声。
2.图像处理工具箱(Image Processing Toolbox):图像处理工具箱提供了一系列处理数字图像的函数和工具。
用户可以使用这些函数和工具进行图像的读取、显示、修改、增强和分析等操作。
该工具箱包含了许多常用的图像处理算法,如图像滤波、边缘检测、形态学处理和图像分割等。
例如,用户可以使用`imread(`函数读取图像,然后使用`imshow(`函数显示图像。
3.控制系统工具箱(Control System Toolbox):这个工具箱提供了一系列用于分析和设计控制系统的函数和工具。
用户可以使用这些函数和工具进行控制系统的建模、稳定性分析、根轨迹设计和频域分析等操作。
该工具箱还提供了许多常用的控制系统设计方法,如PID控制器设计和状态空间控制器设计等。
例如,用户可以使用`tf(`函数创建传递函数模型,然后使用`step(`函数绘制系统的阶跃响应。
4.优化工具箱(Optimization Toolbox):优化工具箱提供了一系列用于求解优化问题的函数和工具。
用户可以使用这些函数和工具进行线性规划、非线性规划和整数规划等操作。
数字图像处理matlab课程设计

数字图像处理matlab课程设计一、教学目标本课程的教学目标是使学生掌握数字图像处理的基本理论和方法,学会使用MATLAB软件进行图像处理和分析。
通过本课程的学习,学生应达到以下具体目标:1.理解数字图像处理的基本概念、原理和算法。
2.熟悉MATLAB图像处理工具箱的使用。
3.能够运用数字图像处理的基本算法解决实际问题。
4.能够使用MATLAB进行图像处理和分析,撰写相关的程序代码。
情感态度价值观目标:1.培养学生的创新意识和团队协作精神。
2.培养学生对数字图像处理技术的兴趣,提高其综合素质。
二、教学内容根据课程目标,本课程的教学内容主要包括以下几个部分:1.数字图像处理基本概念:图像处理的基本概念、图像数字化、图像表示和图像变换。
2.图像增强和复原:图像增强、图像去噪、图像复原。
3.图像分割和描述:图像分割、图像特征提取和描述。
4.图像形态学:形态学基本运算、形态学滤波、形态学重建。
5.MATLAB图像处理工具箱的使用:MATLAB图像处理工具箱的基本功能、常用图像处理函数。
6.图像处理实例分析:结合实际案例,分析数字图像处理技术的应用。
三、教学方法为了实现课程目标,本课程将采用以下教学方法:1.讲授法:通过讲解图像处理的基本概念、原理和算法,使学生掌握图像处理的基本知识。
2.案例分析法:通过分析实际案例,使学生了解数字图像处理技术在实际中的应用。
3.实验法:通过上机实验,使学生熟练掌握MATLAB图像处理工具箱的使用,提高学生的实际操作能力。
4.讨论法:学生进行课堂讨论,激发学生的思维,培养学生的创新意识和团队协作精神。
四、教学资源为了支持教学内容和教学方法的实施,本课程将采用以下教学资源:1.教材:《数字图像处理(MATLAB版)》。
2.参考书:相关领域的经典教材和论文。
3.多媒体资料:教学PPT、视频教程等。
4.实验设备:计算机、MATLAB软件、图像处理相关硬件设备。
五、教学评估本课程的评估方式包括平时表现、作业、考试等多个方面,以全面、客观、公正地评价学生的学习成果。
胡学龙《数字图像处理》课后习题答案

胡学龙《数字图像处理》课后习题答案胡学龙、许开宇编著《数字图像处理》思考题与习题参考答案第1章概述1.1 连续图像和数字图像如何相互转换?答:数字图像将图像看成是许多大小相同、形状一致的像素组成。
这样,数字图像可以用二维矩阵表示。
将自然界的图像通过光学系统成像并由电子器件或系统转化为模拟图像(连续图像)信号,再由模拟/数字转化器(ADC)得到原始的数字图像信号。
图像的数字化包括离散和量化两个主要步骤。
在空间将连续坐标过程称为离散化,而进一步将图像的幅度值(可能是灰度或色彩)整数化的过程称为量化。
1.2 采用数字图像处理有何优点?答:数字图像处理与光学等模拟方式相比具有以下鲜明的特点:1.具有数字信号处理技术共有的特点。
(1)处理精度高。
(2)重现性能好。
(3)灵活性高。
2.数字图像处理后的图像是供人观察和评价的,也可能作为机器视觉的预处理结果。
3.数字图像处理技术适用面宽。
4.数字图像处理技术综合性强。
1.3 数字图像处理主要包括哪些研究内容?答:图像处理的任务是将客观世界的景象进行获取并转化为数字图像、进行增强、变换、编码、恢复、重建、编码和压缩、分割等处理,它将一幅图像转化为另一幅具有新的意义的图像。
1.4 讨论数字图像处理系统的组成。
列举你熟悉的图像处理系统并分析它们的组成和功能。
答:如图1.8,数字图像处理系统是应用计算机或专用数字设备对图像信息进行处理的信息系统。
图像处理系统包括图像处理硬件和图像处理软件。
图像处理硬件主要由图像输入设备、图像运算处理设备(微计算机)、图像存储器、图像输出设备等组成。
软件系统包括操作系统、控制软件及应用软件等。
图1.8 数字图像处理系统结构图1.5 常见的数字图像处理开发工具有哪些?各有什么特点?答.目前图像处理系统开发的主流工具为Visual C++(面向对象可视化集成工具)和MATLAB的图像处理工具箱(Image Processing Tool box)。
matlab toolbox类型

matlab toolbox类型Matlab Toolbox 类型Matlab 是一种强大的数值计算与科学编程工具,由于其卓越的性能和丰富的功能,被广泛应用于科学、工程和金融等领域。
为了更好地满足不同领域用户的需求,Matlab 提供了丰富的工具箱(Toolbox),包含了各种专门用于特定领域的函数和工具。
本文将介绍 Matlab Toolbox 的类型及其应用。
一、控制系统工具箱(Control System Toolbox)控制系统工具箱是 Matlab 中用于设计、分析和模拟控制系统的重要工具箱。
它包含了许多在控制工程中常用的函数和算法,如PID 控制器设计、稳定性分析、系统响应等。
控制系统工具箱的使用可以帮助工程师快速实现对控制系统的建模、仿真和优化。
二、图像处理工具箱(Image Processing Toolbox)图像处理工具箱是专门用于数字图像处理的工具箱,提供了丰富的图像处理函数和算法。
它可以帮助用户实现图像的滤波、增强、分割、配准等操作,还支持图像的压缩和编码。
图像处理工具箱被广泛应用于计算机视觉、医学影像分析、遥感图像处理等领域。
三、信号处理工具箱(Signal Processing Toolbox)信号处理工具箱提供了丰富的信号处理函数,用于设计和分析各种类型的信号。
这些函数包括了离散傅里叶变换(DFT)、滤波器设计、频谱分析等。
信号处理工具箱在音频处理、通信系统设计、生物医学信号处理等领域具有广泛的应用。
四、机器学习工具箱(Machine Learning Toolbox)机器学习工具箱是 Matlab 中用于实现各种机器学习算法的工具箱。
它包含了常用的分类、回归、聚类、降维等算法,如支持向量机(SVM)、决策树、神经网络等。
机器学习工具箱的使用使得用户能够在数据挖掘、模式识别、预测分析等任务中实现自动化的学习与决策。
五、优化工具箱(Optimization Toolbox)优化工具箱是用于解决数学最优化问题的工具箱,提供了各种优化算法和函数。
MATLAB工具箱的功能及使用方法

MATLAB工具箱的功能及使用方法引言:MATLAB是一种常用的用于数值计算和科学工程计算的高级计算机语言和环境。
它的灵活性和强大的计算能力使得它成为工程师、科学家和研究人员的首选工具之一。
而在MATLAB中,工具箱则提供了各种专业领域的功能扩展,使得用户能够更方便地进行数据分析、信号处理、优化和控制系统设计等任务。
本文将介绍MATLAB工具箱的一些常见功能及使用方法,并探讨其在不同领域中的应用。
一、图像处理工具箱图像处理工具箱(Image Processing Toolbox)是MATLAB的核心工具之一,它提供了一套强大的函数和算法用于处理和分析数字图像。
在图像处理方面,可以使用MATLAB工具箱实现各种操作,如图像增强、降噪、边缘检测、图像分割等。
其中最常用的函数之一是imread,用于读取图像文件,并将其转换为MATLAB中的矩阵形式进行处理。
此外,还有imwrite函数用于将处理后的图像保存为指定的文件格式。
二、信号处理工具箱信号处理工具箱(Signal Processing Toolbox)是用于处理连续时间和离散时间信号的工具箱。
它提供了一系列的函数和工具用于信号的分析、滤波、变换和频谱分析等操作。
在该工具箱中,最常用的函数之一是fft,用于计算信号的快速傅里叶变换,从而获取信号的频谱信息。
此外,还有滤波器设计函数,用于设计和实现各种数字滤波器,如低通滤波器、高通滤波器和带通滤波器等。
三、优化工具箱优化工具箱(Optimization Toolbox)提供了解决各种优化问题的函数和算法。
MATLAB中的优化工具箱支持线性规划、非线性规划、整数规划、二次规划等多种优化问题的求解。
其中最常用的函数之一是fmincon,用于求解无约束和约束的非线性优化问题。
通过传入目标函数和约束条件,该函数可以找到满足最优性和约束条件的最优解。
四、控制系统工具箱控制系统工具箱(Control System Toolbox)用于建模、设计和分析各种控制系统。
MATLAB工具箱介绍

MATLAB工具箱介绍MATLAB是一种强大的数学软件,其功能强大且灵活,可用于多种领域的数学和工程计算。
MATLAB提供了一系列的工具箱,用于扩展和增强其功能。
这些工具箱涵盖了许多领域,包括图像处理、信号处理、控制系统设计、机器学习、优化、统计分析等。
下面将对MATLAB的一些重要的工具箱进行介绍。
1. 图像处理工具箱(Image Processing Toolbox):该工具箱提供了大量的函数和工具,用于图像的处理和分析。
它允许用户加载、处理和保存图像,进行图像增强、滤波、分割、特征提取等操作。
此外,它还提供了各种图像处理算法,如边缘检测、图像配准、形态学处理等,可广泛应用于计算机视觉、医学影像、模式识别等领域。
2. 信号处理工具箱(Signal Processing Toolbox):该工具箱提供了丰富的函数和工具,用于数字信号的分析、滤波、频谱分析、信号合成等。
它包含了多种信号处理技术,如离散傅立叶变换(DFT)、离散余弦变换(DCT)、滤波器设计、自适应信号处理等。
信号处理工具箱广泛应用于语音处理、音频处理、通信系统设计等领域。
3. 控制系统工具箱(Control System Toolbox):该工具箱提供了丰富的函数和工具,用于控制系统的建模、分析和设计。
它允许用户创建传递函数、状态空间模型和分块模型,进行系统响应分析、稳定性分析、鲁棒性分析等。
控制系统工具箱还提供了多种经典和现代控制设计技术,如根轨迹法、频率响应法、状态反馈法、模糊控制等。
4. 机器学习工具箱(Machine Learning Toolbox):该工具箱提供了丰富的函数和工具,用于机器学习和模式识别任务。
它包含许多机器学习算法,如支持向量机(SVM)、朴素贝叶斯分类器、决策树、神经网络等。
机器学习工具箱还提供了数据预处理、特征选择和模型评估的功能,可用于数据挖掘、模式分类、预测分析等应用。
5. 优化工具箱(Optimization Toolbox):该工具箱提供了多种优化算法和工具,用于优化问题的求解。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1. 图像和图像数据缺省情况下,MATLAB将图像中的数据存储为双精度类型(double),64位浮点数,所需存储量很大;MATLAB还支持另一种类型无符号整型(uint8),即图像矩阵中每个数据占用1个字节。
在使用MATLAB工具箱时,一定要注意函数所要求的参数类型。
另外,uint8与double两种类型数据的值域不同,编程需注意值域转换。
从uint8到double的转换---------------------------------------------图像类型MATLAB语句---------------------------------------------索引色 B=double(A)+1索引色或真彩色 B=double(A)/255二值图像 B=double(A)---------------------------------------------从double到uint8的转换---------------------------------------------图像类型MATLAB语句---------------------------------------------索引色B=uint8(round(A-1))索引色或真彩色 B=uint8(round(A*255))二值图像B=logical(uint8(round(A))) ---------------------------------------------2. 图像处理工具箱所支持的图像类型2.1 真彩色图像R、G、B三个分量表示一个像素的颜色。
如果要读取图像中(100,50)处的像素值,可查看三元数据(100,50,1:3)。
真彩色图像可用双精度存储,亮度值范围是[0,1];比较符合习惯的存储方法是用无符号整型存储,亮度值范围[0,255]2.2 索引色图像包含两个结构,一个是调色板,另一个是图像数据矩阵。
调色板是一个有3列和若干行的色彩映象矩阵,矩阵每行代表一种颜色,3列分别代表红、绿、蓝色强度的双精度数。
注意:MATLAB中调色板色彩强度[0,1],0代表最暗,1代表最亮。
常用颜色的RGB值--------------------------------------------颜色R G B 颜色 R G B--------------------------------------------黑0 0 1 洋红 1 0 1白 1 1 1 青蓝 0 1 1红 1 0 0 天蓝0.67 0 1绿0 1 0 橘黄 1 0.5 0蓝0 0 1 深红0.5 0 0黄 1 1 0 灰 0.5 0.5 0.5--------------------------------------------产生标准调色板的函数-------------------------------------------------函数名调色板------------------------------------------------- Hsv 色彩饱和度,以红色开始,并以红色结束Hot 黑色-红色-黄色-白色Cool 青蓝和洋红的色度Pink 粉红的色度Gray 线型灰度Bone 带蓝色的灰度Jet Hsv的一种变形,以蓝色开始,以蓝色结束Copper 线型铜色度Prim 三棱镜,交替为红、橘黄、黄、绿和天蓝Flag 交替为红、白、蓝和黑-------------------------------------------------- 缺省情况下,调用上述函数灰产生一个64×3的调色板,用户也可指定调色板大小。
索引色图像数据也有double和uint8两种类型。
当图像数据为double类型时,值1代表调色板中的第1行,值2代表第2行……如果图像数据为uint8类型,0代表调色板的第一行,,值1代表第2行……2.3 灰度图像存储灰度图像只需要一个数据矩阵。
数据类型可以是double,[0,1];也可以是uint8,[0,255] 2.4 二值图像二值图像只需一个数据矩阵,每个像素只有两个灰度值,可以采用uint8或double类型存储。
MATLAB工具箱中以二值图像作为返回结果的函数都使用uint8类型。
2.5 图像序列MATLAB工具箱支持将多帧图像连接成图像序列。
图像序列是一个4维数组,图像帧的序号在图像的长、宽、颜色深度之后构成第4维。
分散的图像也可以合并成图像序列,前提是各图像尺寸必须相同,若是索引色图像,调色板也必须相同。
可参考cat()函数 A=cat(4,A1,A2,A3,A4,A5)3. MATLAB图像类型转换图像类型转换函数---------------------------------------------------------------------------函数名函数功能---------------------------------------------------------------------------dither 图像抖动,将灰度图变成二值图,或将真彩色图像抖动成索引色图像gray2ind 将灰度图像转换成索引图像grayslice 通过设定阈值将灰度图像转换成索引色图像im2bw 通过设定亮度阈值将真彩色、索引色、灰度图转换成二值图ind2gray 将索引色图像转换成灰度图像ind2rgb 将索引色图像转换成真彩色图像mat2gray 将一个数据矩阵转换成一副灰度图rgb2gray 将一副真彩色图像转换成灰度图像rgb2ind 将真彩色图像转换成索引色图像----------------------------------------------------------------------------4. 图像文件的读写和查询4.1 图形图像文件的读取利用函数imread()可完成图形图像文件的读取,语法:A=imread(filename,fmt)[X,map]=imread(filename,fmt)[...]=imread(filename)[...]=imread(filename,idx) (只对TIF格式的文件)[...]=imread(filename,ref) (只对HDF格式的文件)通常,读取的大多数图像均为8bit,当这些图像加载到内存中时,Matlab就将其存放在类uint8中。
此为Matlab还支持16bit的PNG和TIF图像,当读取这类文件时,Matlab就将其存贮在uint16中。
注意:对于索引图像,即使图像阵列的本身为类uint8或类uint16,imread函数仍将颜色映象表读取并存贮到一个双精度的浮点类型的阵列中。
4.2 图形图像文件的写入使用imwrite函数,语法如下:imwrite(A,filename,fmt)imwrite(X,map,filename,fmt)imwrite(...,filename)imwrite(...,parameter,value)当利用imwrite函数保存图像时,Matlab缺省的方式是将其简化道uint8的数据格式。
4.3 图形图像文件信息的查询imfinfo()函数5. 图像文件的显示5.1 索引图像及其显示方法一:image(X)colormap(map)方法二:imshow(X,map)5.2 灰度图像及其显示Matlab 7.0 中,要显示一副灰度图像,可以调用函数 imshow 或 imagesc (即imagescale,图像缩放函数)(1) imshow 函数显示灰度图像使用imshow(I) 或使用明确指定的灰度级书目:imshow(I,32)由于Matlab自动对灰度图像进行标度以适合调色板的范围,因而可以使用自定义大小的调色板。
其调用格式如下:imshow(I,[low,high]) 其中,low 和 high 分别为数据数组的最小值和最大值。
(2) imagesc 函数显示灰度图像下面的代码是具有两个输入参数的 imagesc 函数显示一副灰度图像imagesc(1,[0,1]);colormap(gray);imagesc 函数中的第二个参数确定灰度范围。
灰度范围中的第一个值(通常是0),对应于颜色映象表中的第一个值(颜色),第二个值(通常是1)则对应与颜色映象表中的最后一个值(颜色)。
灰度范围中间的值则线型对应与颜色映象表中剩余的值(颜色)。
在调用 imagesc 函数时,若只使用一个参数,可以用任意灰度范围显示图像。
在该调用方式下,数据矩阵中的最小值对应于颜色映象表中的第一个颜色值,数据矩阵中的最大值对应于颜色映象表中的最后一个颜色值。
5.3 RGB 图像及其显示(1) image(RGB)不管RGB图像的类型是double浮点型,还是 uint8 或 uint16 无符号整数型,Matlab都能通过 image 函数将其正确显示出来。
RGB8 = uint8(round(RGB64×255)); %将 double 浮点型转换为 uint8 无符号整型RGB64 = double(RGB8)/255; %将uint8 无符号整型转换为 double 浮点型RGB16 = uint16(round(RGB64×65535)); %将 double 浮点型转换为 uint16 无符号整型RGB64 = double(RGB16)/65535; %将 uint16 无符号整型转换为 double 浮点型(2) imshow(RGB) 参数是一个 m×n×3 的数组5.4 二进制图像及其显示(1) imshow(BW)在 Matlab 7.0 中,二进制图像是一个逻辑类,仅包括 0 和 1 两个数值。
像素 0 显示为黑色,像素 1 显示为白色。
显示时,也可通过NOT(~)命令,对二进制图象进行取反,使数值 0 显示为白色;1 显示为黑色。
例如: imshow(~BW)(2) 此外,还可以使用一个调色板显示一副二进制图像。
如果图形是 uint8 数据类型,则数值 0 显示为调色板的第一个颜色,数值 1 显示为第二个颜色。
例如: imshow(BW,[1 0 0;0 0 1])5.5 直接从磁盘显示图像可使用一下命令直接进行图像文件的显示:imshow filename其中,filename 为要显示的图像文件的文件名。
如果图像是多帧的,那么 imshow 将仅显示第一帧。
但需注意,在使用这种方式时,图像数据没有保存在Matlab 7.0 工作平台。
如果希望将将图像装入工作台中,需使用 getimage 函数,从当前的句柄图形图像对象中获取图像数据,命令形式为:rgb = getimage;1、图像的变换①fft2:fft2函数用于数字图像的二维傅立叶变换,如:i=imread('104_8.tif');j=fft2(i);②ifft2::ifft2函数用于数字图像的二维傅立叶反变换,如:i=imread('104_8.tif'); j=fft2(i);k=ifft2(j);2、模拟噪声生成函数和预定义滤波器① imnoise:用于对图像生成模拟噪声,如:i=imread('104_8.tif'); j=imnoise(i,'gaussian',0,0.02);%模拟高斯噪声② fspecial:用于产生预定义滤波器,如:h=fspecial('sobel');%sobel水平边缘增强滤波器h=fspecial('gaussian');%高斯低通滤波器h=fspecial('laplacian');%拉普拉斯滤波器h=fspecial('log');%高斯拉普拉斯(LoG)滤波器h=fspecial('average');%均值滤波器2、图像的增强①直方图:imhist函数用于数字图像的直方图显示,如:i=imread('104_8.tif');imhist(i);②直方图均化:histeq函数用于数字图像的直方图均化,如:i=imread('104_8.tif');j=histeq(i);③对比度调整:imadjust函数用于数字图像的对比度调整,如:i=imread('104_8.tif');j=imadjust(i,[0.3,0.7],[]);④对数变换:log函数用于数字图像的对数变换,如:i=imread('104_8.tif');j=double(i);k=log(j);⑤基于卷积的图像滤波函数:filter2函数用于图像滤波,如:i=imread('104_8.tif');h=[1,2,1;0,0,0;-1,-2,-1];j=filter2(h,i);⑥线性滤波:利用二维卷积conv2滤波, 如:i=imread('104_8.tif');h=[1,1,1;1,1,1;1,1,1];h=h/9;j=conv2( i,h);⑦中值滤波:medfilt2函数用于图像的中值滤波,如:i=imread('104_8.tif');j=medfilt2(i);⑧锐化(1)利用Sobel算子锐化图像, 如:i=imread('104_8.tif');h=[1,2,1;0,0,0;-1,-2,-1];%Sobel算子j=filter2(h,i);(2)利用拉氏算子锐化图像, 如:i=imread('104_8.tif');j=double(i);h=[0,1,0;1,-4,0;0,1,0];%拉氏算子k=conv2(j,h,'same');m=j-k;3、图像边缘检测①sobel算子如:i=imread('104_8.tif');j = edge(i,'sobel',thresh)②prewitt算子如:i=imread('104_8.tif');j = edge(i,'prewitt',thresh)③roberts算子如:i=imread('104_8.tif');j = edge(i,'roberts',thresh)④log算子如:i=imread('104_8.tif');j = edge(i,'log',thresh)⑤canny算子如:i=imread('104_8.tif');j = edge(i,'canny',thresh)⑥Zero-Cross算子如:i=imread('104_8.tif');j = edge(i,'zerocross',thresh)4、形态学图像处理①膨胀:是在二值化图像中“加长”或“变粗”的操作,函数imdilate 执行膨胀运算,如:a=imread('104_7.tif'); %输入二值图像b=[0 1 0;1 1 1;0 1 0]; c=imdilate(a,b);②腐蚀:函数imerode执行腐蚀,如:a=imread('104_7.tif'); %输入二值图像b=strel('disk',1);c=imerode(a,b);③开运算:先腐蚀后膨胀称为开运算,用imopen来实现,如:a=imread('104_8.tif');b=strel('square',2);c=imopen(a,b);④闭运算:先膨胀后腐蚀称为闭运算,用imclose来实现,如:a=imread('104_8.tif');b=strel('square',2);c=imclose(a,b);。