详解MATLAB图像函数及其应用
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.1 图像显示函数

本节主要介绍了MATLAB视频创建/播放、多帧图像显示、颜色条显示工具等函数。掌握这些函数,可方便读者在MATLAB应用过程中进行图像显示和视频播放。

1.1.1 immovie——创建视频结构数组

【功能】 由多帧图像创建视频结构数组。

【语法介绍】

● mov=immovie(X,map) 由多帧索引图像创建视频结构数组mov。参量map为一列数为3的矩阵,表示颜色表;参量X是维数为M×N×1×K的数组,表示多帧索引图像, K表示帧数。

● mov=immovie(RGB) 由多帧真彩色图像创建视频结构数组mov。参量RGB是维数为M×N×3×K的数组,表示多帧真彩色图像,K表示帧数。

【实例】 加载MATLAB自带图像mri得到索引图像和颜色表,根据索引图像和颜色表创建视频,并播放3次。

            >>load mri               %加载MATLAB自带的图像mri,得到索引图像D和颜色表map
            mov=immovie(D,map);        %使用immovie函数创建视频结构数组
            movie(mov,3)               %播放视频3次,如图1.1所示

1.1.2 implay——在视频播放工具中播放视频

【功能】 在视频播放工具中播放视频、录像或图像序列。

图1.1 播放视频

【语法介绍】

● implay 打开视频播放工具播放视频、录像或图像序列。

● implay(filename) 打开视频播放工具,播放字符串参量filename指定的视频文件。

● implay(I) 打开视频播放工具,显示二值、灰度、真彩色图像序列或视频结构数组I 的第一帧。其中,当I表示二值或灰度图像序列时,I必须是三维数组,即M×N×K,K表示帧数;当I表示真彩色图像序列时,I必须是四维数组,且第三维的维数为3,即M×N×3×K,K表示帧数;当I为视频结构数组时,I必须是四维数组,且第三维的维数为1,即M×N×1×K,K表示帧数。

● implay(...,FPS) 指定视频播放的帧速。参量FPS为帧速,单位为帧/秒,默认FPS=20。

【实例1】 打开一个视频播放工具。

        >>implay                     %打开视频播放工具,如图1.2所示

图1.2 打开一个视频播放工具

【实例2】 播放图像序列。

        >>load mristack             %导入MATLAB自带的图像序列
        implay(mristack);            %播放图像序列mristack,如图1.3所示

图1.3 播放图像序列界面

【实例3】 播放AVI文件。

            >>implay('rhinos.avi');      %播放rhinos.avi,如图1.4所示

图1.4 播放AVI文件

【实例4】 播放图像序列,设置帧速为10帧/秒。

            >>load cellsequence          %导入MATLAB自带的图像序列
            implay(cellsequence,10);       %播放图像序列cellsequence,帧速为10帧/秒,如图1.5所示

图1.5 播放图像序列的视频界面

1.1.3 imshow——显示图像

【功能】 显示图像。

【语法介绍】

● imshow(I) 显示灰度图像I。参量I为矩阵,其元素范围为[0 255]。

● imshow(I,[low high]) 指定灰度图像显示范围[low high]显示灰度图像I。参量low和high 为标量。其中,图像像素值低于或等于 low 值时显示为黑色,像素值大于或等于high值时显示为白色,在low和high之间的像素值显示中间灰度,并使用默认的灰度等级。如果[low high]为空,则等价于imshow(I,[min(I(:)) max(I(:))]),min(I(:))和max(I(:))分别表示I的最小值和最大值。

● imshow(RGB) 显示真彩色图像RGB。参量RGB为三维数组,第三维的维数为3。

● imshow(BW) 显示二值图像BW。参量BW为矩阵,矩阵元素由0和1组成。imshow将0显示为黑色,将1显示为白色。

● imshow(X,map) 显示索引图像X。参量X为一矩阵。参量map为一列数为3的矩阵,表示颜色表。map 中的每行表示一种颜色,每行中第一、第二、第三个元素分别指定红色、绿色、蓝色的亮度。

● imshow(filename) 显示图像文件名称为 filename 的图像文件。字符串参量 filename表示图像文件的完整路径名或MATLAB的相对路径名。如果该图像文件包括多个图像,则imshow将显示图像文件中的第一个图像。

● himage=imshow(...) 返回imshow生成的图像对象句柄给himage。

● imshow(...,param1,val1,param2,val2,...) 指定图像显示参数 paramN 的值 valN。参量paramN和valN的取值参见表1.1。

表1.1 imshow函数参数表

【实例1】 显示存储在文件中的图像。

        >>imshow('pout.tif')        %图像如图1.6所示

图1.6 显示存储在文件中的图像

【实例2】 显示索引图像。

        >>[X,map]=imread('trees.tif');       %读取MATLAB自带的索引图像
        imshow(X,map)                          %显示索引图像,结果如图1.7所示

图1.7 显示索引图像

【实例3】 显示灰度图像。

        >>I=imread('cameraman.tif');   %读取MATLAB自带的灰度图像
        imshow(I)                        %显示灰度图像,结果如图1.8所示

图1.8 显示灰度图像

【实例4】 显示灰度图像,调整灰度显示范围。

        >>I=imread('cameraman.tif');   %读取MATLAB自带的索引图像
        h=imshow(I,[0 80]);              %显示灰度图像,调整灰度显示范围在[0 80],结果如图1.9所示

图1.9 显示灰度图像,调整灰度显示范围

【实例5】 指定显示图像对象的父对象的坐标轴。

        % 在同一个图形窗口中显示两幅图像,结果如图1.10所示
        >> figure;
        hax1 = subplot(1,2,1)
        imshow('pout.tif')
        hax2 = subplot(1,2,2)
        imshow('cameraman.tif')
        % 使用Parent 参数改变坐标轴后图像的显示,结果如图1.11所示
        >> imshow('cameraman.tif','Parent',hax1);

图1.10 在同一个图形窗口中显示两幅图像

图1.11 改变坐标轴后图像的显示

1.1.4 colorbar——显示颜色条

【功能】 显示颜色条。

【语法介绍】

● colorbar 在当前坐标轴的右侧添加一个新的颜色条。如果在当前坐标轴的右侧已存在一个颜色条,则用新的颜色条覆盖旧的颜色条。

● colorbar('off')、colorbar('hide')和 colorbar('delete') 删除与当前坐标轴有关的所有颜色条。

● colorbar(...,'peer',axes_handle) 在句柄为axes_handle的坐标轴的右侧创建颜色条。如果在该坐标轴的右侧已存在一个颜色条,则用新的颜色条覆盖旧的颜色条。

● colorbar(...,'location') 在坐标轴中的指定位置添加颜色条。字符串参量location用于指定颜色条的位置,具体意义参见表1.2。

● colorbar(...,'PropertyName',propertyvalue) 指定颜色条的标注名PropertyName和属性值propertyvalue。参量PropertyName和propertyvalue均为字符串。

● cbar_axes=colorbar(...) 返回颜色条的句柄给cbar_axes。

● colorbar(cbar_handle,'PropertyName',propertyvalue,...) 设置句柄为cbar_handle的颜色条的标注名PropertyName和属性值propertyvalue。

表1.2 location参数表

【实例1】 在轴边上显示颜色条,y轴的标注用文本字符串。

            >> %绘制三维阴影曲面图
            surf(peaks(30))
            % 显示颜色条,并且给出y轴的标注名称,如图1.12所示
            colorbar('YTickLabel',{'Freezing','Cold','Cool','Neutral','Warm','Hot','Burning','Nuclear'})

图1.12 显示颜色条并标注名称

【实例2】 在轴的下方水平显示颜色条。

            >>contourf(peaks(60))                  %绘制二维等高线图
            colormap cool                            %设置当前色图为冷色
            colorbar('location','southoutside')      %在轴的下方水平显示颜色条,如图1.13所示

图1.13 在轴的下方水平显示颜色条

1.1.5 imtool——显示图像工具

【功能】 显示图像工具。

【语法介绍】

● imtool 打开图像工具。

● imtool(I) 在图像工具中显示灰度图像I。参量I为矩阵,其元素范围为[0 255]。

● imtool(I,[low high]) 指定灰度图像显示范围[low high],在图像工具中显示灰度图像I。参量low和high为标量。其中,图像像素值低于或等于low值时显示为黑色,像素值大于或等于high值时显示为白色,在low和high之间的像素值显示中间灰度,并使用默认的灰度等级。如果[low high]为空,则等价于imtool(I,[min(I(:)) max(I(:))]), min(I(:))和max(I(:))分别表示I的最小值和最大值。

● imtool(RGB) 在图像工具中显示真彩色图像RGB。参量RGB为三维数组,第三维的维数为3。

● imtool(BW) 在图像工具中显示二值图像 BW。参量 BW 为一矩阵,矩阵元素由 0和1组成。imtool将0显示为黑色,将1显示为白色。

● imtool(X,map) 在图像工具中显示索引图像X。参量X为一矩阵,参量map为一列数为 3 的矩阵,表示颜色表。map 中的每行表示一种颜色,每行中第一、第二、第三个元素分别指定红色、绿色、蓝色的亮度。

● imtool(filename) 在图像工具显示图像文件名为 filename 的图像文件。字符串参量filename表示图像文件的完整路径名或MATLAB的相对路径名。如果该图像文件包括多个图像,则imshow将显示文件中的第一个图像。

● hfigure=imtool(...) 返回imtool生成的图像对象句柄给hfigure。

● imtool close all 关闭所有图像工具。

● imtool(...,param1,val1,param2,val2,...) 指定图像显示属性参数param和参数值val在图像工具中显示图像,参数具体意义参见表1.3。其他参量及结果同上。

表1.3 imtool函数参数表

【实例1】 在图像工具中显示文件中的图像。

        >>imtool('board.tif')        %显示文件中的图像,如图1.14所示

图1.14 在图像工具中显示文件中的图像

【实例2】 在图像工具中显示索引图像。

        >>[X,map]=imread('trees.tif');       %读取MATLAB自带的索引图像
        imtool(X,map)                          %显示索引图像,如图1.15所示

图1.15 在图像工具中显示索引图像

【实例3】 在图像工具中显示灰度图像。

        >>I=imread('cameraman.tif');   %读取MATLAB自带的灰度图像
        imtool(I)                        %显示灰度图像,如图1.16所示

图1.16 在图像工具中显示灰度图像

【实例4】 在图像工具中显示灰度图像,返回图像工具句柄并设置灰度显示范围。

        >>I=imread('cameraman.tif');       %读取MATLAB自带的灰度图像
        h=imtool(I,[0 80])               %设置灰度显示范围,在图像工具中显示灰度图像,如
                                      图1.17所示

        运行结果:
        h=

            0.0071

图1.17 在图像工具中显示并设置了灰度显示范围的灰度图像

1.1.6 montage——在矩形框中显示多帧图像序列

【功能】 在矩形框中显示多帧图像序列。

【语法介绍】

● montage(filenames) 在矩形框中显示图像文件名为 filename 的图像文件。如果该图像文件中包含索引图像,montage将使用第一个索引图像中的颜色表,并自动排列所有图像对其进行拼接,使其接近于正方形。字符串参量 filename表示图像文件的完整路径名或MATLAB的相对路径名。

● montage(I) 在矩形框中显示多帧图像序列I中的所有帧图像。参量I为多维数组,表示二值、灰度、真彩色图像序列。其中,当I为二值或灰度图像序列时,I必须是三维数组,即M×N×K,K表示帧数;当I为真彩色图像序列时,I必须是四维数组,且第三维的维数为3,即M×N×3×K,K表示帧数。

● montage(X,map) 在矩形框中显示多帧索引图像X的所有帧。参量X必须是四维数组,且第三维的维数为1,即M×N×1×K,K表示帧数;参量map为一列数为3的矩阵,表示颜色表。map 中的每行表示一种颜色,每行中第一、第二、第三个元素分别指定红色、绿色、蓝色的亮度。

● montage(...,param1,val1,param2,val2,...) 以自定义的方式在矩形框中显示图像。参量paramN、valN用于定义图像拼接方式,具体取值参见表1.4。

表1.4 montage函数参数表

● h=montage(...) 返回图像对象的句柄给h。

【实例1】 在矩形框中显示filenames指定的图像,montage将以默认方式排列图像接近于正方形。

            >> %设置文件夹全名及文件路径属性
            fileFolder = fullfile(MATLABroot,'toolbox','images','imdemos');
            dirOutput = dir(fullfile(fileFolder,'AT3_1m4_*.tif'));
            %设置文件名
            fileNames = {dirOutput.name}
            %显示图像序列,如图1.18所示
            montage(fileNames);

图1.18 在矩形框中,以默认方式排列指定的图像

【实例2】 以自定义的排列方式(2行5列)显示同一组图像。

            >> %设置文件夹全名及文件路径属性
            fileFolder = fullfile(MATLABroot,'toolbox','images','imdemos');
            dirOutput = dir(fullfile(fileFolder,'AT3_1m4_*.tif '));
            %设置文件名
            fileNames = {dirOutput.name}
            %以自定义的排列方式(2行5列)显示图像序列,如图1.19所示
            montage(fileNames,'Size',[2 5]);

图1.19 自定义2行5列图像排列方式的框图显示

实例3和实例4分别演示如何自定义显示图像的数目及图像的对比度。

【实例3】 首先显示完整的多帧图像,然后显示前9帧图像。

            >>load mri                    %读取MATLAB自带的索引图像
            montage(D,map)                  %显示图像序列,如图1.20所示
            figure                          %新建图形窗口
            montage(D,map,'Indices',1:9);   %显示前9帧图像,如图1.21所示

图1.20 显示完整的图像序列

图1.21 显示图1.20中前9帧图像序列

【实例4】 首先显示完整的多帧图像,然后不使用颜色表,最大化D中图像的对比度,显示图像。

            >>load mri            %读取MATLAB自带的索引图像
            montage(D,map)          %显示图像序列,如图1.22所示
            figure                  %新建图形窗口
                                    %不使用颜色表,最大化D中图像的对比度,显示图像序列,如图1.23所示
            montage(D,'DisplayRange',[]);

图1.22 默认索引图像框图显示

图1.23 最大化图1.22对比度的框图显示

1.1.7 subimage——在图形窗口或窗口的分区中显示图像

【功能】 在图形窗口或窗口的分区中显示图像。

【语法介绍】

● subimage(X,map) 在图形窗口或窗口的分区中显示索引图像X。参量X为矩阵;参量map为一列数为3的矩阵,表示颜色表。map中的每行表示一种颜色,每行中第一、第二、第三个元素分别指定红色、绿色、蓝色的亮度。

● subimage(I) 在图形窗口或窗口的分区中显示灰度图像I。参量I为矩阵,其元素范围为[0 255]。

● subimage(BW) 在图形窗口或窗口的分区中显示二值图像。参量BW为矩阵,矩阵元素由0和1组成。subimage将0显示为黑色,将1显示为白色。

● subimage(RGB) 在图形窗口或窗口的分区中显示真彩色图像。参量 RGB 为三维数组,第三维的维数为3。

● subimage(x,y,...) 将图像按指定的坐标系(x,y,…)显示。

● h=subimage(...) 返回图像对象的句柄给h。

【实例1】 显示两幅真彩色图像。

            >>load trees                        %导入MATLAB自带的真彩色图像X和色图map
            [X2,map2]=imread('forest.tif');       %读取MATLAB自带的图像X2和色图map2
            %分区1(左侧)显示图像X,如图1.24所示
            subplot(1,2,1);
            subimage(X,map)
        %分区2(右侧)显示图像X2
        subplot(1,2,2);
        subimage(X2,map2)

图1.24 显示两幅真彩色图像

【实例2】 显示三幅灰度图像,返回图像句柄。

        >> %读取MATLAB自带的图像
        A=imread('pout.tif');
        B = imread('cameraman.tif');
        C = imread('testpat1.png');
        %分区1(左上侧)显示图像A,如图1.25所示
        subplot(2,2,1);
        ha=subimage(A)
        %分区2(右上侧)显示图像B
        subplot(2,2,2);
        hb=subimage(B)
        %分区3(左下侧)显示图像C
        subplot(2,2,3);
        hc=subimage(C)

        运行结果:
        ha =

          172.0117

        hb=

          174.0117

            hc =

              176.0117

图1.25 显示三幅灰度图像并返回图像句柄

1.1.8 warp——将图像显示到纹理映射表面

【功能】 将图像显示到纹理映射表面。

【语法介绍】

● warp(X,map) 将索引图像X纹理映射到矩形平面上显示。参量X为矩阵;参量map为一列数为 3 的矩阵,表示颜色表。map 中的每行表示一种颜色,每行中第一、第二、第三个元素分别指定红色、绿色、蓝色的亮度。

● warp(I,n) 将灰度图像I纹理映射到矩形平面上显示。参量I为矩阵,其元素范围为[0 255];参量n为灰度颜色表的长度。

● warp(BW) 将二值图像BW纹理映射到矩形平面上显示。参量BW为矩阵,矩阵元素由0和1组成。

● warp(RGB) 将真彩色图像RGB纹理映射到矩形平面上显示。参量RGB为三维数组,第三维的维数为3。

● warp(z,...) 将图像纹理映射到曲面z上显示。参量z为矩阵。

● warp(x,y,z,...) 将图像纹理映射到曲面(x,y,z,…)上显示。参量x,y,z为同维矩阵。

● h=warp(...) 返回纹理映射图形句柄给h。

【实例1】 将图像纹理映射到矩形平面上显示。

            >>I=imread('testpat1.png');    %读取MATLAB自带的图像
            warp(I);                         %将图像纹理映射到矩形平面上显示,如图1.26所示

图1.26 图像纹理映射到矩形平面

【实例2】 将图像纹理映射到柱面上显示。

            >>[x,y,z]=cylinder;           %生成三维圆柱图
            I=imread('testpat1.png');       %读取MATLAB自带的图像
            warp(x,y,z,I);                  %将图像纹理映射到柱面上显示,如图1.27所示

图1.27 图像纹理映射到柱面

1.1.9 image——显示图像对象

【功能】 显示图像对象。

该命令通过将矩阵中每一个元素解释为图像色图中的一个指标或直接作为 RGB 值而生成一个图像对象。Image命令有两种使用格式:

(1)高级函数。调用命令 newplot,可以确定在何处放置图像与坐标轴的范围刚好围住图像;使刚生成的图像放置在坐标轴的刻度线与格栅线之上;属性Ydir设置为rervse;属性View为[0 90]。

(2)低级函数。不调用命令newplot,增加图像到当前坐标轴,在低级函数使用形式中,只能对指定属性进行设置操作。用户在命令的输入参量中可以输入属性名/属性值,结构数组,细胞数组等。

【语法介绍】

● image(C) 把矩阵C作为一图像进行显示。矩阵C中的每一个元素指定了“图像”矩形中的相应部分的颜色。

● image(x,y,C) 在(x,y)确定的位置上画矩阵C中的元素。其中,x和y都为2×2矩阵,分别指定x轴与y轴的范围,其效果基本与image(C)相同,只是进行了恰当的比例缩放。

● image(x,y,C,'PropertyName',PropertyValue,…) image 的高级函数形式,指定属性名(PropertyName)/属性值(PropertyValue)。在执行该命令之前,先执行命令newplot。其他参量及结果同上。

● image('PropertyName',PropertyValue,…) image的低级函数形式,它只接受属性名/属性值的输入。

● handle=image(…) 返回刚生成的图像对象的句柄给 handle。用户可以从上面的任何形式的调用后获得图像句柄。

【实例1】 导入包含真彩色图像的mat文件,并且使用自带的颜色表显示图像。

            >>load mandrill       %导入MATLAB自带的图像
            figure('color','k')
            image(X)                %显示真像色图像,如图1.28所示
            colormap(map)
            axis off                %删除坐标轴的刻度显示
            axis image

图1.28 显示真彩色图像

【实例2】 显示MATLAB自带的索引图像,设置x轴和y轴的范围。

            >>[C,map]=imread('trees.tif');       %读取MATLAB自带的索引图像
            image(C)                               %显示索引图像,如图1.29所示
            colormap(map);
            %设置x轴和y轴的范围,显示同一幅图像,如图1.30所示
            figure;
            x=[80,100];
            y=[100,150];
            image(x,y,C)
            colormap(map);

图1.29 显示索引图像

图1.30 设置x轴和y轴的范围,显示图1.29的图像

1.1.10 movie——播放视频

【功能】 播放录制好的视频。

【语法介绍】

● movie(M) 在当前轴中播放视频结构数组M。参量M通常由函数getframe(getframe用于生成视频帧,可循环使用getframe以创建视频结构数组)或immovie(immovie用于生成视频结构数组)产生。

● movie(M,n) 在当前轴中播放视频结构数组M n次。参量n可为整数或向量。如果n是一个负整数,则正序播放M一次后,再逆序播放M一次。如果n是一个向量,则第一个元素表示播放视频的次数,其余元素表示待播放的视频帧。如n=[10 4 4 2 1],则movie(M,n)表示播放视频10次,每次先播放第4帧,再播放第4帧,然后播放第2帧,最后播放第1帧。

● movie(M,n,fps) 在当前轴中以指定帧速 fps(单位:帧/秒)播放视频结构数组 M n次。参量fps为正整数,默认值为12帧/秒。如果帧速太高以至计算机达不到要求,则播放速度为计算机能够达到的最大帧速。

● movie(h,...) 在句柄为h的图形窗口或轴上播放视频。

● movie(h,M,n,fps,loc) 在句柄为h的图形窗口或轴上的指定位置以指定的帧速fps播放视频结构数组M n次。参量loc为一个四元素向量(loc的第三个元素和第四个元素值固定为0,即[loc(1)loc(2) 0 0]),指定视频在图形或轴中播放的位置。loc(1)和loc(2)表示视频相对于图形或轴的左下角点的相对位置,单位是像素。

【实例1】 通过调整Z的尺寸,动画显示peaks函数。

        >> %读取并显示peaks函数
        Z = peaks;
        surf(Z);
        axis tight
        set(gca,'nextplot','replacechildren');
        % 制作视频
        for j = 1:20
            surf(sin(2*pi*j/20)*Z,Z);
            F(j) = getframe;
        end
        % 播放视频10次,如图1.31所示
        movie(F,10);

图1.31 动画显示peaks函数

【实例2】 调用movie函数时设定图形框,以便使视频图像和图形框相一致。

        >>%读取并分区显示peaks函数
        r = subplot(2,1,1)
        Z = peaks;
        surf(Z);
        axis tight
        set(gca,'nextplot','replacechildren');

        s = subplot(2,1,2)
        Z = peaks;
        surf(Z);
        axis tight
        set(gca,'nextplot','replacechildren');
        % 制作视频,注意两个函数的峰值时间不一致
        for j = 1:20
            axes(r)
            surf(sin(2*pi*j/20)*Z,Z)
            axes(s)
            surf(sin(2*pi*(j+5)/20)*Z,Z)
            F(j) = getframe(gcf);
            pause(.0333)
        end
        % 播放视频; 注意它与图形窗口不一致,如图1.32(a)所示
        h2 = figure;
        movie(F,10)
        % 使用图形句柄使视频图像与图形窗口相一致,如图1.32(b)所示
        movie(h2,F,10)

图1.32 播放视频,调用movie函数设置图形框

【实例3】 对于比较大的视频图像,首先调整图形窗口的大小以使其与视频图像一致。

        >> %读取并显示peaks函数,如图1.33(a)所示
        figure('position',[100 100 850 600])
        Z = peaks;
        surf(Z);
        axis tight
        set(gca,'nextplot','replacechildren');
        % 制作视频
        for j = 1:20
                surf(sin(2*pi*j/20)*Z,Z)
                F(j) = getframe;
            end
            [h,w,p]=size(F(1).cdata);  % use 1st frame to get dimensions
            hf = figure;
            % 在视频图像的w,x,h参数的基础上调整图形窗口的大小,并放在位置[150 150]处
            set(hf,'position',[150 150 w h]);
            axis off
            % 命令movie将视频图像放在图形窗口的左下角,如图1.33(b)所示
            movie(hf,F,4,30,[0 0 0 0]);

图1.33 调整图形窗口的大小

1.1.11 line——创建线条

【功能】 创建线条对象。Line 在当前坐标轴创建线条对象,可以指定线条的颜色、宽度、类型等属性。

【语法介绍】

● line('XData',x,'YData',y,'ZData',z) 使用默认颜色画出线条。参量x,y,z为同型向量,表示线条坐标。

● line(X,Y) 在当前的坐标轴中画出线条。参量 X,Y 为同型向量或矩阵,表示线条坐标。若X与Y为同型的矩阵,则对X与Y的每一列画出一线条。

● line(X,Y,Z) 在三维空间中绘制由同型矩阵X,Y,Z定义的线条。

● line(X,Y,Z,'PropertyName',PropertyValue,…) 在三维空间中绘制由同型矩阵 X,Y,Z 定义的线条,并设置属性 PropertyName 的值为 PropertyValue。PropertyName 和PropertyValue的取值参见表1.5。

● h=line(…) 返回所有线对象对应的句柄向量给h。

表1.5 line函数PropertyName和PropertyValue参数意义

续表

【实例1】 给曲线创建阴影。

        % 绘制正弦曲线
        >> t = 0:pi/20:2*pi;
        hline1 = plot(t,sin(t),'k');

        % 创建阴影线条
        >> hline2 = line(t+.06,sin(t),'LineWidth',4,'Color',[.8 .8 .8]);
        set(gca,'Children',[hline1 hline2])          %创建阴影线条,如图1.34所示

图1.34 给曲线创建阴影线条

【实例2】 在三维坐标轴中创建线条。

        >> t = 0:pi/20:2*pi;
        x=sin(t);
        y=cos(t);
        line(t,x,y);                         %创建线条
        view(3);                             %设置默认的三维视角,如图1.35所示

图1.35 在三维坐标轴中创建线条