主要内容

图像对象及其属性

CData形象

请注意

图像显示亮度图像命令创建图像对象。图像轴对象的对象是儿童,线,补丁,表面和文本对象。像所有图形对象,对象有很多属性可以设置调整其出现在屏幕上。最重要的属性对象对外观形象CData,CDataMapping,XData,YData。这些属性在这个和下面的章节讨论。关于这些的详细信息和图像对象的所有属性,看看图像

CData图像的属性对象包含数据数组。在接下来的命令,h是图像的处理对象创建的吗图像,矩阵XY都是一样的:

h (X) =图像;colormap (map) Y = (h, CData的);

的维数CData阵列控制图像是否显示使用colormap颜色或作为一个RGB图像。如果CData二维数组时,图像索引图像或一个强度图像;在这两种情况下,使用colormap颜色显示的图像。另一方面,如果CData数组——- - - - - -n3,它显示真彩图像,忽略了colormap颜色。

图像CDataMapping

CDataMapping属性控制图像是否索引强度。显示索引图像设置CDataMapping财产“直接”,这样的值CData数组直接用作指数图的colormap。当图像命令使用一个输入参数,它设置的值CDataMapping“直接”:

h (X) =图像;colormap(地图)get (h, CDataMapping) ans =直接

通过设置显示强度图像CDataMapping财产“缩放”。在这种情况下,CData值是线性扩展形成colormap指数。坐标轴这一属性控制规模的因素。的显示亮度图像函数创建一个对象的形象CDataMapping属性设置为“缩放”,并调整这一属性的父轴。例如:

h =显示亮度图像(I, [0 1]);colormap(地图)get (h, CDataMapping) ans =缩放得到(gca,“爬”)ans = [0 1]

XData和YData

XDataYData属性控制图像的坐标系统。对于一个——- - - - - -n图片,默认XDatan [1]和默认的YData(1米)。这些设置意味着以下:

  • 图像的左栏有一个x1的坐标。

  • 图像的右列有一个x协调的n。

  • 的第一行有一个形象y1的坐标。

  • 行图像的底部y协调的m。

坐标系统的图像

使用默认坐标系统

显示一个图像使用默认的坐标系统。使用的颜色colorcube地图。

C = [1 2 3 4;5 6 7 8;9 10 11 12);我=图像(C);colormap (colorcube)

图包含一个坐标轴对象。坐标轴对象包含一个类型的对象的形象。

指定坐标系统

显示一个图像和指定坐标系统。使用的颜色colorcube地图。

C = [1 2 3 4;5 6 7 8;9 10 11 12);x = [1 - 2];4 y = [2];数字图像(x, y, C) colormap (colorcube)

图包含一个坐标轴对象。坐标轴对象包含一个类型的对象的形象。

将文本添加到图像数据

这个例子展示了如何使用数组索引栅格化文字到现有图像。

画出文本在一个轴使用文本函数。然后,从屏幕捕获文本使用getframe并关闭图。

无花果=图;文本(t = 0。, 1。“山魈脸”,“字形大小”,20岁,“FontWeight”,“大胆”);F = getframe (gca, [10 200 200]);关闭(图)

选择任意平面的结果返回的RGB图像getframe。找到的像素黑(黑色是0)和转换他们的下标索引使用sub2ind。使用这些下标“油漆”到图像中包含的文本山魈MAT-file。使用图像的大小,加上文本的行和列的位置来确定位置的新形象。指数的新形象,取代像素。

c = F.cdata (:: 1);(i, j) =找到(c = = 0);负载山魈印第安纳州= sub2ind(大小(X), i, j);X(印第安纳州)= uint8 (255);

使用骨colormap展示新形象。

显示亮度图像(X) colormap

图包含一个坐标轴对象。坐标轴对象包含一个类型的对象的形象。

额外的快速图像更新的技术

增加的速率CData一个图像对象的属性更新,优化CData并设置一些相关图和轴属性:

  • 尽可能使用最小的数据类型。使用一个uint8你的图像数据类型将比使用快数据类型。

    设置图像的过程的一部分CData财产包括复制图像的矩阵的使用。矩阵的总体规模取决于它的单个元素的大小。使用更小的单个元素(即。,a smaller data type) decreases matrix size, and reduces the amount of time needed to copy the matrix.

  • 使用最小可接受的矩阵。

    如果图像显示的速度是你的优先级最高,您可能需要图像的大小和质量上妥协。再一次,减少所需的大小减少了时间复制矩阵。

  • 设置限制模式属性(XLimModeYLimMode)你的轴手册

    如果他们将汽车,然后每次一个对象(如图像、线条、补丁等)改变其数据的某些方面,轴必须重新计算其相关属性。例如,如果您指定

    图像(firstimage);集(gca、“xlimmode”,“手动”,…“ylimmode”、“手动”,……“zlimmode”、“手动”,……“climmode”、“手动”,……“alimmode”、“手动”);

    轴不计算任何限制的值之前重新绘制图像。

  • 考虑使用电影对象如果你的任务的主要观点就是一系列的图像在屏幕上显示。

    MATLAB®电影直接对象利用底层系统图形资源,而不是执行MATLAB对象代码。这是速度比反复设置一个图像CData属性,如前所述。