matlab图像处理介绍.ppt

上传人:小飞机 文档编号:5438991 上传时间:2023-07-07 格式:PPT 页数:46 大小:877.50KB
返回 下载 相关 举报
matlab图像处理介绍.ppt_第1页
第1页 / 共46页
matlab图像处理介绍.ppt_第2页
第2页 / 共46页
matlab图像处理介绍.ppt_第3页
第3页 / 共46页
matlab图像处理介绍.ppt_第4页
第4页 / 共46页
matlab图像处理介绍.ppt_第5页
第5页 / 共46页
点击查看更多>>
资源描述

《matlab图像处理介绍.ppt》由会员分享,可在线阅读,更多相关《matlab图像处理介绍.ppt(46页珍藏版)》请在三一办公上搜索。

1、MATLAB图像处理介绍,第2章 MATLAB图像处理工具箱,本章教学安排2学时,讲解内容:Matlab简介。Matlab中常用的基本命令。图像处理工具箱介绍Matlab处理的图像类型和文件格式。Matlab图像的基本操作。,2.1 Matlab简介,MATLAB名字是Matrix Laboratory的意思。由美国的MathWorks公司出品,它的基本数据单位是矩阵。它的指令表达式与数学,工程中常用的形式十分相似,故用它来解决问题比用C,Fortran等语言完成相同的事情简捷的多。在大学,数学,工程学,科学的介绍性课程和高级性课程中,MATLAB是标准的教学工具。在工厂,MATLAB是高生产

2、率研究发展和分析的可选择的工具。,MATLAB是一种直观性的语言和专业运算的环境。它已成为工程计算机方面世界上公认的标准。它被用于各种各样的应用领域,包括信号和图像处理,控制系统,设计,地球与生命科学,金融与经济,还有仪器测试。,MATLAB的主要特点包括:快速准确的数字运算;图形可视化并用于分析数据;交互式语言和编程环境;图形用户界面设计的工具;可结合一些外部应用程序,包括C、C、Fortran、Java、COM部分和Excel;支持来自文件和外部设备的输入数据,且支持用低标准的文件的输入输出(加上附加的产品对入数据库和附加硬件的访问(存取)产生附加的产品);把MATLAB的应用转到带有编译

3、器的C和C。,由于直接内嵌了大量的优化数学程序,MATLAB使工程师和科学家能够专注于自己实质性的工作,避免了耗时的寻找开发调试以及维护代码的工作。,2.2 Matlab中常用的基本命令。,(1)矩阵生成 一般矩阵的生成 对于一般的矩阵MATLAB的生成方法有多种。最简单的方法是从键盘直接输入矩阵元素。直接输入矩阵元素时应注意:各元素之间用空格或逗号隔开,用分号或回车结束矩阵行,用中括号把矩阵所有元素括起来。,例1-1 在工作空间产生一个33矩阵A可用MATLAB语言描述如下:A=1 2 3;4 5 6;7 8 9或 A=1 2 3 4 5 6 7 8 9运行结果:A=1 2 3 4 5 6

4、7 8 9,特殊矩阵的生成对于特殊的矩阵可直接调用MATLAB的函数生成。用函数zeros生成全0矩阵:格式 B=zeros(m,n)生成mn的全0阵。用函数ones生成全1矩阵:格式 B=ones(m,n)生成mn的全1阵。用函数eye生成单位阵:格式 B=eye(m,n)生成mn的单位矩阵,其中对角线元素全为1,其他元素为0。用函数rand生成随机矩阵:格式 B=rand(m,n)生成mn的随机矩阵。,矩阵中的元素值 和线性代数一样,我们可采取下标来表述矩阵元素,同时也可以利用下标对矩阵元素进行修改。例如对例1-1中的矩阵A,如果输入 A(4)则显示:ans=2若输入 A(1,2),结果仍

5、为:ans=2 可见矩阵是按列存储的。若输入A(1,2)=6,显示结果为:A=1 6 3 4 5 6 7 8 9若要选取A的第二行,可以输入A(2,:),则显示ans=4 5 6,(2)矩阵的运算 矩阵的运算有基本运算和函数运算两种类型。基本运算包括矩阵的加、减、乘、除、乘方、求转置、求逆等,其主要特点是通过MATLAB提供的基本运算符、*、/()、等即可完成。,例 1-2 矩阵的基本运算。A=1,2,3;4,5,6B=6,5,4;3,2,1C=A+B%计算两个矩阵的和D=B%计算矩阵B的转置E=A*D%做矩阵乘法,必须要满足矩阵乘法的基本要求%E应该是2阶方阵F=det(E)%求E的行列式值

6、G=E(-1)%求E的逆,问题:设有矩阵A和B,试问A*B和A.*B的区别?,(3)基本语句1)循环语句MATLAB的循环语句包括for循环和while循环两种类型。for循环语法格式:for 循环变量=起始值:步长:终止值 循环体 end,while循环语法格式:while 表达式 循环体 end其执行方式为:若表达式为真(运算值非0),则执行循环体;若表达式为假(运算结果为0),则退出循环体,执行end后的语句。,2)条件转移语句条件转移语句有if和switch两种。if 语句;MATLAB中if语句的用法与其他高级语言相类似,其基本语法格式有以下几种:格式一:if 逻辑表达式 执行语句

7、end 格式二:if 逻辑表达式 执行语句1 else 执行语句2 end 格式三:if 逻辑表达式1 执行语句1 else if 逻辑表达式2 执行语句2 end,switch语句 switch语句的用法与其他高级语言相类似,其基本语法格式为:switch表达式(标量或字符串)case 值1 语句1 case 值2 语句2 otherwise 语句n end,(4)MATLAB函数,函数及其调用方法,函数定义行:MATLAB语言在M文件的第一行用关键字“function”把M文件定义为一个函数,并指定它的名字(必须和文件名相同),同时也定义了函数的输入和输出参数。例如:求最大值函数“max”

8、的定义可描述为 function Y,I=max(x)函数体 其中,“max”为函数名,输入参数为“x”,输出参数为“Y”和“I”。,函数调用 函数调用的过程实际上就是参数传递的过程。例如,在一个脚本文件里调用函数“max”可采用如下方式:n=1:20;a=sin(2*pi*n/20);Y,I=max(a);该调用过程把变量“a”传给了函数中的输入参数“x”,然后把函数运算的返回值传给输出参数“Y”和“I”。其中,Y是a序列的最大值,I是最大值Y对应的坐标值。,注意:1.自己编写函数时,所用的函数名应和保存的m文件文件名相同。2.分清矩阵相乘和点乘的区别。3.注意文件命名。必须以字母开头。有的

9、同学喜欢以数字或中文开头,这是错误的!,2.3.1 常用图像格式 图像格式是指图像文件的存储格式。MATLAB中常用的图像格式有:bmp,cur,gif,hdf,ico,jpg或jpeg,pcx,png,tif或tiff等。,2.3Matlab处理的图像类型和文件格式。,2.3.2MATLAB图像类型MATLAB支持五种图像类型,即二值图像、索引图像、灰度图像、RGB图像和多帧图像阵列。二值图像:数据存储类型,Logical,元素值为0或1的矩阵;索引图像:把像素值直接作为RGB调色板下标的图像。一幅索引图像包含一个数据矩阵X和一个调色板矩阵map,数据矩阵为double或uint8或uint

10、16;调色板矩阵总是一个m*3(m表示颜色数目)的double型矩阵且矩阵元素的值域为0,1。Map矩阵的每一行指定一个颜色的R,G,B颜色分量。,RGB图像:double型或uint8型或uint16型,又称真彩色图像,在MATLAB中存储为m*n*3的数据矩阵,它表示图像中每个像素的红,绿,蓝3个颜色分量的数值。多帧图像阵列:由多帧图像组成,每一帧图像可以为前4种图像中的一种,但组成一个多帧图像阵列的图像必须为同一种。,2.4图像处理工具箱简介,MATLAB图像处理工具箱的函数,按具体功能可以分为以下几类:图像显示几何操作图像注册邻域和块操作线性滤波和滤波器的设计。图像变换,形态学分析图像

11、分析与图像增强。图像恢复颜色映射和颜色空间转换,Matlab中图像处理相关工具箱主要有:Image Acquisition toolboxImage Processing ToolboxSignal Processing ToolboxWavelet ToolboxStatistics ToolboxMatlab Compiler,读者也可以根据需要编写自己的函数以满足特定的需要,也可以将图像处理工具箱和其他工具箱结合起来使用。可通过“help 函数名”来查看各函数的使用方法。,2.5.1图像文件信息查询在MATLAB中,可以使用imfinfo函数来获取图像处理工具箱支持的任何格式图像文件的信

12、息。该函数语法格式如下:info=imfinfo(filename,fmt)info=imfinfo(filename)info=imfinfo(URL,.)例1-1 图像文件信息查询info=imfinfo(cameraman.tif),2.5 Matlab图像的基本操作,2.5.2图像文件的读取MATLAB通过函数imread完成图像的读取,该函数语法格式如下:A=imread(filename,fmt)X,map=imread(filename,fmt).=imread(filename).=imread(URL,.).=imread(.,idx)(CUR,GIF,ICO,and TIF

13、F only).=imread(.,frames,idx)(GIF only).=imread(.,ref)(HDF only).=imread(.,BackgroundColor,BG)(PNG only)A,map,alpha=imread(.)(ICO,CUR,and PNG only),例1-2 数字图像的打开 I=imread(cameraman.tif),2.5.3 图像文件的写入MATLAB函数imwrite来存储图像文件,该函数的语法格式如下:imwrite(A,filename,fmt)imwrite(X,map,filename,fmt)imwrite(.,filename

14、)imwrite(.,Param1,Val1,Param2,Val2.),例1-3 图像文件写入I=imread(cameraman.tif);imwrite(I,E:test1.tif)执行程序后,可以看到在路径E:下写入的图像文件“test1.tif”,2.5.4 图像的显示MATLAB包含两个显示图像的函数image 和imagesc;另外MATLAB图像工具箱中也包含两个显示图像的函数imview 和 imshow。1.MATLAB图像显示函数image函数 image函数的语法格式如下:image(C)image(x,y,C)image(x,y,C,PropertyName,Prop

15、ertyValue,.)image(PropertyName,PropertyValue,.)handle=image(.),例1-4 image函数的应用I=imread(cameraman.tif);figure(1);image(100,100,I);%设置图像左上角坐标为(100,100)colormap(gray(256);,imagesc函数imagesc函数具有对显示的数据进行自动缩放的功能。函数语法如下:imagesc(C)imagesc(x,y,C)imagesc(.,clims)imagesc(PropertyName,PropertyValue,.)h=imagesc(.

16、),例1-5 imagesc函数显示图像和image函数显示图像比较,当采用image函数显示一个值域为0,1的double型数组时,不能正常显示为灰度图的形式,而imagesc函数对数据有自动缩放功能,可以显示。,MATLAB工具箱中提供了两个图像显示函数imview 和 imshow,在实际应用中,这两个函数应用更为广泛。imshow函数imshow函数显示一幅数字图像时,将自动设置图像窗口、坐标轴和图像属性。该函数的语法格式如下 imshow(I,n)imshow(I,low high)imshow(BW)imshow(X,map)imshow(RGB)imshow(.,display_

17、option)imshow(x,y,A,.)imshow filename h=imshow(.),例1-6 灰度图像的显示,例1-7 索引图像的显示X,map=imread(canoe.tif);imshow(X,map);,例1-8 RRB图像的显示、RGB=imread(peppers.png);imshow(RGB);,例1-9 二进制图像的显示,Imview,在图像阅览器中显示图像,语法格式为:Imview(I)Imview(RGB)Imview(X,map)Imview(I,range)Imview close all,例 灰度图像的显示Clear allI=imread(came

18、raman.tif);Imview(I);,2.5.5 图像数据类型转换(excercise12-19)im2double函数 将图像类型转换为double 型im2uint8函数 将图像类型转换为uint8 型im2uint16函数 将图像类型转换为uint16 型,2.5.6图像类型转换(功能详见书P36)dither函数 用抖动法把RGB图像转换成索引图像 或把灰度图转换成二值图像 gray2ind函数 将灰度图或二值图转换成索引图grayslice函数 将灰度图转换成索引色图像 im2bw函数 将真彩色图像,索引图像,灰度图像 转换成二值图像,ind2rgb函数 将索引色图像转换成真彩色 图像mat2gray函数 将数据矩阵转换成灰度图像rgb2gray函数 将真彩色图像或颜色映射图 转换成灰度图像Rgb2ind 将真彩色图像转换成索引图像,作业:P48 1,3课后实验1,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号