精通MATLAB图像处理PPT_第1页
已阅读1页,还剩57页未读 继续免费阅读

下载本文档

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

文档简介

1、2022-5-241第一章第一章 Matlab概述概述2022-5-242MATLAB的优势与特点n1.友好的工作平台和编程环境友好的工作平台和编程环境n2.简单易用的编程语言简单易用的编程语言n3.强大的科学计算和数据处理能力强大的科学计算和数据处理能力n4.出色的图形处理功能出色的图形处理功能n5.应用广泛的模块集合工具箱应用广泛的模块集合工具箱n6.使用的程序接口和发布平台使用的程序接口和发布平台2022-5-243MALAB系统的构成n1.MATLAB开发环境开发环境n2.MATLAB数学函数库数学函数库n3.MATLAB语言语言n4.MATLAB图形处理系统图形处理系统n5.MATL

2、AB应用程序接口应用程序接口2022-5-244MATLAB的工具箱 Matlab 图像处理工具箱图像处理工具箱Image Processing Toolboxn提高图像质量,使模糊的图像变得清晰;提高图像质量,使模糊的图像变得清晰;n提取图像的有效特征,以便进行模式识别;提取图像的有效特征,以便进行模式识别;n通过图像变换和有效编码来压缩其频带或数据,通过图像变换和有效编码来压缩其频带或数据,以便传输或存储。以便传输或存储。2022-5-245图像获取工具箱图像获取工具箱 Image Acquisition Toolboxn通过该工具箱可以直接将通过该工具箱可以直接将MATLABMATLAB

3、环境同图像采集设备环境同图像采集设备连接起来,预览图像,采集数据,其主要功能如下:连接起来,预览图像,采集数据,其主要功能如下:、现场视频和图像信号的获取;、现场视频和图像信号的获取;、支持标准模拟,数字图像采集设备;、支持标准模拟,数字图像采集设备;、现场视频信号预览;、现场视频信号预览;、支持多种图像制式;、支持多种图像制式;、允许同步采集和处理;、允许同步采集和处理;2022-5-246(1)(1)、大量的信号和线性系统模型、大量的信号和线性系统模型(2)(2)、数字及模拟滤波器设计,分析及实现、数字及模拟滤波器设计,分析及实现(3)(3)、FFTFFT、DCTDCT、HilbertHi

4、lbert及其他变换及其他变换(4)(4)、统计信号处理、统计信号处理(5)(5)、用统计方法进行时间序列建模及谱估计、用统计方法进行时间序列建模及谱估计(6)(6)、波形生成、窗口生成、波形生成、窗口生成(7)(7)、集成的图形界面用于滤波器设计、分析,谱、集成的图形界面用于滤波器设计、分析,谱分析及信号的可视化测量分析及信号的可视化测量信号信号处理工具箱函数(处理工具箱函数(signal signal Processing ToolboxProcessing Toolbox)2022-5-247主要功能有:主要功能有:(1)(1)、完整的、完整的GUIGUI和命令行功能,用于分析,综合和命

5、令行功能,用于分析,综合和去噪、压缩信号和图像和去噪、压缩信号和图像(2)(2)、小波和信号处理工具箱,其中包括实现从、小波和信号处理工具箱,其中包括实现从尺度到频率变换的函数尺度到频率变换的函数(3)(3)、连续小波变换,用于多出度信号分析、连续小波变换,用于多出度信号分析(4)(4)、分解和分析多分辨率信号和图像、分解和分析多分辨率信号和图像(5)(5)、信号和图像的小波包变换、信号和图像的小波包变换 小波工具箱小波工具箱2022-5-248第二章 MATLAB基本运算Matlab Matlab 原本就是原本就是 Matrix Laboratory (Matrix Laboratory (

6、矩阵实验室矩阵实验室) ) 的缩的缩写,所以他会认识矩阵,我们应该不会感到意外。我们用写,所以他会认识矩阵,我们应该不会感到意外。我们用 A = 1, 2; 3, 4 A = 1, 2; 3, 4 指派一个指派一个 2x2 2x2 方阵给变量方阵给变量 A A。输入矩阵的时候,我们用中括号夹住两端,用逗号(,)输入矩阵的时候,我们用中括号夹住两端,用逗号(,)或者空格分开元素,用分号(;)分列。元素可以是常数、变或者空格分开元素,用分号(;)分列。元素可以是常数、变量和任何计算出来的数值量和任何计算出来的数值2022-5-249MATLABMATLAB数据类型数据类型1 1、变量与常量、变量与

7、常量 变量是数值计算的基本单元。与变量是数值计算的基本单元。与C C语言等其他语言等其他高级语言不同,高级语言不同,MATLABMATLAB语言中的变量无需事先定语言中的变量无需事先定义,一个变量以其名称在语句命令中第一次合法义,一个变量以其名称在语句命令中第一次合法出现而定义,运算表达式中不允许有未定义的变出现而定义,运算表达式中不允许有未定义的变量,也不需要预先定义变量的类型,量,也不需要预先定义变量的类型,MATLABMATLAB会自会自动生成变量,并根据变量的操作确定其类型动生成变量,并根据变量的操作确定其类型2022-5-24102、字符串 字符串是字符串是MATLAB中符号运算的基

8、本元素,中符号运算的基本元素,也是文字等表达方式的基本元素,在也是文字等表达方式的基本元素,在MATLAB中,字符串作为字符数组用单引号(中,字符串作为字符数组用单引号()引用)引用到程序中,还可以通过字符运算组成复杂的字到程序中,还可以通过字符运算组成复杂的字符串。字符串数值和数字数值之间可以进行转符串。字符串数值和数字数值之间可以进行转换,也可以执行字符串的有关操作换,也可以执行字符串的有关操作2022-5-24113、元胞数组n元胞是元胞数组(Cell Array)的基本组成部分。元胞数组与数字数组相似,以下标来区分,单元胞数组由元胞和元胞内容两部分组成。用表示元胞数组的内容,用圆括号(

9、)表示元胞元素。与一般的数值数组不同,元胞可以存放任何类型、任何大小的数组,而且同一个元胞数组中各元胞的内容可以不同。2022-5-2412数组及其运算nMATLAB中数组(中数组(array)可以说无处不在,任何变)可以说无处不在,任何变量在量在MATLAB中都是以数组的形式存储和运算的。中都是以数组的形式存储和运算的。n根据数组元素个数和配列方式,可分为如下几类:根据数组元素个数和配列方式,可分为如下几类:(1)没有元素的空数组)没有元素的空数组(2)只有一个元素的标量,它实际是一行一列的数组)只有一个元素的标量,它实际是一行一列的数组(3)只有一行或一列元素的向量,分别叫做行向量和列)只

10、有一行或一列元素的向量,分别叫做行向量和列向量,也统称为一维数组向量,也统称为一维数组(4)普通的具有多行多列元素的二维数组)普通的具有多行多列元素的二维数组(5)超过二维的多维数组)超过二维的多维数组2022-5-2413数组的创建1、空数组、空数组 创建空数组很简单,只需要变量赋值为空的方括号即可创建空数组很简单,只需要变量赋值为空的方括号即可2、一维数组、一维数组 创建一维行向量,只需要把所有用空格或逗号分隔的元素用创建一维行向量,只需要把所有用空格或逗号分隔的元素用方括号括起来,而创建一维列向量,则需要在方括号括起来的元方括号括起来,而创建一维列向量,则需要在方括号括起来的元素之间用分

11、号分隔素之间用分号分隔3、二维数组、二维数组 常规创建二维数组的方法实际上和创建一维数组方法类似,常规创建二维数组的方法实际上和创建一维数组方法类似,就是综合运用方括号,逗号,空格以及分号就是综合运用方括号,逗号,空格以及分号 方括号把所有元素括起来,不同行元素之间用分号分隔,同方括号把所有元素括起来,不同行元素之间用分号分隔,同一行元素之间用逗号或空格间隔,按照逐行排列的方式顺序书写一行元素之间用逗号或空格间隔,按照逐行排列的方式顺序书写每个元素每个元素 2022-5-2414数组创建实例2022-5-2415矩阵及其运算n矩阵的创建n由m行n列构成的数组a称为m*n阶矩阵,它总共有m*n个

12、元素组成 2022-5-2416复数及其运算n1、复数的表示、复数的表示nMATLAB是以是以i或或j字元来代表虚部复数运算的。一个字元来代表虚部复数运算的。一个复数可表示为:复数可表示为:x=a+bi,其中其中a称为实部,称为实部,b称为虚部。称为虚部。且满足如下关系:且满足如下关系:r=(a2+b2)*1/2,tano=b/a.n一个复数可以看做是关于虚部和实部的符号函数,可一个复数可以看做是关于虚部和实部的符号函数,可用两种方法构造:用两种方法构造:1.用直接法构造两种形式的复数。用直接法构造两种形式的复数。2.用符号函数法构造两种形式的复数用符号函数法构造两种形式的复数2022-5-2

13、417复数构造实例2022-5-2418符号运算n符号运算概述 符号数学工具箱是操作和解决符号符号表达式的符号数学工符号数学工具箱是操作和解决符号符号表达式的符号数学工具箱集合,有复合、简化、微分、积分,以及求解代数方程和微具箱集合,有复合、简化、微分、积分,以及求解代数方程和微分方程的工具。另外,还有一些用于线性代数的工具,求解逆,分方程的工具。另外,还有一些用于线性代数的工具,求解逆,行列式、正则形式的精确结果,找出符号矩阵的特征值而没有由行列式、正则形式的精确结果,找出符号矩阵的特征值而没有由数值计算引入的误差。工具箱还支持可变精度运算。数值计算引入的误差。工具箱还支持可变精度运算。 符

14、号运算与数值运算的主要区别如下:符号运算与数值运算的主要区别如下:(1)数值运算中必须先对变量赋值,然后才能参与运算)数值运算中必须先对变量赋值,然后才能参与运算(2)符号运算无需事先对独立变量赋值,运算结果以标准的运算形)符号运算无需事先对独立变量赋值,运算结果以标准的运算形式表达。式表达。2022-5-2419符号变量和符号表达式符号变量和符号表达式用符号变量和符号表达式用symsym函数来创建。如函数来创建。如x=sym(x)x=sym(x)运行后,符号变量运行后,符号变量x x这口箱子里面存放字母这口箱子里面存放字母x x。如果要同时创建几个符号变量,要用到如果要同时创建几个符号变量,

15、要用到symssyms函数。如函数。如syms a b c x ysyms a b c x y在定义了符号变量的基础上,就可以定义符号表达式。如在定义了符号变量的基础上,就可以定义符号表达式。如f=sym(af=sym(a* *x2+bx2+b* *x+c) %x+c) %定义符号表达式,并将它放入定义符号表达式,并将它放入f f这口箱子。这口箱子。这样就可以很方便地分析一元二次方程这样就可以很方便地分析一元二次方程 ,通过对,通过对f f执行符号操作,可以进行执行符号操作,可以进行积分、微分等符号运算工作。如积分、微分等符号运算工作。如: :对变量对变量f f求微分,用微分函数求微分,用微分

16、函数diff(diff()。)。2022-5-2420 df=diff(f) df=diff(f)在符号表达式中,对于自变量的确定,如果事先没有指定自变在符号表达式中,对于自变量的确定,如果事先没有指定自变量的量的情况下,情况下,MATLABMATLAB会按照数学常规自行决定谁是自变量。确定原则:会按照数学常规自行决定谁是自变量。确定原则:除了除了和之外,最接近的小写字母被认定为自变量。和之外,最接近的小写字母被认定为自变量。如果我们在编程的过程中,不能确定自变量,有一个函数可以告如果我们在编程的过程中,不能确定自变量,有一个函数可以告诉你:诉你:findsymfindsym2022-5-24

17、21符号表达式创建实例2022-5-2422符号表达式的四则运算nfactor(S):对S分解因式,S是符号表达式或符号矩阵nexpand(S):对S进行展开,S是符号表达式或符号矩阵ncollect(S):对S合并同类项,S是符号表达式或符号矩阵ncollect(S,v):对S按变量v合并同类项,S是符号表达式或符号矩阵nsimplify(S):应用函数规则对S进行化简nsimple(S):调用MATLAB的其他函数对表达式进行综合化简,并显示化简过程2022-5-2423常用的符号运算n常用的符号运算有求极值,级数求和,微积分,解微分方程等(1)limit 是求极限的符号运算,常用的格式为

18、:limit(F,x,a,right)或limit(F,x,a,left)表示当自变量x从右侧或左侧逼近a时,函数F的极值(2)diff 是求微分最常用的符号函数,其输入参数既可以是函数表达式,也可以是符号矩阵。常用的格式是diff(f,x,n) ,表示f关于x求n阶导数(3)int 是求积分最常用的符号函数,格式:int(f,r,x0,x1)其中,f为所要积分的表达式,r为积分变量,若为定积分 2022-5-2424则x0和x1为积分上下限。(4)symsum 是级数求和的符号函数,其常用的格式如下: S=symsum(fk,k,k0,kn),其中fk味级数的通项,k为级数自变量,k0和kn

19、为级数求和的起始项和终止项,且可设置为inf(5)dsolve 是求解常微分方程的符号函数,其常用的格式如下:dsolve(eqn1,condition,var),该函数求解微分方程eqn1在初始条件condition下的特解。参数var描述方程中的自变量符号,省略时按默认原则处理,若没有给出初始条件condition,则求解方程的通解2022-5-2425关系运算和逻辑运算符号符号功能功能符号符号功能功能=大于或等于大于=不等于符号符号功能功能符号符号功能功能&逻辑与逻辑非|逻辑或2022-5-2426关系运算函数及逻辑运算函数函数名函数名功能功能函数名函数名功能功能all所有向量为

20、非零元素时为真xor逻辑异或运算any任一向量为非零元素时为真函数名函数名功能功能函数名函数名功能功能bitand位方式的逻辑与运算bitcmp位比较运算bitor位方式的逻辑或运算bitmax最大无符号浮点整数bitxor位方式的逻辑异或运算bitshift二进制数的移位运算2022-5-2427第三章 MATLAB程序设计n程序设计概述 MATLAB不仅是一种功能强大的高级语言,而且是一个集成的交互式开发环境,用户可以通过MATLAB提供的编辑调试器编写和调试MATLAB代码. MATLAB提供了代码书写和调试的集成开发环境,用户可以在调试器中完成书写和调试过程。单击MATLAB主界面的“

21、新建”工具按钮或者选择“File”“New”“M-File”菜单命令,就可以打开MATLAB代码编辑器-调试器 开发MATLAB程序一般需要经历代码编写、调试、优化几个阶段。2022-5-2428程序设计的基本原则MATLAB程序的基本组成结构程序的基本组成结构%说明说明清除命令:清除清除命令:清除workspace中的变量和图形(中的变量和图形(clear,close)定义变量:包括全局变量的声明及参数值的设定定义变量:包括全局变量的声明及参数值的设定逐行执行命令:指逐行执行命令:指MATLAB提供的运算指令或工具箱提供的专用命令提供的运算指令或工具箱提供的专用命令控制循环:包含控制循环:包

22、含for、if then、switch、while等语句等语句逐行执行命令逐行执行命令end绘图命令:将运算结果绘制出来绘图命令:将运算结果绘制出来2022-5-2429M文件nM文件的类型:文件的类型:1、脚本、脚本M文件文件2、函数、函数M文件文件nM文件的结构:文件的结构:1、函数声明行、函数声明行2、H1行行3、帮助文字、帮助文字4、M文件正文文件正文5、注释部分注释部分2022-5-2430M文件的创建实例2022-5-2431程序流程控制n分支控制语句:可以使程序中的一段代码只在满足一分支控制语句:可以使程序中的一段代码只在满足一定条件时才执行,因此也称为分支选择。定条件时才执行,

23、因此也称为分支选择。MATLAB有有两种分支语句:两种分支语句:if语句和语句和switch语句语句if结构的语法形式如下:结构的语法形式如下:if logical_expression statementselseif logical_expression statementselse logical_expression statementsend2022-5-2432循环控制语句循环控制语句能够使某段代码多次重复执行,循环控制语句能够使某段代码多次重复执行,MATLAB中提供了两类循环语句,分别是中提供了两类循环语句,分别是:for和和while循环循环1、for循环循环 for ind

24、ex = start:increment:end statementsend2、while循环循环while expression statementsend2022-5-24333、continue语句 continue语句用在循环中,表示当前循环不再继续向下执行,而是直接对循环变量进行递增,进入下一次循环。4、break语句break语句用于推出循环。 2022-5-2434程序调试MATLAB程序调试主要是发现和纠正程序中的错误。程序调试主要是发现和纠正程序中的错误。常见的程序错误:常见的程序错误:一、运算发面的错误一、运算发面的错误1、矩阵下标索引使用错误、矩阵下标索引使用错误2、矩阵

25、运算对象维数不匹配的错误、矩阵运算对象维数不匹配的错误3、元素与矩阵运算的错误、元素与矩阵运算的错误二、函数方明的错误二、函数方明的错误1、函数没有定义、函数没有定义2、函数输出变量未赋值、函数输出变量未赋值3、在命令窗口中定义函数、在命令窗口中定义函数2022-5-2435调试方法nMATLAB程序有直接调试法和工具调试法程序有直接调试法和工具调试法1、直接调试法:就是在、直接调试法:就是在M文件中,将某些语句后面的分文件中,将某些语句后面的分号去掉,迫使号去掉,迫使M文件输出一些中间计算结构,一便发文件输出一些中间计算结构,一便发现可能的错误。现可能的错误。2、工具调试法:就是在程序中设置

26、一些断点,利用调试、工具调试法:就是在程序中设置一些断点,利用调试菜单(菜单(Debug)中的一些选项进行调试。)中的一些选项进行调试。2022-5-2436调试工具2022-5-2437第五章 MALAB图像处理基础nMATLAB图像文件的格式图像文件的格式1、PCX(Window Paintbar) PCX图像文件格式处理图像文件格式处理1、4、8、16、24位等图像数据。其中文位等图像数据。其中文件内容包括文件头件内容包括文件头128字节、图像数据和扩展颜色映射表数据。字节、图像数据和扩展颜色映射表数据。2、BMP(Window Bitmap) BMP图像文件格式处理图像文件格式处理1、

27、4、8、24位非压缩图像,位非压缩图像,8位位RLE图像。图像。文件内容包括头文件。位图信息数据块和图像数据。文件内容包括头文件。位图信息数据块和图像数据。3、HDF:图像文件格式有图像文件格式有8、24位光栅图像数据集位光栅图像数据集4、JPEG:图像文件格式是一种称为联合图像专家组的图像压缩格式图像文件格式是一种称为联合图像专家组的图像压缩格式5、TIFF:图像文件格式处理图像文件格式处理1、4、8、24位非压缩图像位非压缩图像6、XWD:图像文件格式包括图像文件格式包括1、8位位Zpixmaps/XYBitmaps,1位位XYBitmaps2022-5-2438图像类型n索引图像n灰度图

28、像nRGB图像n二值图像2022-5-2439索引图像及颜色表说明实例2022-5-2440灰度图像结构2022-5-2441灰度图像显示2022-5-2442RGB图像显示2022-5-2443二值图像结构及部分矩阵2022-5-2444MATLAB中的颜色模型n颜色模型的分类颜色模型的分类1、RGB模型模型2、HSV模型模型3、YCbCr模型模型4、NTSC模型模型2022-5-2445颜色模型的转换2022-5-2446图像处理基本函数 图像处理是图像处理是MATLAB工具箱中的一个很重要的应用。工具箱中的一个很重要的应用。MATLAB图像处理工具箱集成了很多图像处理的算法,图像处理工具

29、箱集成了很多图像处理的算法,为从事图像处理工作的科研人员和学生提供了很多便为从事图像处理工作的科研人员和学生提供了很多便利。利用利。利用matlab强大的图像处理工具箱,可以实现很强大的图像处理工具箱,可以实现很多功能如下所示多功能如下所示 读写图像数据,显示图像读写图像数据,显示图像 图像运算图像运算 图像增强图像增强 图像滤波图像滤波 图像分割图像分割 图形恢复图形恢复 形态学操作形态学操作2022-5-2447图像处理函数函数函数imfinfo获取图像文件信息imformats获取MATLAB可读入的标准图像格式类型及其说明imread将图像格式文件读入位MATLAB图像对象数组数据im

30、age显示图像imagesc自动缩放数值范围显示图像colormap设置颜色表axis设置显示图像的轴坐标imwrite将图像对象数据写回图像格式文件exifread获取.jpg、.tiff格式图像文件的EXIF信息2022-5-2448将图像读入及显示应用实例2022-5-2449图像写回命令应用实例2022-5-2450标准图像显示技术nimshow函数函数n显示灰度图像显示灰度图像n显示二值图像显示二值图像n显示索引图像显示索引图像n显示真彩图像显示真彩图像n显示图像文件中的图像显示图像文件中的图像2022-5-2451显示灰度图像的函数应用实例2022-5-2452二值图像显示应用实例

31、2022-5-2453显示索引图像调用调用imshow函数显示索引图像的格式如下:函数显示索引图像的格式如下: imshow(X,map)其中其中X代表索引图像的数据矩阵,代表索引图像的数据矩阵,map为颜色映射表为颜色映射表 另外,显示索引图像时,另外,显示索引图像时,imshow函数将同时设置函数将同时设置一些用来控制颜色的句柄图形的属性一些用来控制颜色的句柄图形的属性 2022-5-2454显示真彩图像n调用调用imshow函数显示真彩图像的格式吐下函数显示真彩图像的格式吐下:imshow(RGB)其中,其中,RGB代表该真彩图像的代表该真彩图像的m*n*3的的数据阵列。数据阵列。显示图行文件中的图像格式为:显示图行

温馨提示

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

评论

0/150

提交评论