您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 交通运输 > matlab在信号与图像处理中的应用第4章
1第4章作图MATLAB有很强的绘图能力。用二维曲线绘图函数,可以很简单的绘制二维曲线,并可以对绘制的曲线的线型、点型、颜色等进行控制。还可以标注坐标轴、添加标题,在图像中添加图形标注、文本标注等。用三维曲线绘图函数,可以类似于二维曲线绘图函数绘制三维曲线,并添加标注。用三维曲面绘图函数绘制三维网格图和表面图,并对三维曲面的色彩进行控制。利用一些特殊的绘图函数来绘制条形图、杆形图、阶梯图、扇形图等。会创建图形窗口、分割图形窗口熟练掌握绘制二维曲线的方法,并对二维曲线添加标注熟练掌握绘制三维曲线的方法,并对三维曲线添加标注掌握绘制三维网格图、表面图的方法,并会设置图像的颜色基本掌握绘制条形图、杆形图、阶梯图、扇形图、填充图的方法基本掌握使用柱形图函数绘图的方法基本掌握绘制球面图、椭球面图的方法绘制圆锥及其三视图4.1图形窗口MATLAB的图像都是绘制在图形窗口中,要用MATLAB绘图,首先要知道图形窗口的创建。4.1.1创建图形窗口创建图形窗口有直接创建和间接创建两种方式。(1)直接创建图形窗口直接创建图形窗口的函数是figure,其调用格式是:学学习习目目标标练练习习案案例例练练习习案案例例0第4章作图21)figure:创建图形窗口。2)figure(n):这种调用方式有两种功能,取决于图形窗口是否存在。如果第n号图形窗口已经存在,则把第n号图形窗口置为当前图形窗口,并把它放在其它图形窗口之上。如果第n号图形窗口不存在,则创建它。如果n不是正整数,则会显示出错信息。提示:MATLAB在当前图形窗口中输出图像。用figure创建图形窗口时,依次把图形窗口命名为figure1、figure2、……。用figure(n)创建图形窗口时,直接创建第n号图形窗口,而不管前面的n-1个图形窗口是否存在。3)h=figure或h=figure(n):返回图形窗口的句柄h。例4-1直接创建图形窗口在命令窗口中输入:figure(5)运行后创建5号图形窗口,如图4-1所示。图4-1直接创建图形窗口(2)间接创建如果没有创建图形窗口,执行二维绘图函数plot、三维绘图函数plot3时,可以间接创建图形窗口。在使用一些标注函数时,也可以间接创建图形窗口,如xlabel,ylabel,zlabel,title,text等。还有在执行一些对图形窗口操作的命令时,如gcf,gca等也能间接创建图形窗口。例4-2间接创建图形窗口在命令窗口中输入:title('间接创建图形窗口')运行后创建图形窗口,如图4-2所示。04.1图形窗口3图4-2间接创建图形窗口4.1.2分割图形窗口为了需要可以把一个图形窗口分割成多个小的图形窗口。在每一个小的图形窗口中可以像大的图形窗口一样进行绘图、标注等。用函数subplot可以把一个图形窗口分割成多个小的图形窗口,其调用格式是:1)subplot(m,n,k):把图形窗口分割成mn个小图形窗口,并把第k个小窗口置为当前图形窗口。窗口的排列顺序是:从最上面的一行图形窗口,自左向右依次排列为第1个、第2个、…,第m个;然后是第二行图形窗口,自左向右依次排列为第m+1个、第m+2个、…、第2m个,……。2)subplot(m,n,k,'replace'):清除第k号窗口中的图形。3)subplot(m,n,P):P是一个向量,此命令可以产生一个新的子窗口,覆盖掉P中的所有子窗口。4)h=subplot(...):返回句柄h。例4-3图形窗口的分割在命令窗口中输入:subplot(2,2,1)subplot(2,2,3)subplot(2,2,[2,4])运行后生成图形窗口,如图4-3所示。0第4章作图4图4-3图形窗口的分割4.2二维曲线在MATLAB用二维绘图函数绘制出二维图像后,还可以对图像、坐标轴等等进行修饰。4.2.1二维绘图函数二维曲线绘图函数是plot,其调用格式是:1)plot(x,y):如果x和y是长度相等的向量,以x为横坐标,以y为纵坐标绘制出一条二维曲线。如果x和y都是mn的矩阵,则以x的列向量为横坐标,以y对应的列向量为纵坐标绘制出n条曲线。如果x是n维向量,y是mn矩阵,则以x为横坐标,以y的行向量为纵坐标绘制m条曲线。如果x是m维向量,y是mn矩阵,则以x为横坐标,以y的列向量为纵坐标绘制n条曲线。提示:如果x和y是n维向量,绘制的图像中有n个数据点,再依次把各数据点间用线连接起来,就得到了一条曲线。2)plot(y):如果y是n维向量,则横坐标以x=1:n,以y为纵坐标绘制一条二维曲线。如果y是mn矩阵,则横坐标为x=1:m,以y的列向量为纵坐标绘制n条二维曲线。3)plot(x,y,s):用字符串s指定曲线的颜色、线型和点型。图像的颜色、线型、点型的控制字符见表4-1、表4-2和表4-3。表4-1颜色控制字符字符bcgkmrwy颜色蓝色青色绿色黑色洋红红色白色黄色04.2二维曲线5表4-2线型控制字符字符-:-.--线型实线点线点划线虚线表4-3点型控制字符字符.ox+*sd点型点圆圈叉号十字号星号方块菱形字符v^ph点型下三角上三角左三角右三角五角星六角星提示:颜色、线型、点型控制字符,每类可以选1个或不选,3类字符的前后次序不限。如,'-o'表示绘制的曲线是实线,数据点用圆圈。'r--'表示红色的点划线。'k*:'表示黑色的点线,数据点用星号。4)plot(x1,y1,x2,y2,...):x1,y1为一组绘制曲线、x2,y2为一组绘制曲线、……。其中的x1,y1,x2,y2等可以是向量,也可以是矩阵。5)plot(x1,y1,s1,x2,y2,s2,...):x1,y1为一组绘制曲线,用s1指定颜色、线型、点型;x2,y2为一组绘制曲线,用s2指定颜色、线型、点型;……。提示:在绘制多条曲线时可以对某些曲线的颜色、线型、点型指定,而另一些曲线的颜色、线型、点型不指定。6)plot(axes_handle,...):在axes_handle指定的图形窗口中绘图。7)h=plot(...):返回一个列向量,其中是各条曲线的句柄。例4-4二维绘图在命令窗口中输入:x1=0:0.1:2*pi;y1=cos(x1);x2=-pi:0.1:pi;y2=sin(x2);plot(x1,y1,'r:o',x2,y2)运行后生成图像,如图4-4所示。0第4章作图6图4-4二维绘图图像中对余弦函数曲线的颜色、线型、点型作了控制,而正弦函数曲线由MATLAB自动控制。4.2.2对图像的修饰通过指定曲线的属性,可以对曲线进制修饰。常用属性有:LineWidth:曲线的宽度。MarkerEdgeColor:点型的边界颜色。包括圆圈、方块、菱形、五角星、六角星、三角形。MarkerFaceColor:点型的填充颜色。MarkerSize:点型的大小。例4-5对图像的修饰在命令窗口中输入:x=-pi:pi/10:pi;y=sin(x);plot(x,y,'--rh','LineWidth',2,'MarkerEdgeColor','k','MarkerFaceColor','g','MarkerSize',10)运行后生成图像,如图4-5所示。04.2二维曲线7图4-5对图像的修饰4.2.3对坐标轴的控制(1)设置坐标轴的范围在默认情况下,用plot绘制二维图像,MATLAB会根据需要自动选择合适的坐标范围,使得曲线尽可能清晰的显示出来,所以一般情况下不必选择绘图坐标。但是根据需要也可以用手动的方式选择对坐标轴进行控制。设置坐标轴的函数是axis,其调用格式是:1)axis([xmin,xmax,ymin,ymax]):设置当前图形窗口中x轴和y轴的坐标刻度。要注意坐标系的最小值xmin、ymin必须小于相应的最大值xmax、ymax。(在三维坐标中用axis([xmin,xmax,ymin,ymax,zmin,zmax]))2)v=axis:用向量的形式返回当前图形窗口的坐标轴刻度。如果是二维坐标轴,v有4个数值。如果是三维坐标轴,v有6个数值。3)aixsauto:自动设置坐标轴,使图像显示最佳。这是默认状态。4)axismanual:固定坐标轴的刻度。如果当前图形窗口为holdon,则后面的图形将采用相同的刻度。5)axistight:将坐标轴设置在数据点范围之内。此时只绘制包含数据点坐标部分的图像。6)axisij:把坐标原点设置在左上角。坐标轴i垂直朝下;坐标轴j水平向右。7)axisxy:恢复默认状态。8)axisequal:把坐标轴的横坐标和纵坐标设置成相同刻度。9)axisimage:与aixsequal相同,同时还有aixstight功能。10)axissquare:把图形窗口设置成正方形。11)axisnormal:重置坐标轴,撤销对坐标的限制。0第4章作图812)axisoff:取消对坐标轴的设置及背景。13)axison:显示坐标轴及背景。14)axis(axes_handles,...):对指定的坐标轴axes_handles进行设置。提示:对坐标轴的设置还可以用组合方式。如axistightequal形式。例4-6设置坐标轴在命令窗口中输入:x1=0:0.1:2*pi;y1=cos(x1);x2=-pi:0.1:pi;y2=sin(x2);plot(x1,y1,'r:o',x2,y2)axistight运行后生成图像,如图4-6所示。图4-6控制坐标轴(2)绘制网格用grid可以在图形窗口中添加网格,也可以消除网格,其调用格式是:1)gridon:用来添加网格;2)gridoff:用来消除网格;3)grid:实现在“gridon”和“gridoff”之间切换。就是说,如果图像窗口中没有画网格,运行grid后,就会在图形窗口中画上网格;如果在图形窗口中已经有了网格,运行grid后,就会消除网格。4)grid(axes_handle,...):在axes_handle指定的图形窗口中设置。5)gridminor:设置坐标轴的网格为最小。例4-7设置绘图网格04.2二维曲线9在命令窗口中输入:x=-pi:0.1:pi;plot(x,sin(x))gridon运行后生成图像,如图4-7所示。图4-7绘图网格(3)图形的保持默认情况下,在图形窗口中绘制图像时,会把在图形窗口中以前的图像清除。用命令hold可以保持图像不被清除,其调用格式是:1)holdon:图形保持。(2)holdoff:用来消除图形保持。(3)hold:实现在“holdon”和“holdoff”之间切换。就是说,如果图像处于保持状态,运行hold后,撤消图像的保持状态。如果图像不是保持状态,运行hold后,图像处于保持状态。例4-8图像保持在命令窗口中输入:x=-pi:0.1:pi;plot(x,sin(x),'r:')holdonplot(x,cos(x))运行后生成图像,如图4-8所示。0第4章作图10图4-8图像保持从运行的结果可以看出,由于使用了图像保持,在绘制余弦函数曲线时,并没有把已经绘制的正弦函数曲线清除。4.2.4图像的标注MATLAB可以在画出的图像上加上各种标注和说明文字,以丰富图像的表现力。(1)为坐标轴加标注对每个图形窗口的x轴、y轴(三维坐标中还有z轴),都可以加标注。为x轴添加标注的函数是xlabel、为y轴添加标注的函数是ylabel(在三维坐标系里给z轴添加标注的函数是zlabel)。这些标注函数的使用方式相同,下面以x轴添加标注的函数xlabel为例来说明,其调用格式是:1)xlabel('string'):为当前图形窗口的x轴添加标注,'string'是要标注在x轴上的文本,是字符串的形式。2)xlabel(fname):运行名为fname的函数,函数的输出参数是一个字符串,把输出的字符串作为x轴的标注。3)xlabel(...,'Property
本文标题:matlab在信号与图像处理中的应用第4章
链接地址:https://www.777doc.com/doc-5173752 .html