MATLAB与数字图像处理(企业精品培训)

上传人:jiups****uk12 文档编号:45681503 上传时间:2018-06-18 格式:PPT 页数:109 大小:3.49MB
返回 下载 相关 举报
MATLAB与数字图像处理(企业精品培训)_第1页
第1页 / 共109页
MATLAB与数字图像处理(企业精品培训)_第2页
第2页 / 共109页
MATLAB与数字图像处理(企业精品培训)_第3页
第3页 / 共109页
MATLAB与数字图像处理(企业精品培训)_第4页
第4页 / 共109页
MATLAB与数字图像处理(企业精品培训)_第5页
第5页 / 共109页
点击查看更多>>
资源描述

《MATLAB与数字图像处理(企业精品培训)》由会员分享,可在线阅读,更多相关《MATLAB与数字图像处理(企业精品培训)(109页珍藏版)》请在金锄头文库上搜索。

1、MATLAB与数字图像处理1课程内容n1、MATLAB简介n2、MATLAB语言程序设计n3、MATLAB图形功能n4、基于MATLAB的数字图像处理21.MATLAB简介nMathWorks公司n科学研究需要大量的数学计算,用传统的编程 语言(C/C+, Basic, Fortran等)实现复杂计算 时,需熟练地掌握所用语言的语法及编程技巧, 对多数科学工作者而言,编制程序非常繁杂,不 仅消耗人力与物力,而且影响工作进程和效率。n为克服上述困难,美国Mathworks公司于1984 年推出了商用的“Matrix Laboratory”(缩写为 Matlab)软件包, 其内核采用C语言编写,并

2、不 断更新和扩充。是一种功能强、效率高便于进行 科学和工程计算的交互式软件包。3nMATLAB 语言是当今国际上科学界最具 影响力、也是最有活力的软件。它提供 了强大的科学运算、灵活的程序设计 流程、高质量的图形可视化与界面设 计、便捷的与其他程序和语言接口的 功能。MATLAB 语言在各国高校与研究 单位起着重大的作用。4在美国和欧洲大学中,九十年代将 MATLAB正式列入了电子工程专业研究生 和本科生的教学计划, MATLAB是必须 掌握的基本工具。在设计研究单位和工业界,MATLAB也 成为工程师们应该掌握的一种工具,是 被认作进行高效研究、开发的首选软件 工具。5Do you spea

3、k MATLAB ?“Over one million people around the world speak MATLAB. Engineers and scientists in every field from aerospace and semiconductors to biotech, financial services, and earth and ocean sciences use it to express their ideas”from IEEE Signal Processing Magzine, vol.26, no.1, Jan. 2009.6用户使用方便:

4、稿纸似的编程,无需编译连接;高效方便的矩阵和数组运算 ;具有丰富的数学功能:矩阵各种运算。如:正交变换、三角分解、特征值等。各种特殊函数。如:贝塞尔函数、勒让德函数、伽码函 数、 贝塔函数、椭圆函数等。各种数学运算功能。如:数值微分、数值积分、插值、求 极值、方程求根、FFT 、常微分方程的数值解等。nMATLAB的特点7MATLAB的特点具有若干功能强大的应用工具箱 :Communication、Control system、SIGNAL 等方便的绘图功能 :绘图函数很丰富;二维、三维图形、图形用户界面,图形用户 界面GUI制作工具,方便制作用户菜单和控件。具有很好的帮助功能:提供十分详细的

5、帮助文件、连机查询指令help 指令。82、Matlab工作环境n命令窗口n是MATLAB提供给用户的操作界面,在命令窗 口中,用户可以实现MATLAB的各种功能。nM文件编辑器(M文件是MATLAB所特有的使 用该语言编写的磁盘文件)n是MATLAB为用户提供的用于编辑M文件的程序nM文件调试器n用于调试M文件的程序。nMATLAB工作空间n显示用户在MATLAB中通过命令行进行操作的 变量集合的窗口。n在线帮助文档 93、MATLAB图形处理系统n图形处理系统提供图形处理功能,用于 工程计算结果的可视化。n绘制二维图形n绘制三维图形及交互式观看n定制图形用户界面104、Matlab数学函数

6、库n既有求和、正余弦计算等简单函数,也有“线 性代数”中常见的各种矩阵运算、信号分析中 的快速傅立叶变换等复杂函数。nMATLAB数学函数通过两种方式提供给用户 :n(1)内部函数nMATLAB内部数学函数是一些简单的函数,直接内 置于MATLAB核心中,执行效率较高。n(2)以M文件的形式提供的函数n这种形式便于MATLAB不断增强功能,能够运用于 越来越多的领域。n执行效率相对低115、Matlab应用程序接口n(API)是一个让MATLAB语言同C 、 Fortran等其它高级语言进行交互的函 数库,通过动态连接来读写MATLAB文 件。n(1)从MATLAB中调用C和Fortran程序

7、 ;n(2)从MATLAB中输入和输出数据;n(3)在MATLAB和其它应用程序间建立 客户/服务器关系12nMATLAB编程举例n矩阵运算13n一维信号处理:信号滤波信号:s1 = sin(2*pi*t*5); s2=sin(2*pi*t*15); s3=sin(2*pi*t*30);S=s1+s2+s3滤波器:b,a = ellip(4,0.1,40,10 20*2/Fs);H,w = freqz(b,a,512);滤波后的结果sf = filter(b,a,s);14n二维信号处理:图像处理15MATLAB的窗口16n源程序编辑器 MATLAB的源程序由 ACSII构成,任何文本 编辑器

8、都可以用来编 写MATLAB源程序(如 写字板等)。 MATLAB的源程序文 件名为*.m,在命令窗 中直接输入文件名, 并回车,既可执行该 文件。 在调试MATLAB程序 时,如果遇到错误信 号,命令窗中会给出 错误信息,并指出错 误在源程序的行号。17nMATLAB的联机帮助Help 命令或函数名点击Help菜单182 MATLAB语言程序设计n2.1 数据类型n2.2 计算功能n2.3 MATLAB语言的控制语句n2.4 数据的I/O及保存和装载n2.5 M文件与M函数n2.6 MATLAB一些使用技巧192.1 数据类型 四种基本数据类型: 双精度数组 字符串数组 元胞数组 构架数组n

9、1、双精度数组nMATLAB最常用的数据类别是双精度;n在MATLAB中变量名区分大小写!20nMATLAB的赋值语句n直接赋值语句:变量=表达式, 例:x=1/3;n函数调用语句:n 返回变量列表=函数名(输入变量列表) ,例:x,y,z=mypro(a,b,c,d);nMATLAB中的保留常量ninf无穷大nNaN不定式,如0/0, inf/inf等npi圆周率2.1 数据类型21n矩阵的表示n矩阵运算是MATLAB的灵魂!nMATLAB中矩阵的表示非常容易:A=1,2,3; 4,5,6; 7,8,0V=1 2 3V=1; 2; 32.1 数据类型22n复杂矩阵的表示C=A B;2.1 数

10、据类型23n矩阵元素的引用与赋值A(2,3)6A(1,1:2)1 2A(:,2)A(1:2,2:3)24矩阵的生成n用于乘法运算的初始矩阵通常赋成“1” 矩阵;n用于加法运算的初始矩阵,通常赋成 “0”矩阵。250矩阵与数组(1)0矩阵(矩阵或数组的所有元素为0) 的生成: A=zeros(n), 生成一个n个元素均为0 的方阵A; A=zeros(m,n), 生成一个m行n列的元 素均为0的矩阵A,或用A=zeros(m n); A=zeros(d1,d2,d3,) 返回一个维数为 d1d2d3的所有元素为0的数组,或用 A=zeros(d1 d2 d3 ); A=zeros(size(B)

11、, 生成一个全0的矩阵 A,它的尺寸与另一个矩阵B一致。 260数组与矩阵X=zeros(3) X= 0 0 0 0 0 0 0 0 0X=zeros(3,4) X= 0 0 0 0 0 0 0 0 0 0 0 027“1”矩阵或数组(2)1矩阵(矩阵或数组的所有元素为1)的生 成: A=ones(n), 生成一个n个元素均为1的方阵 A; A=ones(m,n), 生成一个m行n列的元素均为 1的矩阵A,或用A=ones(m n); A=ones(d1,d2,d3,) 返回一个维数为 d1d2d3的所有元素为1的数组,或用 A=ones(d1 d2 d3 ); A=ones(size(B),

12、 生成一个全1的矩阵A,它 的尺寸与另一个矩阵B一致。 281矩阵与数组A=ones(3,3,2) A(:,:,1)= 1 1 1 1 1 1 1 1 1 A(:,:,2)= 1 1 1 1 1 1 1 1 1292、字符串及处理字符串是用单引号括起 来的简单文本n赋值:s=Hello World!字符串中的每个字 符都是数组中的一个元素 ,以ASCII码存储,两个 字节。2.1 数据类型30n截取:t=This is a character string.u=t(11:20) charactern合并:S=s1, s2, s3;n字符串与双精度数的转换ns=MATLAB;ndouble(s)

13、 77 65 84 76 65 66nD=77nchar(D) M2.1 数据类型313、单元(元胞)数组(Cell Array) 将相异但相关的数组集成为一个数组 元胞数组的基本组分是元胞(Cell),以下标来区分 。 元胞可以存放任何类型、任何大小的数组 同一个元胞数组中各元胞的内容可以不同。2.1 数据类型32例:创建单元数组33344、结构(构架)数组(Structure Array)也能存放各类数据。该数组的基本组分是构架( Structure ),以下标来区 分 构架必须在划分“域”后才能使用,数据不能存放于构架,只能存放在域中, 构架的域可以存放任何类型、任何大小的数组, 不同构

14、架的同名域中存放的内容可不同。2.1 数据类型35例:创建结构36A.*B 两个矩阵中的元素对应相乘数组运算(点运算):.+ 加法,.- 减法,.* 乘法,. 幂,. 左除,./ 右除,.转置。1、基本运算2.2 计算功能37n矩阵运算转置:加减法:乘法:除法:A 共轭A+B A-BA*BAB AX=B的解A/B XA=B的解乘方:Am2.2 计算功能38例: 已知 的采样数据是 维数组。 要计算 。对一般的计算语言来说,必须采用两层 循环才能得到结果。MATLAB处理这类问 题则简洁快捷得多,它只需直截了当的一 条指令y = exp(-2*t).*sin(5*t) ,就可获得同 样是维的 数

15、组。t=rand(10,10);y=exp(-2*t).*sin(5*t);2.2 计算功能39n标准数组的产生A=eye(100)产生100维的单位阵 eye(3)ans =1 0 00 1 00 0 12.2 计算功能40ones(n) ones(n,m)产生全1数组zeros(n) zeros(n,m)产生全0数组rand(n) rand(n,m)产生随机数组2.2 计算功能41n矩阵元素的数据变换取整:Round(A) 四舍五入取整节尾:Fix(A) 把元素按离0近的 方向取整2.2 计算功能其它:floor(A)ceil(A)42n2、关系运算和逻辑运算n 关系运算符: n = = =n 逻辑运算符:n

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号