[经济学]第3章-MATLAB图形图像处理-1课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《[经济学]第3章-MATLAB图形图像处理-1课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 经济学 MATLAB 图形图像 处理 课件
- 资源描述:
-
1、第三章第三章 MATLAB图形图像处理图形图像处理 MATLAB不仅具有强大的矩阵计算能力,也不仅具有强大的矩阵计算能力,也具有强大的具有强大的图形图像处理能力图形图像处理能力,它能将杂乱无章,它能将杂乱无章的数据通过图形图像的形式表现出来,使我们更的数据通过图形图像的形式表现出来,使我们更直观地了解这些数据的变化趋势、变化规律以及直观地了解这些数据的变化趋势、变化规律以及它们的内在联系。它们的内在联系。 数字图像处理数字图像处理就是通过计算机对图像进行去就是通过计算机对图像进行去除噪声、增强、复原、分割和特征提取等处理的除噪声、增强、复原、分割和特征提取等处理的理论、方法和技术。目前的图形图
2、像处理技术在理论、方法和技术。目前的图形图像处理技术在航天、遥测、电视广播、网络媒体、现代医学及航天、遥测、电视广播、网络媒体、现代医学及军事等众多领域都得到了广泛应用,并且取得了军事等众多领域都得到了广泛应用,并且取得了巨大的成就。巨大的成就。 本章对图形图像处理的基本概念本章对图形图像处理的基本概念、基本内容、基本内容、命令格式和函数进行介绍,主要从二维图形的绘制、命令格式和函数进行介绍,主要从二维图形的绘制、三维图形的绘制、图像的获取及处理等三个方面进三维图形的绘制、图像的获取及处理等三个方面进行阐述,为图形图像处理在行阐述,为图形图像处理在MATLAB中的应用打下中的应用打下良好的基础
3、。良好的基础。 3.1 二维图形的绘制二维图形的绘制 3.2 三维曲线作图三维曲线作图 3.3 图形用户界面图形用户界面 3.4 MATLAB数字图像处理数字图像处理 3.5图像的灰度变换与直方图图像的灰度变换与直方图 3.6图像的增强滤波图像的增强滤波 3.7 图像的空间变换图像的空间变换 3.8 图像边缘检测与分割图像边缘检测与分割3 3.1 .1 二维图形的绘制二维图形的绘制 用用MATLAB绘图命令可以在图形窗口内画绘图命令可以在图形窗口内画出各种图形曲线,并使用不同的线型、颜出各种图形曲线,并使用不同的线型、颜色、点型和标注来修饰这些图形曲线。色、点型和标注来修饰这些图形曲线。 绘图
4、的一般步骤绘图的一般步骤 1. 1. 曲线数据准备曲线数据准备 2. 2. 指定图形窗口和子图位置指定图形窗口和子图位置 3. 3. 绘制图形绘制图形 4. 4. 设置坐标轴和图形注释设置坐标轴和图形注释 5. 5. 仅对三维图形使用的着色和视点等设置仅对三维图形使用的着色和视点等设置 6. 6. 图形的精细修饰图形的精细修饰 7. 7. 按指定格式保存或导出图形按指定格式保存或导出图形3.1.1 3.1.1 直角坐标系中的绘图直角坐标系中的绘图 plot命令命令:可用来绘制直角坐标系中的各种可用来绘制直角坐标系中的各种曲线曲线. 它的主要格式为:它的主要格式为: plot(y) plot(x
5、,y) plot(x,y,s)plot( )函数的应用形式函数的应用形式: 若若y是是向量向量,则则plot(y)在直角坐标系中绘制出一条在直角坐标系中绘制出一条二维曲线二维曲线: 以以y中元素的个数作为横坐标,以中元素的个数作为横坐标,以y中元中元素的值作为纵坐标,在直角坐标系中画点,各点素的值作为纵坐标,在直角坐标系中画点,各点以直线连接。以直线连接。 若若y是是m n的的矩阵矩阵,则绘制则绘制n条二维曲线条二维曲线:每条曲线每条曲线由由m个点确定个点确定,横坐标是矩阵行数横坐标是矩阵行数,纵坐标是每一列纵坐标是每一列的元素的元素.例例:运行下面的程序,画出图形。运行下面的程序,画出图形。
6、 y1=1 3 2 4 6 2 3 4 5 3; y2=1 3 2 4 6 ; 2 3 4 5 3; plot(y1); plot(y2);1234567891011.522.533.544.555.56xy111.11.21.31.41.51.61.71.81.9211.522.533.544.555.56xy2 如果如果x x和和y y是向量,要求其具有相同长度,命是向量,要求其具有相同长度,命令令plot(x,yplot(x,y) )将绘出以将绘出以x x元素为横坐标、元素为横坐标、y y元素为元素为纵坐标的一条曲线。纵坐标的一条曲线。 若若x x和和y y一个为向量一个为向量, ,一个
7、为一个为m mn n的矩阵的矩阵, ,则要则要求向量的长度等于求向量的长度等于m m或或n n,共绘制,共绘制n n或或m m条曲线。条曲线。 若若x x和和y y 都是矩阵时:大小必须相同,矩阵都是矩阵时:大小必须相同,矩阵x x的每列与的每列与y y的每列画一条曲线。的每列画一条曲线。图示yxyxxx(1)(3)(2)yx x=0:0.2:2*pi; y=sin(x); plot(x,y);图图 3.2 正弦曲线图正弦曲线图例例: 设设x为时间向量,运行下面的程序,画出以为时间向量,运行下面的程序,画出以x为为横坐标,横坐标,y为纵坐标的曲线,如图所示。为纵坐标的曲线,如图所示。例例 x
8、x是矩阵,分别绘制是矩阵,分别绘制x x与与y1y1和和x x与与y2y2的曲线,已知的曲线,已知y1y1是向量是向量且长度与且长度与x x的行数相等,的行数相等,y2y2是矩阵且与是矩阵且与x x尺寸相同,曲线分别尺寸相同,曲线分别如图所示。如图所示。 x=1:4;2:5;3:6 x = 1 2 3 4 2 3 4 5 3 4 5 6 y1=1 2 3 % y1长度与长度与x的行数相等的行数相等 y1 = 1 2 3 plot(x,y1) y2=1 1 1 1;2 2 2 2;3 3 3 3 y2 = 1 1 1 1 2 2 2 2 3 3 3 3 plot(x,y2);plot(x,y,s
9、) x x,y y情况和第二种一样,情况和第二种一样,ss是图形的属是图形的属性字符串,这些属性字符串包括三个方面,性字符串,这些属性字符串包括三个方面,第一方面指定图形曲线的第一方面指定图形曲线的颜色颜色,第二方面指,第二方面指定定数据点的标记类型数据点的标记类型,第三方面指定,第三方面指定线的类线的类型型,将在,将在3.1.33.1.3节中介绍。节中介绍。 为了读图时了解图中所表达的内容,还需为了读图时了解图中所表达的内容,还需要增加标题、坐标轴标签和网格线。要增加标题、坐标轴标签和网格线。 用用titletitle(标题)、(标题)、xlabelxlabel(x x轴标签)、轴标签)、y
10、lableylable(y y轴标签)函数给图形添加标题和轴标签)函数给图形添加标题和坐标轴标签。用坐标轴标签。用gridgrid命令可使网格线出现命令可使网格线出现或消失在图形中,或消失在图形中,grid ongrid on代表在图形中出代表在图形中出现网格线,现网格线,grid offgrid off代表去除网格线。代表去除网格线。 例例: :下面的语句将会产生带有下面的语句将会产生带有标题,标签和网格线标题,标签和网格线的函数图形。结果如图的函数图形。结果如图3.33.3所示。所示。 x=0:1:10; y=x.2-10*x+6; plot(x,y); title (Plot of y=
11、x.2-10*x+6); xlabel (x); ylabel (y); grid on;3.1.2 3.1.2 图形的打印和输出图形的打印和输出 1. 图形的打印图形的打印 有时需要把画出的图形打印出来。打印的有时需要把画出的图形打印出来。打印的方法是在图形方法是在图形Figure窗口内,在窗口内,在File菜单中菜单中选择选择“Print”打印项就可以打印输出了。打印项就可以打印输出了。另外还可以通过另外还可以通过“Print Setup”打印设置打印设置窗口进行设置打印到纸还是文件,并可以窗口进行设置打印到纸还是文件,并可以进行进行“Page Setup”页面设置、页面设置、“Print
12、 Preview”打印预览等。打印预览等。 2. 图形的输出图形的输出 在在MATLAB中导出图形文件使用菜单中导出图形文件使用菜单“File” “Export Setup” 。图形文件的。图形文件的保存格式有保存格式有fig、bmp、jpg等等常用图形文件常用图形文件格式。格式。 在图形在图形Figure窗口内,窗口内, Edit菜单中选择菜单中选择“Copy Figure ”项就可以将图形窗口中显示项就可以将图形窗口中显示的曲线复制下来的曲线复制下来,粘贴到其他文档中了粘贴到其他文档中了 .3.1.3 3.1.3 线型、点型、颜色线型、点型、颜色 MATLAB会自动根据默认设置的颜色(蓝色
13、)和会自动根据默认设置的颜色(蓝色)和线型(实线)画出曲线。线型(实线)画出曲线。 如果用户对线型的默认值不满意,可以用命令如果用户对线型的默认值不满意,可以用命令/函函数控制线型,也可以根据需要选取不同的数据点数控制线型,也可以根据需要选取不同的数据点的形状,格式为的形状,格式为 plot(x,y,s) s是对线和数据点的设置,其参数如表是对线和数据点的设置,其参数如表3-1所示。所示。 注释:注释:m-magenta c-cyan s-square d-diamond p-pentagram h-hexagram例例3.1.1 函数函数y=xy=x2 2-10 x+6-10 x+6的图形,
14、曲线为红色的虚线,的图形,曲线为红色的虚线,数据点用蓝色的圆圈表示。数据点用蓝色的圆圈表示。 x=0:1:10; y=x.2 -10*x +6; plot(x,y,r-,x,y,bo);012345678910-20-15-10-50510图图 3.4 不同线型、点型和颜色的图形不同线型、点型和颜色的图形 为了说明图中曲线的名称或类型,用为了说明图中曲线的名称或类型,用legendlegend命令来制作图例。命令来制作图例。 基本格式是:基本格式是: legend(string1,string2,.,pos) 其中其中string1,string2,是图形中曲线图例的字是图形中曲线图例的字符串
15、,说明对应曲线的名称或类型,而符串,说明对应曲线的名称或类型,而pos是一个是一个整数,用来指定图例的位置。这些整数所代表的整数,用来指定图例的位置。这些整数所代表的含义如表含义如表32所示。用所示。用legend off命令将能去除多命令将能去除多余的图例。余的图例。 eg. x = 0:pi/100:2*pi; y1 = sin(2*x); y2 = 2*cos(2*x); plot(x,y1,k-,x,y2,b-); title (Plot of f(x) = sin(2x) and its derivative); xlabel (x); ylabel (y); legend (f(x
16、),d/dx f(x),-1) grid on;01234567-2-1.5-1-0.500.511.52Plot of f(x) = sin(2x) and its derivativexyf(x)d/dx f(x)3.1.4 3.1.4 同一坐标系内多条曲线的绘制同一坐标系内多条曲线的绘制 在一张图形窗口的同一坐标系上绘制多条在一张图形窗口的同一坐标系上绘制多条曲线的方法有曲线的方法有4 4种种. .-4-3-2-101234-1-0.8-0.6-0.4-0.200.20.40.60.81sin xcos x1.使用使用plot(x,y1;y2;) 例例: :运行下列程序运行下列程序x =
17、 -pi:pi/20:pi;y1 = sin(x);y2 = cos(x);plot(x,y1;y2);legend(sin x,cos x); 图图 3.5 同一窗口多条曲线的绘制同一窗口多条曲线的绘制 这种方法的这种方法的缺点缺点是:所有的变是:所有的变量要有相同的长度和相同的自量要有相同的长度和相同的自变量向量,而且也不便于对各变量向量,而且也不便于对各条曲线分别设定线型和颜色。条曲线分别设定线型和颜色。 2.使用使用hold命令命令 在画完前一张图后,用在画完前一张图后,用hold on命令保持住,再画命令保持住,再画下一条曲线下一条曲线. 例如键入下列程序例如键入下列程序 x = -
18、pi:pi/20:pi; y1 = sin(x); y2 = cos(x); plot(x,y1); hold on; 执行此程序时,图形窗口产生第一幅图形,执行此程序时,图形窗口产生第一幅图形,同时图形处于保持状态。同时图形处于保持状态。 再键入再键入plot(x,y2,r),就把第二幅以红色的,就把第二幅以红色的曲线画在图上。曲线画在图上。用这种方法时,两张图各用这种方法时,两张图各自的自变量长度可以各不相同,只要每张自的自变量长度可以各不相同,只要每张图各自的自变量和因变量同长即可。图各自的自变量和因变量同长即可。-4-3-2-101234-1-0.8-0.6-0.4-0.200.20.
19、40.60.81-4-3-2-101234-1-0.8-0.6-0.4-0.200.20.40.60.81 注意注意: 使用使用hold on以后的图形都会在此图以后的图形都会在此图上绘制上绘制, 如果想将图形绘制在新的图形窗口如果想将图形绘制在新的图形窗口中中, 可以键入可以键入hold off命令及时解除保持状态。命令及时解除保持状态。 3.在在plotplot后使用多输入变量后使用多输入变量 使用这种方法,其语句格式:使用这种方法,其语句格式: plot(x1,y1,x2,y2,xn,yn) 该语句中该语句中xl、y1、x2、y2等分别为向量对。每一等分别为向量对。每一向量对可以绘出一条
20、曲线,这样就可以在一张图向量对可以绘出一条曲线,这样就可以在一张图上画出多条曲线,每一向量对的长度可以不同,上画出多条曲线,每一向量对的长度可以不同,在其后面都可加线型和颜色标志符。在其后面都可加线型和颜色标志符。x = -pi:pi/20:pi;y1 = sin(x);y2 = cos(x);plot(x,y1,go,x,y2,r:);title(线型、点型和颜色线型、点型和颜色);xlabel(时间时间),ylabel(Y);grid on; -4-3-2-101234-1-0.8-0.6-0.4-0.200.20.40.60.81线 型 、 点 型 和 颜 色时 间Y图图 3.6 多条曲
21、线的绘制多条曲线的绘制 其中一条曲线在数据点处用绿色的圆圈作标记,另一条曲线用其中一条曲线在数据点处用绿色的圆圈作标记,另一条曲线用红色的点线绘制。红色的点线绘制。对于单引号中的字符串,对于单引号中的字符串,MATLAB只作为一种代码来传递,只作为一种代码来传递,因此因此MATLAB可以把汉字标注在图上。可以把汉字标注在图上。 4.使用使用plotyy命令命令 plotyy设有两个纵坐标,以便绘制两个设有两个纵坐标,以便绘制两个y y尺度不同的变量,但尺度不同的变量,但x x仍用同一个比例尺,仍用同一个比例尺,例如,键入例如,键入 -4-3-2-101234-101-4-3-2-101234-
22、505图图3.7 双纵坐标图形双纵坐标图形 得到如图得到如图3.73.7所示图形,其中左纵所示图形,其中左纵坐标是对坐标是对y1y1(值(值0 01 1)的,而右)的,而右纵坐标是对纵坐标是对y2y2(值(值0 05 5)的,)的, x = -pi:pi/20:pi; y1 = sin(x); y2 = 5*cos(x); plotyy(x,y1,x,y2); grid on; gtext命令命令 纵坐标轴和曲线的标注可用纵坐标轴和曲线的标注可用gtext命令来放命令来放置。置。 gtext(x); gtext(y1); gtext(y2); gtext命令用鼠标拖动来确定标注文字的位命令用鼠
23、标拖动来确定标注文字的位置置,用起来比较方便。用起来比较方便。 3.1.5 3.1.5 多个图形窗口多个图形窗口 在计算机图形屏幕上可以同时打开几个在计算机图形屏幕上可以同时打开几个图形窗口,也可以在一个图形窗口内绘制图形窗口,也可以在一个图形窗口内绘制几幅子图,并且这几幅分图可用不同的坐几幅子图,并且这几幅分图可用不同的坐标显示。标显示。 1. 1. 多个图形窗口的创建多个图形窗口的创建 MATLAB可以创建不同标号的多个图形窗口。可以创建不同标号的多个图形窗口。 函数格式是:函数格式是:figure(n); 其中其中n代表打开第代表打开第n个图形窗口。当这个函数被执个图形窗口。当这个函数被
24、执行后,图行后,图n将会变为当前图形窗口,执行所有的将会变为当前图形窗口,执行所有的画图命令。画图命令。MATLAB默认打开默认打开“Figure 1”窗口。窗口。相关的其他函数相关的其他函数: : gcf函数用于返回当前图形窗口数。函数用于返回当前图形窗口数。 clf命令用于清除当前图形窗口的内容。命令用于清除当前图形窗口的内容。 close命令用于关闭图形窗。命令用于关闭图形窗。2. 2. 子图形窗口子图形窗口 在一个图形窗口内可以创建出多个在一个图形窗口内可以创建出多个子图形窗口。创建子图形窗口的命令子图形窗口。创建子图形窗口的命令格式是:格式是:subplot(m, n, p) 该命令
25、在当前窗口内创建该命令在当前窗口内创建m行行n列个列个子图形窗口,子图形窗口,p表示当前第表示当前第p个子图形窗口。个子图形窗口。这些子窗口以从左向右从上到下编号。这些子窗口以从左向右从上到下编号。 eg. subplot(2,3,4) 例如例如运行下列程序,结果如图运行下列程序,结果如图3.8所示。所示。 figure(2) ;subplot(2,1,1);x= -pi:pi/20:pi;y=sin(x);plot(x,y) ; grid on;title(正弦曲线正弦曲线); subplot(2,1,2); x= -pi:pi/20:pi; y=cos(x);plot(x,y); grid
展开阅读全文