matlab图像处理介绍.ppt

上传人:m**** 文档编号:569410500 上传时间:2024-07-29 格式:PPT 页数:46 大小:980KB
返回 下载 相关 举报
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、 MATLABMATLAB图像处理介绍图像处理介绍第2章MATLAB图像处理工具箱本章教学安排2学时讲解内容:1.Matlab简介。2.Matlab中常用的基本命令。3.图像处理工具箱介绍4.Matlab处理的图像类型和文件格式。5.Matlab图像的基本操作。2.1 2.1 Matlab简介MATLAB名字是MatrixLaboratory的意思。由美国的MathWorks公司出品,它的基本数据单位是矩阵。它的指令表达式与数学,工程中常用的形式十分相似,故用它来解决问题比用C,Fortran等语言完成相同的事情简捷的多。在大学,数学,工程学,科学的介绍性课程和高级性课程中,MATLAB是标准

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

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

4、对于特殊的矩阵可直接调用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),结果仍为:ans=2可见矩阵是按列存储的。若输入

5、A(1,2)=6,显示结果为:A=163456789若要选取A的第二行,可以输入A(2,:),则显示ans=456(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的行列式值G=E(-1)%求E的逆问题:设有矩阵A和B,试问A*B和A.*B的区别?

6、(3)基本语句)基本语句1)循环语句循环语句MATLAB的循环语句包括for循环和while循环两种类型。for循环语法格式:for循环变量=起始值:步长:终止值循环体endwhile循环语法格式:while表达式循环体end其执行方式为:若表达式为真(运算值非0),则执行循环体;若表达式为假(运算结果为0),则退出循环体,执行end后的语句。2) 条件转移语句条件转移语句条件转移语句有if和switch两种。if语句;MATLAB中if语句的用法与其他高级语言相类似,其基本语法格式有以下几种:格式一:if逻辑表达式执行语句end格式二:if逻辑表达式执行语句1else执行语句2end格式三:

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

8、参数为“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.注意文件命名。必须以字母开头。有的同学喜欢以数字或中文开头,这是错误的!2.3.1常用图像格式图像格式是指图像文件的存储格式。MATLAB中常用的图像

9、格式有: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或uint16;调色板矩阵总是一个m*3(m表示颜色数目)的double型矩阵且矩阵元素的值域为0,1。Map矩阵的每一行指定一个颜色的

10、R,G,B颜色分量。RGB图像:double型或uint8型或uint16型,又称真彩色图像,在MATLAB中存储为m*n*3的数据矩阵,它表示图像中每个像素的红,绿,蓝3个颜色分量的数值。多帧图像阵列:由多帧图像组成,每一帧图像可以为前4种图像中的一种,但组成一个多帧图像阵列的图像必须为同一种。2.4图像处理工具箱简介MATLAB图像处理工具箱的函数,按具体功能可以分为以下几类:图像显示几何操作图像注册邻域和块操作线性滤波和滤波器的设计。图像变换,形态学分析图像分析与图像增强。图像恢复颜色映射和颜色空间转换Matlab中图像处理相关工具箱主要有:ImageAcquisitiontoolbox

11、ImageProcessingToolboxSignalProcessingToolboxWaveletToolboxStatisticsToolboxMatlabCompiler读者也可以根据需要编写自己的函数以满足特定的需要,也可以将图像处理工具箱和其他工具箱结合起来使用。可通过“help函数名”来查看各函数的使用方法。2.5.1图像文件信息查询在MATLAB中,可以使用imfinfo函数来获取图像处理工具箱支持的任何格式图像文件的信息。该函数语法格式如下:info=imfinfo(filename,fmt)info=imfinfo(filename)info=imfinfo(URL,.)

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

13、lor,BG)(PNGonly)A,map,alpha=imread(.)(ICO,CUR,andPNGonly)例1-2数字图像的打开I=imread(cameraman.tif)2.5.3图像文件的写入MATLAB函数imwrite来存储图像文件,该函数的语法格式如下:imwrite(A,filename,fmt)imwrite(X,map,filename,fmt)imwrite(.,filename)imwrite(.,Param1,Val1,Param2,Val2.)例例1- 3 图像文件写入图像文件写入I=imread(cameraman.tif);imwrite(I,E:test

14、1.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,PropertyValue,.)image(PropertyName,PropertyValue,.)handle=image(.)例例1- 4 image函数的应用函数的应用I=imread(c

15、ameraman.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(.)例1-5imagesc函数显示图像和image函数显示图像比较当采用image函数显示一个值域为0,1的double型数组时,不能正常显示为灰度图的形式,而imagesc函

16、数对数据有自动缩放功能,可以显示。MATLAB工具箱中提供了两个图像显示函数imview和imshow,在实际应用中,这两个函数应用更为广泛。imshow函数imshow函数显示一幅数字图像时,将自动设置图像窗口、坐标轴和图像属性。该函数的语法格式如下imshow(I,n)imshow(I,lowhigh)imshow(BW)imshow(X,map)imshow(RGB)imshow(.,display_option)imshow(x,y,A,.)imshowfilenameh=imshow(.)例1-6灰度图像的显示例1-7索引图像的显示X,map=imread(canoe.tif);im

17、show(X,map);例1-8RRB图像的显示、RGB=imread(peppers.png);imshow(RGB);例1-9二进制图像的显示Imview,在图像阅览器中显示图像,语法格式为:Imview(I)Imview(RGB)Imview(X,map)Imview(I,range)Imviewcloseall例灰度图像的显示ClearallI=imread(cameraman.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将真彩色图像转换成索引图像作业:P481,3课后实验1

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 研究生课件

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