请注意
的图像
和显示亮度图像
命令创建图像对象。图像对象是轴对象的子对象,就像线、补丁、面和文本对象一样。与所有图形对象一样,图像对象也有许多属性,可以通过设置来微调其在屏幕上的外观。图像对象关于外观的最重要的属性是CData
,CDataMapping
,XData
,YData
.这些属性将在本节和下面几节中讨论。有关这些和图像对象的所有属性的详细信息,请参见图像
.
的CData
属性包含该数据数组。在以下命令中,h
图像对象的句柄是由图像
,以及矩阵X
和Y
都是一样的:
h (X) =图像;colormap(map) Y = get(h,'CData');
它的维度CData
数组控制图像是使用彩色映射颜色显示还是作为RGB图像显示。如果CData
数组是二维的,图像可以是索引图像或强度图像;在这两种情况下,图像都使用colormap颜色显示。另一方面,如果CData
数组米——- - - - - -n-by-3时,它显示为真彩色图像,忽略颜色映射的颜色。
的CDataMapping
属性控制图像是否为索引
或强度
.要显示索引的图像,请将CDataMapping
财产“直接”
,使之的价值CData
数组直接用作图形颜色图的索引。当图像
命令与单个输入参数一起使用时,它设置的值CDataMapping
来“直接”
:
h (X) =图像;colormap(map) get(h,'CDataMapping') ans = direct
强度图像通过设置显示CDataMapping
财产“缩放”
.在这种情况下CData
值是线性缩放形成彩色地图索引。坐标轴这一
属性控制比例因素。的显示亮度图像
函数创建的图像对象CDataMapping
属性设置为“缩放”
,它调整这一
父轴的属性。例如:
h = imagesc(I,[0 1]);colormap(map) get(h,'CDataMapping') ans = scaled get(gca,'CLim') ans = [0 1]
的XData
和YData
属性控制图像的坐标系统。对于一个米——- - - - - -n图片,默认XData
是n [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];Y = [2 4];数字图像(x, y, C) colormap (colorcube)
这个示例演示了如何使用数组索引将文本栅格化到现有图像中。
在坐标轴上绘制文本文本
函数。然后,从屏幕上捕获文本使用getframe
然后闭合图形。
无花果=图;文本(t = 0。,1。“山魈脸”,“字形大小”, 20岁,“FontWeight”,“大胆”);F = getframe(gca,[10 10 200 200]);关闭(图)
选择返回的结果RGB图像的任何平面getframe
.查找黑色像素(黑色为0)并将其下标转换为索引sub2ind
.使用这些下标将文本“绘制”到包含在山魈
MAT-file。使用该图像的大小加上文本的行和列位置来确定新图像中的位置。索引到新的图像,取代像素。
c = F.cdata (:: 1);(i, j) =找到(c = = 0);负载山魈印第安纳州= sub2ind(大小(X), i, j);X(印第安纳州)= uint8 (255);
使用骨骼颜色图显示新图像。
显示亮度图像(X) colormap骨
增加…的速度CData
属性的图像对象更新,优化CData
并设置一些相关的图形和轴属性:
尽可能使用最小的数据类型。使用一个uint8
数据类型将比使用双
数据类型。
设置图像的过程的一部分CData
属性包括复制矩阵以供图像使用。矩阵的整体大小取决于其单个元素的大小。使用更小的单个元素(即更小的数据类型)可以减少矩阵的大小,并减少复制矩阵所需的时间。
使用可接受的最小矩阵。
如果图像显示的速度是您的最高优先级,那么您可能需要在图像的大小和质量上做出妥协。同样,减小尺寸可以减少复制矩阵所需的时间。
设置限制模式属性(XLimMode
和YLimMode
)的坐标轴手册
.
如果设置为汽车
,那么每当一个对象(如图像、线、补丁等)改变其数据的某些方面时,坐标轴必须重新计算其相关属性。例如,如果指定
图像(firstimage);集(gca、“xlimmode”,“手动”,…“ylimmode”、“手动”,……“zlimmode”、“手动”,……“climmode”、“手动”,……“alimmode”、“手动”);
在重新绘制图像之前,坐标轴不会重新计算任何极限值。
考虑使用电影
对象,如果您的任务的主要目的只是在屏幕上显示一系列图像。
MATLAB®电影
对象直接利用底层系统图形资源,而不是执行MATLAB对象代码。这比重复设置图像的速度快CData
属性,如前所述。