MATLAB-图像处理之三维绘图.ppt
《MATLAB-图像处理之三维绘图.ppt》由会员分享,可在线阅读,更多相关《MATLAB-图像处理之三维绘图.ppt(72页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、上次课内容回顾上次课内容回顾MATLAB二维绘图二维绘图离散函数和数据的可视化;离散函数和数据的可视化;二维曲线和图形二维曲线和图形plot基本调用格式、基本调用格式、衍生调用格式、衍生调用格式、可控调用格式;可控调用格式;坐标控制和图形标识(坐标轴、分格线、坐标坐标控制和图形标识(坐标轴、分格线、坐标框、图形标识、精细控制)框、图形标识、精细控制)多次叠绘、双纵坐标和多子图;多次叠绘、双纵坐标和多子图;1.获取二维图形数据的指令获取二维图形数据的指令ginput。3.3三维曲线和曲面三维曲线和曲面内容提要内容提要三维线图指令三维线图指令plot3;三维曲面三维曲面/网线图;网线图;颜色的使用
2、;颜色的使用;曲面曲面/网线图的精细修饰;网线图的精细修饰;透视、镂空和裁切透视、镂空和裁切高维可视化高维可视化1. 图形窗功能图形窗功能1. 三维线图指令三维线图指令plot3 plot3(X,Y,Z,s) (单参数三维曲线)(单参数三维曲线) 用用s 指定的点形线型色彩绘制曲线指定的点形线型色彩绘制曲线 plot3(X1,Y1,Z1,s1,X2,Y2,Z2,s2, . )用用s1, s2 指定的点形线型色彩绘制指定的点形线型色彩绘制多类曲线多类曲线 说明说明:X、Y、Z为同维向量、为同维向量、矩阵、矩阵、s的意义、的意义、四元组之间没有约束关系四元组之间没有约束关系例例5.3-1利用三维曲
3、线的参数方程利用三维曲线的参数方程绘制三维图形绘制三维图形 t=(0:0.02:2)*pi;%参数采样参数采样 x=sin(t);y=cos(t);z=cos(2*t); plot3(x,y,z,b-,x,y,z,bd) view(-82,58),box on xlabel(x),ylabel(y),zlabel(z) legend(链链,宝石宝石) 2.三维曲面三维曲面/网线图网线图三维图形较二维图形复杂:表现在:三维图形较二维图形复杂:表现在:数据的准备数据的准备三维图形色彩的使用三维图形色彩的使用明暗处理、明暗处理、光照处理、光照处理、1. 视点处理等视点处理等(1)数据准备(很重要)数
4、据准备(很重要) 画函数画函数 所代表的三维空间曲面,需所代表的三维空间曲面,需要做以下数据准备:要做以下数据准备: : (1)确定自变量的取值范围和取值间隔;)确定自变量的取值范围和取值间隔; (2)构成自变量)构成自变量x,y的自变量的自变量“格点格点”矩阵;矩阵; (3)计算在自变量采样)计算在自变量采样“格点格点”上的函数上的函数值。值。),(yxfz (2)绘制曲面)绘制曲面/网线图的基本指令网线图的基本指令surf(Z) 以以Z矩阵列、行下标为轴自变量,矩阵列、行下标为轴自变量,画曲面图。画曲面图。surf(X,Y,Z) 最常用的曲面图调用格式最常用的曲面图调用格式surf(X,Y
5、,Z,C) 最完整调用格式最完整调用格式,画由,画由C指定用色的曲面图。指定用色的曲面图。mesh(Z) 以以Z矩阵列、行下标为轴自变矩阵列、行下标为轴自变量,画网线图。量,画网线图。mesh(X,Y,Z) 最常用的网线图调用格式最常用的网线图调用格式mesh(X,Y,Z,C) 最完整调用格式,最完整调用格式,画由画由C指定用色的网线图。指定用色的网线图。 说明说明对于最完整调用格式对于最完整调用格式surf(X,Y,Z,C) 和和mesh(X,Y,Z,C) :四个输入宗量都是维数相同的矩阵;四个输入宗量都是维数相同的矩阵;X、Y是自变量是自变量“格点格点”矩阵;矩阵;Z是格点上的函数矩阵;是
6、格点上的函数矩阵;C是指定各点用色的矩阵。是指定各点用色的矩阵。C可以空缺,空缺时,可以空缺,空缺时,默认的用色矩阵默认的用色矩阵C=Z。单宗量输入绘图时,单宗量输入绘图时,Z矩阵的列下标当作矩阵的列下标当作x轴坐标的轴坐标的“自变量自变量”,把把Z的行下标当作的行下标当作y轴坐标的轴坐标的“自变量自变量”。例例5.3-2用曲面图表现函数用曲面图表现函数 clf x=-4:4;y=x; X,Y=meshgrid(x,y); Z=X.2+Y.2; surf(X,Y,Z); colormap(hot) hold on stem3(X,Y,Z,bo) hold off xlabel(x),ylabe
7、l(y),zlabel(z) axis(-5,5,-5,5,0,inf) view(-84,21) 22yxz单宗量输入时:单宗量输入时: clf x=-4:4;y=x; X,Y=meshgrid(x,y); Z=X.2+Y.2; surf(Z); colormap(hot) hold on mesh(X,Y,Z) hold off xlabel(x),ylabel(y),zlabel(z) view(-84,21) 3、颜色的使用、颜色的使用 但是很多时候,一个简单的二维或三维图但是很多时候,一个简单的二维或三维图形不能一次显示出想要提供的全部信息。形不能一次显示出想要提供的全部信息。 这时
8、,颜色可以对图形提供一个附加的维这时,颜色可以对图形提供一个附加的维数。数。 许多绘图函数都可以接受一个可用的颜色许多绘图函数都可以接受一个可用的颜色参量,来增加这附加的维数。参量,来增加这附加的维数。 本小节以研究颜色映象开始:本小节以研究颜色映象开始:如何使用、显示、修改和如何创建用户自如何使用、显示、修改和如何创建用户自己的颜色映象。己的颜色映象。然后,阐述在一个图形窗口中仿真多个颜然后,阐述在一个图形窗口中仿真多个颜色映象的技术或只使用颜色映象的一部分色映象的技术或只使用颜色映象的一部分的技术。的技术。最后,讨论照明模型并提供例子。最后,讨论照明模型并提供例子。 (1)颜色映像简介)颜
9、色映像简介 MATLAB有一个叫颜色映象的数据结构来有一个叫颜色映象的数据结构来代表颜色值。代表颜色值。 颜色映象定义为一个有三列和若干行的矩颜色映象定义为一个有三列和若干行的矩阵。阵。 利用利用0到到1之间的数,矩阵的每一行都代表之间的数,矩阵的每一行都代表了一种色彩。了一种色彩。 任一行的数字都指定了一个任一行的数字都指定了一个RGB值,即红、值,即红、黄、蓝三种颜色的强度,形成一种特定的黄、蓝三种颜色的强度,形成一种特定的颜色。颜色。 简单颜色映像表简单颜色映像表预定的颜色映象预定的颜色映象分别由十个分别由十个MATLAB函数产生函数产生 上面所列的各个颜色映象产生一个上面所列的各个颜色
10、映象产生一个643的的矩阵,指定了矩阵,指定了64种颜色种颜色RGB的描述。的描述。 这些函数都接受一个参量来指定所产生矩这些函数都接受一个参量来指定所产生矩阵的行数。比如阵的行数。比如hot(m)产生一个产生一个m3的矩的矩阵,它包含的阵,它包含的RGB颜色值的范围从黑经过颜色值的范围从黑经过红、橘红和黄,到白。红、橘红和黄,到白。 大多数计算机在一个大多数计算机在一个8位的硬件查色表中一次可位的硬件查色表中一次可以显示以显示256种颜色,当然有些计算机的显示卡可种颜色,当然有些计算机的显示卡可以同时显示更多的颜色。以同时显示更多的颜色。 这就意味着在不同的图中,一般一次可以用三或这就意味着
11、在不同的图中,一般一次可以用三或四个四个643的颜色映象。如果使用了更多的颜色的颜色映象。如果使用了更多的颜色映象输入项,计算机必须经常在它的硬件查色表映象输入项,计算机必须经常在它的硬件查色表中调出输入项。比如,当在画中调出输入项。比如,当在画MATLAB图形时背图形时背景图案发生了变化,就是发生了这种情况。景图案发生了变化,就是发生了这种情况。 所以,除非计算机有一次显示更多种颜色的显示所以,除非计算机有一次显示更多种颜色的显示卡,最好任何一次所用的颜色映象输入项数都小卡,最好任何一次所用的颜色映象输入项数都小于于256。 (2)颜色映象使用)颜色映象使用 语句语句colormap(M)将
12、矩阵)将矩阵M作为当前图形作为当前图形窗口所用的颜色映象。窗口所用的颜色映象。 例如,例如,colormap(cool)装入了一个有)装入了一个有64个输入项的个输入项的cool颜色映象。颜色映象。 colormap default装入了缺省的颜色映象装入了缺省的颜色映象(hsv)。)。 函数函数plot、plot3、contour(等高线图)(等高线图)和和contour3不使用颜色映象,它们使用列不使用颜色映象,它们使用列在在plot颜色和线形表中的颜色。而大多数其颜色和线形表中的颜色。而大多数其它绘图函数,比如它绘图函数,比如mesh、surf、fill、pcolor和它们的各种变形函数
13、,使用当前和它们的各种变形函数,使用当前的颜色映象。的颜色映象。 接受颜色参量的绘图函数中的颜色参量通常采用接受颜色参量的绘图函数中的颜色参量通常采用以下三种形式之一:以下三种形式之一: (1)字符串。代表)字符串。代表plot颜色或线型表中的一种颜颜色或线型表中的一种颜色,比如,色,比如, r 代表红色;代表红色; (2)三个输入的行向量。它代表一个单独的)三个输入的行向量。它代表一个单独的RGB值,比如值,比如.25 .50 .75; (3)矩阵。如果颜色参量是一个矩阵,其元素)矩阵。如果颜色参量是一个矩阵,其元素作了调整,并把它们用作当前颜色映象的下标。作了调整,并把它们用作当前颜色映象
14、的下标。最后一种形式会在以后作更多讨论。最后一种形式会在以后作更多讨论。 (3)颜色映象显示)颜色映象显示 可以用多种途径来显示一个颜色映象。其中一个方法是观可以用多种途径来显示一个颜色映象。其中一个方法是观察颜色映象矩阵的元素。察颜色映象矩阵的元素。 例如:例如: hot(8) ans =0.3333 0 00.6667 0 01.0000 0 01.0000 0.3333 01.0000 0.6667 01.0000 1.0000 01.0000 1.0000 0.50001.0000 1.0000 1.0000上面的数据显示出第一行是上面的数据显示出第一行是1/3红色,而最后一行是白色。
15、红色,而最后一行是白色。 另外,函数另外,函数pcolor可以用来显示一个颜色可以用来显示一个颜色映象映象。 n=16; colormap(jet(n) pcolor(1:n+1;1:n+1 ) title( Using Pcolor to Display a Color Map )用伪彩色来显示颜色映象用伪彩色来显示颜色映象因为上面这一段程序很有用处,它已经装入精通因为上面这一段程序很有用处,它已经装入精通MATLAB工具箱中的函数工具箱中的函数mmshow中。中。help mmshowMMSHOW PCOLOR Colormap DisplayMMSHOW uses pccolor to
16、display the current colormap.MMSHOW(MAP) displays the colormap MAP.MMSHOW(MAP(N) displays the colormap MAP having N elements.Examples:MMSHOW(hot)MMSHOW(pink(30)帮助信息:帮助信息:MMSHOW 显示显示PCOLOR颜色映象颜色映象MMSHOW 使用使用pcolor来显示当前颜色映象来显示当前颜色映象MMSHOW(MAP) 显示显示MAP颜色映象颜色映象MMSHOW(MAP(N) 显示一个有显示一个有N个元素的个元素的MAP颜色映象颜色映
17、象例子:例子:MMSHOW(hot) MMSHOW(pink(30) 函数函数mmshow取和取和colormap同样的输入参同样的输入参量,但在这种情况下它用自己的伪彩色显量,但在这种情况下它用自己的伪彩色显示而不是把颜色映象施加到当前图形。示而不是把颜色映象施加到当前图形。 另一种途径是使用另一种途径是使用MATLAB的函数的函数rgbplot,它可以把颜色映象的各列分别画成红、绿它可以把颜色映象的各列分别画成红、绿和蓝色。和蓝色。例如例如rgbplot(hot) 图中显示红色分量首先增加,然后是绿色,图中显示红色分量首先增加,然后是绿色,最后是蓝色。最后是蓝色。 rgbplot(gray
18、)表示所有三列数据均匀线)表示所有三列数据均匀线性地增加(三条线重叠)。性地增加(三条线重叠)。4、曲面、曲面/网线图的精细修饰网线图的精细修饰 (1)视角控制)视角控制viewview(az,el) 通过方位角、俯视角设置视点通过方位角、俯视角设置视点view(vx,vy,vz) 通过直角坐标设置视点通过直角坐标设置视点(2)色图)色图colormap colormap(CM) 设置当前图形窗的着色色图为设置当前图形窗的着色色图为CM MATLAB的预定义色图矩阵的预定义色图矩阵CMCM含含 义义CM含含 义义autumn红、黄浓淡色jet蓝头红尾饱和值色bone蓝色调浓淡色lines采用p
19、lot绘线色colorcube三浓淡多彩交错色pink淡粉红色图cool青、品红浓淡色prism光谱交错色copper纯铜色调线性浓淡色SPRING青、黄浓淡色flag红-白-蓝-黑交错色summer绿、黄浓淡色gray灰色调线性浓淡色winter蓝、绿浓淡色hot黑、红、黄、白浓淡色white全白色hsv两端为红的饱和值色注意:jet时默认色图。 函数函数colorbar在当前的图形窗口中增加水平或垂在当前的图形窗口中增加水平或垂直的颜色标尺以显示当前坐标轴的颜色映象。直的颜色标尺以显示当前坐标轴的颜色映象。 colorbar( horiz ) 在当前的图形下面放一个水在当前的图形下面放一个
20、水平的颜色条。平的颜色条。 colorbar( vert ) 在当前的图形右边放一个垂直在当前的图形右边放一个垂直的颜色条。的颜色条。 对无参量的对无参量的colorbar,如果当前没有颜色条就加,如果当前没有颜色条就加一个垂直的颜色条,或者更新现有的颜色条。一个垂直的颜色条,或者更新现有的颜色条。 x,y,z=peaks; mesh(x,y,z); colormap(hsv) axis(-3 3 -3 3 -6 8) colorbar(3)浓淡处理)浓淡处理shadingshading options图形对象着色的浓淡处理图形对象着色的浓淡处理mesh、surf、pcolor、fill和和f
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MATLAB 图像 处理 三维 绘图
限制150内