MATLAB图像处理之三维绘图优质PPT.ppt
- 文档编号:14297997
- 上传时间:2022-10-21
- 格式:PPT
- 页数:71
- 大小:1.44MB
MATLAB图像处理之三维绘图优质PPT.ppt
《MATLAB图像处理之三维绘图优质PPT.ppt》由会员分享,可在线阅读,更多相关《MATLAB图像处理之三维绘图优质PPT.ppt(71页珍藏版)》请在冰豆网上搜索。
颜色的使用;
曲面/网线图的精细修饰;
透视、镂空和裁切高维可视化图形窗功能,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利用三维曲线的参数方程绘制三维图形,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),boxonxlabel(x),ylabel(y),zlabel(z)legend(链,宝石),2.三维曲面/网线图,三维图形较二维图形复杂:
表现在:
数据的准备三维图形色彩的使用明暗处理、光照处理、视点处理等,
(1)数据准备(很重要),画函数所代表的三维空间曲面,需要做以下数据准备:
(1)确定自变量的取值范围和取值间隔;
(2)构成自变量x,y的自变量“格点”矩阵;
(3)计算在自变量采样“格点”上的函数值。
(2)绘制曲面/网线图的基本指令,surf(Z)以Z矩阵列、行下标为轴自变量,画曲面图。
surf(X,Y,Z)最常用的曲面图调用格式surf(X,Y,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是格点上的函数矩阵;
C是指定各点用色的矩阵。
C可以空缺,空缺时,默认的用色矩阵C=Z。
单宗量输入绘图时,Z矩阵的列下标当作x轴坐标的“自变量”,把Z的行下标当作y轴坐标的“自变量”。
例5.3-2用曲面图表现函数,clfx=-4:
4;
y=x;
X,Y=meshgrid(x,y);
Z=X.2+Y.2;
surf(X,Y,Z);
colormap(hot)holdonstem3(X,Y,Z,bo)holdoffxlabel(x),ylabel(y),zlabel(z)axis(-5,5,-5,5,0,inf)view(-84,21),单宗量输入时:
clfx=-4:
surf(Z);
colormap(hot)holdonmesh(X,Y,Z)holdoffxlabel(x),ylabel(y),zlabel(z)view(-84,21),3、颜色的使用,但是很多时候,一个简单的二维或三维图形不能一次显示出想要提供的全部信息。
这时,颜色可以对图形提供一个附加的维数。
许多绘图函数都可以接受一个可用的颜色参量,来增加这附加的维数。
本小节以研究颜色映象开始:
如何使用、显示、修改和如何创建用户自己的颜色映象。
然后,阐述在一个图形窗口中仿真多个颜色映象的技术或只使用颜色映象的一部分的技术。
最后,讨论照明模型并提供例子。
(1)颜色映像简介,MATLAB有一个叫颜色映象的数据结构来代表颜色值。
颜色映象定义为一个有三列和若干行的矩阵。
利用0到1之间的数,矩阵的每一行都代表了一种色彩。
任一行的数字都指定了一个RGB值,即红、黄、蓝三种颜色的强度,形成一种特定的颜色。
简单颜色映像表,预定的颜色映象分别由十个MATLAB函数产生,上面所列的各个颜色映象产生一个643的矩阵,指定了64种颜色RGB的描述。
这些函数都接受一个参量来指定所产生矩阵的行数。
比如hot(m)产生一个m3的矩阵,它包含的RGB颜色值的范围从黑经过红、橘红和黄,到白。
大多数计算机在一个8位的硬件查色表中一次可以显示256种颜色,当然有些计算机的显示卡可以同时显示更多的颜色。
这就意味着在不同的图中,一般一次可以用三或四个643的颜色映象。
如果使用了更多的颜色映象输入项,计算机必须经常在它的硬件查色表中调出输入项。
比如,当在画MATLAB图形时背景图案发生了变化,就是发生了这种情况。
所以,除非计算机有一次显示更多种颜色的显示卡,最好任何一次所用的颜色映象输入项数都小于256。
(2)颜色映象使用,语句colormap(M)将矩阵M作为当前图形窗口所用的颜色映象。
例如,colormap(cool)装入了一个有64个输入项的cool颜色映象。
colormapdefault装入了缺省的颜色映象(hsv)。
函数plot、plot3、contour(等高线图)和contour3不使用颜色映象,它们使用列在plot颜色和线形表中的颜色。
而大多数其它绘图函数,比如mesh、surf、fill、pcolor和它们的各种变形函数,使用当前的颜色映象。
接受颜色参量的绘图函数中的颜色参量通常采用以下三种形式之一:
(1)字符串。
代表plot颜色或线型表中的一种颜色,比如,r代表红色;
(2)三个输入的行向量。
它代表一个单独的RGB值,比如.25.50.75;
(3)矩阵。
如果颜色参量是一个矩阵,其元素作了调整,并把它们用作当前颜色映象的下标。
最后一种形式会在以后作更多讨论。
(3)颜色映象显示,可以用多种途径来显示一个颜色映象。
其中一个方法是观察颜色映象矩阵的元素。
例如:
hot(8)ans=0.3333000.6667001.0000001.00000.333301.00000.666701.00001.000001.00001.00000.50001.00001.00001.0000上面的数据显示出第一行是1/3红色,而最后一行是白色。
另外,函数pcolor可以用来显示一个颜色映象。
n=16;
colormap(jet(n)pcolor(1:
n+1;
1:
n+1)title(UsingPcolortoDisplayaColorMap),用伪彩色来显示颜色映象因为上面这一段程序很有用处,它已经装入精通MATLAB工具箱中的函数mmshow中。
helpmmshowMMSHOWPCOLORColormapDisplayMMSHOWusespccolortodisplaythecurrentcolormap.MMSHOW(MAP)displaysthecolormapMAP.MMSHOW(MAP(N)displaysthecolormapMAPhavingNelements.Examples:
MMSHOW(hot)MMSHOW(pink(30)帮助信息:
MMSHOW显示PCOLOR颜色映象MMSHOW使用pcolor来显示当前颜色映象MMSHOW(MAP)显示MAP颜色映象MMSHOW(MAP(N)显示一个有N个元素的MAP颜色映象例子:
MMSHOW(hot)MMSHOW(pink(30),函数mmshow取和colormap同样的输入参量,但在这种情况下它用自己的伪彩色显示而不是把颜色映象施加到当前图形。
另一种途径是使用MATLAB的函数rgbplot,它可以把颜色映象的各列分别画成红、绿和蓝色。
例如rgbplot(hot),图中显示红色分量首先增加,然后是绿色,最后是蓝色。
rgbplot(gray)表示所有三列数据均匀线性地增加(三条线重叠)。
4、曲面/网线图的精细修饰,
(1)视角控制viewview(az,el)通过方位角、俯视角设置视点view(vx,vy,vz)通过直角坐标设置视点,
(2)色图colormapcolormap(CM)设置当前图形窗的着色色图为CM,MATLAB的预定义色图矩阵CM,函数colorbar在当前的图形窗口中增加水平或垂直的颜色标尺以显示当前坐标轴的颜色映象。
colorbar(horiz)在当前的图形下面放一个水平的颜色条。
colorbar(vert)在当前的图形右边放一个垂直的颜色条。
对无参量的colorbar,如果当前没有颜色条就加一个垂直的颜色条,或者更新现有的颜色条。
x,y,z=peaks;
mesh(x,y,z);
colormap(hsv)axis(-33-33-68)colorbar,(3)浓淡处理shading,shadingoptions图形对象着色的浓淡处理mesh、surf、pcolor、fill和fill3所创建的图形非数据点处的着色由shading指令决定。
flatinterptfacetedshading是设置当前轴上“面”对象的Edgecolor和Facecolor属性的高层指令。
【例5.3-3】三种浓淡处理方式比较。
surf(X,Y,Z)colormap(jet)subplot(1,3,1),surf(Z),axisoffsubplot(1,3,2),surf(Z),axisoff,shadingflatsubplot(1,3,3),surf(Z),axisoff,shadinginterpset(gcf,Color,w),(4)透明度控制alpha,alpha(v)对面、块、象三种图形对象的透明度加以控制;
0-1之间,0为完全透明,1为不透明。
【例5.3-4】半透明的表面图。
clfsurf(peaks)shadinginterpalpha(0.5)colormap(summer),(5)灯光设置light,light(color,option1,style,option2,position,option3)灯光设置指令使用前后,原为强度相等的漫射光,后为面等子对象有关光的属性都被激活。
该指令可以不包含任何宗量,采用默认设置:
白光、无穷远、穿过101射向坐标原点。
任何一个宗量都可以缺省;
option1可以采用RGB三元组或相应的色彩字符;
option2可以取infinte和local分别表示无穷远光和近光。
option3为直角坐标三元组形式,对远光,表示光线穿过该点射向原点;
对近光,表示光源所在位置。
(6)照明模式lighting,lightingoptions设置照明模式flat与faceted配合使用,默认格式,入射光均匀洒在图形对象的每个面上。
gouraud先对顶点颜色插补,再对顶点勾画的面色进行插补,用于曲面表现;
phong对顶点处法线差值,再计算各像素的反光。
none使所有光源关闭。
(7)控制光反射的材质指令material,materialoptions使用预定义反射模式shiny使对象比较明亮,镜反射份额较大,反射光颜色仅取决于光源颜色。
dull适用对象比较暗淡,漫反射份额较大,没有镜面亮点,反射光颜色仅取决于光源颜色。
metal使对象带金属光泽,镜反射份额较大,背景光和漫反射份额很小,反射光颜色取决于光源和图形表面两者的颜色。
Default返回默认设置模式。
【例5.3-5】灯光、照明、材质指令所表现的图形。
clf;
X,Y,Z=sphere(80);
colormap(jet)subplot(1,2,1),surf(X,Y,Z),axisequaloff,shadinginterplight(position,0-101.5,style
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MATLAB 图像 处理 三维 绘图