数字图像处理图像处理工具箱幻灯片.ppt
《数字图像处理图像处理工具箱幻灯片.ppt》由会员分享,可在线阅读,更多相关《数字图像处理图像处理工具箱幻灯片.ppt(100页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、数字图像处理图像处理工具箱 第1页,共100页,编辑于2022年,星期六 图像处理软件图像处理软件 Photoshop是一种著名的图像处理软件,该软是一种著名的图像处理软件,该软件能够实现图像显示、增强、剪切、滤波等一系件能够实现图像显示、增强、剪切、滤波等一系列操作,效果非常不错,该软件生成的图像格列操作,效果非常不错,该软件生成的图像格式式.psd已经作为国际标准予以应用。已经作为国际标准予以应用。图像处理图像处理=Photoshop?第2页,共100页,编辑于2022年,星期六 针对不同的领域需要不同的图像处理算法,针对不同的领域需要不同的图像处理算法,因此掌握一门高级语言来编写自己的图
2、像处理因此掌握一门高级语言来编写自己的图像处理程序,程序,MATLAB无疑是一个不错的选择。无疑是一个不错的选择。第3页,共100页,编辑于2022年,星期六 2.1 Matlab简介简介 Matlab(Matrix Laboratory)是当今很流行的是当今很流行的科学计算软件。信息技术、计算机技术发展到今科学计算软件。信息技术、计算机技术发展到今天,科学计算在各个领域得到了广泛的应用,在天,科学计算在各个领域得到了广泛的应用,在诸如诸如控制论控制论、时间序列分析时间序列分析、系统仿真系统仿真、图像信图像信号处理号处理等方面产生了大量的矩阵及其他计算问等方面产生了大量的矩阵及其他计算问题。题
3、。Matlab软件适时推出,为人们提供了一个软件适时推出,为人们提供了一个方便的数值计算和动态仿真平台。方便的数值计算和动态仿真平台。第4页,共100页,编辑于2022年,星期六 Matlab简介简介-特点特点1 高效、简单的程序环境高效、简单的程序环境2 强大的数值运算功能强大的数值运算功能3 丰富的工具箱丰富的工具箱 Matlab是一个交互式的系统,其开发环境是是一个交互式的系统,其开发环境是MATLAB语言的基础和核心语言的基础和核心部分,全部功能都能在开发环境中实现。部分,全部功能都能在开发环境中实现。提供大量的矩阵及其它运算函数,方便地进行一些很复杂的计算,而且提供大量的矩阵及其它运
4、算函数,方便地进行一些很复杂的计算,而且运算效率极高。运算效率极高。Matlab命令和数学中的符号、公式非常接近,可读性强,命令和数学中的符号、公式非常接近,可读性强,容易掌握。容易掌握。根据各专门领域中的特殊需要提供了许多可选的工具箱,已有涉及根据各专门领域中的特殊需要提供了许多可选的工具箱,已有涉及数学、控制、通信、信号处理、图像处理、经数学、控制、通信、信号处理、图像处理、经济、地理等多种学科的济、地理等多种学科的20多种多种Matlab工具箱投入应用。工具箱投入应用。第5页,共100页,编辑于2022年,星期六 可以在提示符后键入可以在提示符后键入各种命令各种命令变量管理中心,可以显示
5、变量管理中心,可以显示变量的名称、尺寸、字节变量的名称、尺寸、字节和类别等信息。和类别等信息。提供当前路径下文件的操提供当前路径下文件的操提供当前路径下文件的操提供当前路径下文件的操作。作。作。作。显示已执行过的命令显示已执行过的命令显示已执行过的命令显示已执行过的命令及相应时间。及相应时间。及相应时间。及相应时间。系统中全部程序和帮助文件的管理系统中全部程序和帮助文件的管理系统中全部程序和帮助文件的管理系统中全部程序和帮助文件的管理和启动功能。和启动功能。和启动功能。和启动功能。Matlab简介简介-开发环境开发环境第6页,共100页,编辑于2022年,星期六 Matlab简介简介-M文件文
6、件 Matlab通常使用命令驱动方式,当单行命令输通常使用命令驱动方式,当单行命令输入时,入时,Matlab立即处理并显示结果,同时将运行立即处理并显示结果,同时将运行说明和命令存入历史命令窗口。说明和命令存入历史命令窗口。Matlab语句的磁语句的磁盘文件称作盘文件称作M文件,因为这些文件名的末尾是文件,因为这些文件名的末尾是.M形式。形式。M文件有两种类型:文件有两种类型:命令命令(Script)文件)文件 函数函数(function)文件)文件第7页,共100页,编辑于2022年,星期六 命令(命令(Script)文件)文件 第一类型第一类型M文件称为命令(文件称为命令(Script)文
7、件,特)文件,特点如下:点如下:(1)最简单的)最简单的M文件,它是一系列命令、语文件,它是一系列命令、语句的简单组合;句的简单组合;(2)没有输入和输出参数;)没有输入和输出参数;(3)顺序执行文件后)顺序执行文件后变量是全局变量变量是全局变量,保存,保存在工作空间中在工作空间中;(4)可以)可以直接运行直接运行。第8页,共100页,编辑于2022年,星期六 例:例:%绘制花瓣绘制花瓣 theta=-pi:0.01:pi;rho(1,:)=2*sin(5*theta).2;rho(2,:)=cos(10*theta).3;rho(3,:)=sin(theta).2;rho(4,:)=5*co
8、s(3.5*theta).3;for k=1:4 subplot(2,2,k),polar(theta,rho(k,:)end命令(命令(Script)文件)文件第9页,共100页,编辑于2022年,星期六 运行方式运行方式(1)将所有命令复制粘贴到命令行窗口,按回)将所有命令复制粘贴到命令行窗口,按回 车执行。车执行。(2)在)在M文件编辑器中选择文件编辑器中选择“Debug”,再选,再选“Run”运行,或直接按运行,或直接按“F5”运行程序。运行程序。(3)在命令行中键入文件名,再回车,注意不要)在命令行中键入文件名,再回车,注意不要 加扩展名加扩展名“.m”。命令(命令(Script)文
9、件)文件第10页,共100页,编辑于2022年,星期六 M文件命名时文件命名时不要用纯数字不要用纯数字,这样会导致错误,这样会导致错误的结果。若有一个名为的结果。若有一个名为“1.m”的的M文件,运行后文件,运行后的结果只能是的结果只能是1。注意注意第11页,共100页,编辑于2022年,星期六 函数(函数(Function)文件)文件 函数文件的特点如下:函数文件的特点如下:(1)以)以function为引导;为引导;(2)可以接受输入、输出参数;)可以接受输入、输出参数;(3)内部)内部变量为局部变量变量为局部变量,运行完被释放。,运行完被释放。(4)不能)不能直接运行,必须调用直接运行,
10、必须调用。第12页,共100页,编辑于2022年,星期六 函数(函数(Function)文件)文件function X=total(n)%total 计算从计算从1到到n的的n个数之和个数之和%如果如果n比比1小,则提示错误。小,则提示错误。if n1 error(Input must be larger than 1);end k=1:n;X=sum(k);函数定义行函数定义行function 函数名,输入变量,输出变量函数名,输入变量,输出变量注释行:在命令窗口键入注释行:在命令窗口键入注释行:在命令窗口键入注释行:在命令窗口键入help totalhelp totalhelp total
11、help total后显示出来显示内容为连续的若干后显示出来显示内容为连续的若干后显示出来显示内容为连续的若干后显示出来显示内容为连续的若干个右边的文字。个右边的文字。个右边的文字。个右边的文字。函数体:包括函数的全部程序代码函数体:包括函数的全部程序代码函数体:包括函数的全部程序代码函数体:包括函数的全部程序代码第13页,共100页,编辑于2022年,星期六 注意注意函数文件编写完之后,保存的函数文件编写完之后,保存的文件名文件名必须与必须与函数名同名函数名同名!第14页,共100页,编辑于2022年,星期六 2.2 Matlab常用的基本命令常用的基本命令(1)全全0矩阵矩阵 A=zero
12、s(n):生成生成nn的全的全0矩阵;矩阵;A=zeros(m,n):生成生成mn的全的全0矩阵;矩阵;A=zeros(a1,a2,a3,):生成生成a1a2a3的全的全0 矩矩 A=zeros(size(B):生成与矩阵生成与矩阵B大小相同的全大小相同的全0矩阵。矩阵。1.常用矩阵的生成常用矩阵的生成第15页,共100页,编辑于2022年,星期六 (2)全全1矩阵矩阵 A=ones(n):生成生成nn的全的全1矩阵;矩阵;A=ones(m,n):生成生成mn的全的全1矩阵;矩阵;A=ones(m,n):生成生成mn的全的全1矩阵;矩阵;A=ones(a1,a2,a3,):生成生成a1a2a3
13、的全的全1矩阵;矩阵;A=onse(size(B):生成与矩阵生成与矩阵B大小相同的全大小相同的全1矩阵。矩阵。第16页,共100页,编辑于2022年,星期六 (3)单位矩阵单位矩阵 A=eye(n):生成生成nn的单位矩阵;的单位矩阵;A=eye(m,n):生成生成mn的单位矩阵;的单位矩阵;A=eye(m,n):生成生成mn的单位矩阵;的单位矩阵;A=eye(size(B):生成与矩阵生成与矩阵B大小相同的单位矩阵。大小相同的单位矩阵。第17页,共100页,编辑于2022年,星期六 (4)均匀分布的随机矩阵均匀分布的随机矩阵 A=rand(n):生成生成nn的随机矩阵;的随机矩阵;A=ra
14、nd(m,n):生成生成mn的随机矩阵;的随机矩阵;A=rand(m,n):生成生成mn的随机矩阵;的随机矩阵;A=rand(a1,a2,a3,):生成生成a1a2a3的随机矩阵;的随机矩阵;A=rand(size(B):生成与矩阵生成与矩阵B大小相同的随机矩阵。大小相同的随机矩阵。第18页,共100页,编辑于2022年,星期六 (5)正态分布的随机矩阵正态分布的随机矩阵 A=randn(n):生成生成nn的随机矩阵;的随机矩阵;A=randn(m,n):生成生成mn的随机矩阵;的随机矩阵;A=randn(m,n):生成生成mn的随机矩阵;的随机矩阵;A=randn(a1,a2,a3,):生成
15、生成a1a2a3的随机矩阵;的随机矩阵;A=randn(size(B):生成与矩阵生成与矩阵B大小相同的随机矩阵。大小相同的随机矩阵。第19页,共100页,编辑于2022年,星期六 在在Matlab中,可以采用多种不同的方式生成矩阵。中,可以采用多种不同的方式生成矩阵。2.简单矩阵的生成简单矩阵的生成(1)直接输入矩阵元素直接输入矩阵元素 对于较小的简单矩阵,从对于较小的简单矩阵,从键盘上直接输入矩阵键盘上直接输入矩阵是最是最常用的数值矩阵创建方法,需要遵循以下几个基本原则:常用的数值矩阵创建方法,需要遵循以下几个基本原则:矩阵矩阵每行的元素每行的元素之间必须用之间必须用空格或逗号空格或逗号分
16、开;分开;在矩阵中,采用在矩阵中,采用分号或回车分号或回车表明每行的结束;表明每行的结束;整个输入矩阵必须包含在整个输入矩阵必须包含在方括号方括号中。中。第20页,共100页,编辑于2022年,星期六 用用Matlab生成的矩阵存储成二进制文件或包含数值生成的矩阵存储成二进制文件或包含数值数据的文本文件可以生成矩阵。文本文件中,数据必须数据的文本文件可以生成矩阵。文本文件中,数据必须排成一个排成一个数据表数据表,数据之间用,数据之间用空格空格分隔,文件的每行包分隔,文件的每行包含矩阵的一行,并且每行的元素个数必须含矩阵的一行,并且每行的元素个数必须相等相等。(2)从外部数据文件调入矩阵元素从外
17、部数据文件调入矩阵元素第21页,共100页,编辑于2022年,星期六 当矩阵的尺寸较大时,直接在命令窗口输入元素就显当矩阵的尺寸较大时,直接在命令窗口输入元素就显得比较笨拙,容易出现错误且不便修改。为了解决这个得比较笨拙,容易出现错误且不便修改。为了解决这个问题,按照原来的创建原则写入一个问题,按照原来的创建原则写入一个M文件文件,运行该,运行该M文件,即将矩阵调用到文件,即将矩阵调用到工作空间工作空间。(3)利用用户文件创建的利用用户文件创建的M文件矩阵文件矩阵第22页,共100页,编辑于2022年,星期六 Matlab可以采用多种不同的方式生成向量。可以采用多种不同的方式生成向量。(1)利
18、用冒号利用冒号“:”生成向量生成向量 冒号冒号“:”是是Matlab中常用算子之一,不仅可以作数组中常用算子之一,不仅可以作数组下标,对数组元素进行引用、增加和删除,还可以用来下标,对数组元素进行引用、增加和删除,还可以用来生成向量。生成向量。3.向量的生成向量的生成第23页,共100页,编辑于2022年,星期六 冒号冒号“:”使用下列格式生成均匀等分向量。使用下列格式生成均匀等分向量。x=j:k 如果如果jk,则生成空向量,则生成空向量x=;x=j:i:k 如果如果i0且且jk或或ik,则生成向量,则生成向量 x=j,j+i,j+2i,k;如果如果i0且且jk或或i0且且jk,则生成空向量,
19、则生成空向量x=;第24页,共100页,编辑于2022年,星期六 Matlab常用命令常用命令 clear 工作空间中清除所有变量工作空间中清除所有变量 clc 清除命令窗口中显示内容清除命令窗口中显示内容 help 获得在线帮助获得在线帮助 命令命令 功能功能 clf 清除图形窗口内容清除图形窗口内容 who 列出当前工作空间中的变量列出当前工作空间中的变量 whos 列出当前工作空间中的变量及信息列出当前工作空间中的变量及信息 第25页,共100页,编辑于2022年,星期六 补充:矩阵的基本操作补充:矩阵的基本操作 *diag(A)返回矩阵返回矩阵A对角元素成列向量;对角元素成列向量;*d
20、iag(v)以向量以向量v作对角元素创建矩阵;作对角元素创建矩阵;*flipud(A)矩阵上下翻转;矩阵上下翻转;*fliplr(A)矩阵左右翻转;矩阵左右翻转;*rot90(A)矩阵逆时针翻转矩阵逆时针翻转90度;度;*tril(A)提取矩阵提取矩阵A的下三角矩阵;的下三角矩阵;*triu(A)提取矩阵提取矩阵A的上三角矩阵。的上三角矩阵。1.利用矩阵创建矩阵利用矩阵创建矩阵第26页,共100页,编辑于2022年,星期六 *x=1 2 3 4 5%产生产生15的数组的数组*b=x(3)%寻访数组寻访数组x的第的第3个元素个元素*b=x(1 2 5)%寻访寻访x的第的第1、2、5元素元素*b=
21、x(1:3)%寻访前三个元素寻访前三个元素*b=x(3:end)%寻访第三个元素到最后一个寻访第三个元素到最后一个*b=x(find(x3)%由大于由大于3的元素构成数组的元素构成数组*b=x(3:-1:1)%由前由前3个数倒排成数组个数倒排成数组*b=x(1 2 3 4 4 3 2 1)%对元素的重复访问对元素的重复访问2.寻访矩阵中的数据寻访矩阵中的数据第27页,共100页,编辑于2022年,星期六 *x=1,2,3;4,5,6;7,8,9%产生产生33的矩阵的矩阵*b=x(find(x4)%大于大于4的元素构成数组的元素构成数组*x(2,2)=10%第第2行第行第2列值改为列值改为10*
22、x(3,:)=20%第第3行的值改为行的值改为20*x=ones(5)%产生产生55全为全为1的矩阵的矩阵*x(2:4,2:4)=0%第第2、3、4行的第行的第2、3、4列元素改列元素改03.修改数据修改数据第28页,共100页,编辑于2022年,星期六 插入:插入:x=4:6;A=x-3;x;x+3%插入创建新矩阵插入创建新矩阵 提取:提取:C=A(1:2,2:3)%提取提取A的部分的部分 拉长:拉长:D=A(:)%拉长成列拉长成列 置空:置空:A(:,2)=%删除删除A的第二列的第二列4.插入、提取、拉长及置空插入、提取、拉长及置空第29页,共100页,编辑于2022年,星期六 A=3:6
23、;1:4%产生产生24的矩阵的矩阵 s=size(A)%返回返回s为为行数行数 列数列数 r,c=size(A)%返回返回r为行数,为行数,c为列数为列数 r=size(A,1)%只返回行数只返回行数 c=size(A,2)%只返回列数只返回列数 n=length(A)%返回行数、列数最大者返回行数、列数最大者5.矩阵的规模矩阵的规模第30页,共100页,编辑于2022年,星期六 练习练习 已知:矩阵已知:矩阵A=3 3 4 6 2 4 2 4 5 7 7 5 3 2 1 1试对矩阵矩阵试对矩阵矩阵A进行操作得到以下进行操作得到以下结果。结果。返回矩阵返回矩阵A的大小;的大小;返回矩阵返回矩阵
24、A1=5 7 7 6 5,A2=3 3 4 6;返回矩阵返回矩阵A3=1 1 2 3 A4=3 3 4 6 A5=3 4 6 5 7 7 5 2 4 2 4 2 2 4 4 2 4 2 8 8 8 8 5 7 5 6 4 3 3 3 2 1 1 3 1 1第31页,共100页,编辑于2022年,星期六 2.3 图像处理工具箱简介图像处理工具箱简介 Matlab是一种是一种基于向量(数组)基于向量(数组)而不是标量的高级程序而不是标量的高级程序语言,因而语言,因而Matlab从本质上就提供了对图像的支持。数字图从本质上就提供了对图像的支持。数字图像实际上是一组有序离散的数据,使用像实际上是一组有
25、序离散的数据,使用Matlab可以对这些离可以对这些离散数据形成的矩阵进行一次性的处理。散数据形成的矩阵进行一次性的处理。第32页,共100页,编辑于2022年,星期六 Matlab对图像的处理功能主要集中在它的对图像的处理功能主要集中在它的图像处理工具箱图像处理工具箱(Image Processing Toolbox)中。)中。图像处理工具箱是由一系列支持图像处理操作的图像处理工具箱是由一系列支持图像处理操作的函数函数组成,可组成,可以进行诸如以进行诸如几何操作几何操作、线性滤波线性滤波和和滤波器设计滤波器设计、图像变换图像变换、图图像分析像分析与与图像增强图像增强、数学形态学处理数学形态学
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字图像 处理 图像 工具箱 幻灯片
限制150内