来源:https://ww2.mathworks.cn/help/matlab/ref/imagesc.html?searchHighlight=imagesc&s_tid=doc_srchtitle
imagesc
说明
示例
imagesc(C ) 将数组 C 中的数据显示为一个图像,该图像使用颜色图中的全部颜色。C 的每个元素指定图像的一个像素的颜色。生成的图像是一个 m ×n 像素网格,其中 m 和 n 分别是 C 中的行数和列数。这些元素的行索引和列索引确定了对应像素的中心。
示例
imagesc(x ,y ,C ) 指定图像位置。使用 x 和 y 可指定与 C(1,1) 和 C(m,n) 对应的边角的位置。要同时指定两个边角,请将 x 和 y 设置为二元素向量。要指定第一个边角并让 imagesc 确定另一个,请将 x 和 y 设为标量值。图像将根据需要进行拉伸和定向。
imagesc(\'CData\',C ) 将图像添加到当前坐标区中而不替换现有绘图。此语法是 imagesc(C) 的低级版本。有关详细信息,请参阅高级与低级版本。
imagesc(\'XData\',x ,\'YData\',y ,\'CData\',C ) 指定图像位置。此语法是 imagesc(x,y,C) 的低级版本。
imagesc(___,Name,Value ) 使用一个或多个名称-值对组参数指定图像属性。您可以在上述语法中的任何输入参数组合后指定名称-值对组参数。如需图像属性和说明的列表,请参阅 Image 属性。
示例
imagesc(___,clims ) 指定映射到颜色图的第一个和最后一个元素的数据值。将 clims 指定为 [cmin cmax] 形式的二元素向量,其中小于或等于 cmin 的值映射到颜色图中的第一种颜色,大于或等于 cmax 的值映射到颜色图中的最后一种颜色。在名称-值对组参数后指定 clims 。
imagesc(ax ,___) 将在由 ax 指定的坐标区中而不是当前坐标区 (gca ) 中创建图像。指定坐标区作为第一个输入参数。
示例
im = imagesc(___) 返回创建的 Image 对象。使用 im 在创建图像后设置图像的属性。您可以使用先前语法中的任意输入参数组合指定此输出。
示例
全部折叠
显示矩阵数据的图像
创建矩阵 C。显示 C 中数据的图像。向图添加颜色栏以显示当前颜色图。默认情况下,imagesc 色阶颜色范围以便图像使用颜色图中的所有颜色,其中 C 中的最小值映射到颜色图中的第一种颜色,最大值映射到最后一种颜色。
控制图像位置
放置图像,使其位于 x 轴上的 5 和 8 之间及 y 轴上的 3 和 6 之间。
请注意,对应于 C(1,1) 的像素在点 (5,3) 上居中显示。对应于 C(3,4) 的像素在点 (8,6) 上居中显示。imagesc 在这两个点之间确定图像其余部分的位置和方向。
控制数据值到颜色图的颜色映射
将 C 创建为数据值的数组。创建 C 的图像并设置颜色范围,使 4 或更小的值映射到颜色图中的第一种颜色,18 或更大的值映射到颜色图中的最后一种颜色。显示颜色栏以说明数据值如何映入颜色图。
创建后修改图像
创建一个图像并返回图像对象 im 。然后,通过设置图像对象的 AlphaData 属性使图像半透明。
向三维视图中的坐标区添加图像
创建一个曲面图。然后,将一个图像添加在曲面下。imagesc 在 xy 平面中显示该图像。
输入参数
全部折叠
C - 图像颜色数据 向量或矩阵
图像颜色数据,指定为向量或矩阵。C 的每个元素定义图像一个像素的颜色。C 的元素映射到相关联的坐标区的颜色图中的颜色。C 中的最小值映射到颜色图中的第一种颜色,最大值映射到最后一种颜色。NaN 元素的行为未定义。
注意
如果您将 C 指定为 m ×n ×3 数组,则 imagesc 函数将图像解释为真彩色 (RGB) 图像。imagesc 不重新缩放真彩色图像的像素值。在调用 imagesc 之前,请使用 rescale 函数缩放真彩色像素值。
要改用 imagesc 函数的低级版本,请将 CData 属性设为名称-值对组。例如,imagesc(\'CData\',C) 。
在数据类型间转换
要将灰度图像数据从整数类型转换为 double 类型,请增加 1。例如,如果 X8 为 uint8 类型的灰度图像数据,则使用以下语法将其转换为 double 类型:
要将灰度图像数据从 double 类型转换为整数类型,请减去 1 并使用 round 确保所有值都为整数。例如,如果 X64 为 double 类型的灰度图像数据,则使用以下语法将其转换为 uint8 :
数据类型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical
x - 沿着 x 轴放置
[1 size(C,2)] (默认) | 二元素向量 | 标量
沿着 x 轴放置,以下列形式之一指定:
-
二元素向量 - 将第一个元素用作 C(1,1) 的中心位置,将第二个元素用作 C(m,n) 的中心位置,其中 [m,n] = size(C) 。如果 C 为三维数组,则 m 和 n 为前两个维度。C 的其余元素的中心均匀分布在这两点之间。
每个像素的宽度由以下表达式确定:
如果 x(1) > x(2) ,则图像左右翻转。
-
标量 - 会以此位置作为 C(1,1) 的中心,并使后面的每个元素相隔一个单位。
要改用 imagesc 函数的低级版本,请将 XData 属性设为名称-值对组。例如,imagesc(\'XData\',x,\'YData\',y,\'CData\',C) 。
您无法在以交互方式将图像平移或缩放到图像的 x 轴或 y 坐标轴范围以外,除非设置的坐标轴范围界限已超出图像边界。如果这些轴范围超出边界,则无此类限制。如果其他对象(例如,线条)占用坐标区,并延伸到图像边界以外,您可以平移或缩放到其他对象的边界,但不能越过边界。
数据类型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical
y - 沿着 y 轴放置
[1 size(C,1)] (默认) | 二元素向量 | 标量
沿着 y 轴放置,以下列形式之一指定:
-
二元素向量 - 将第一个元素用作 C(1,1) 的中心位置,将第二个元素用作 C(m,n) 的中心位置,其中 [m,n] = size(C) 。如果 C 为三维数组,则 m 和 n 为前两个维度。C 的其余元素的中心均匀分布在这两点之间。
每个像素的高度由以下表达式确定:
如果 y(1) > y(2) ,则图像上下翻转。
-
标量 - 会以此位置作为 C(1,1) 的中心,并使后面的每个元素相隔一个单位。
要改用 imagesc 函数的低级版本,请将 YData 属性设为名称-值对组。例如,imagesc(\'XData\',x,\'YData\',y,\'CData\',C) 。
您无法在以交互方式将图像平移或缩放到图像的 x 轴或 y 坐标轴范围以外,除非设置的坐标轴范围界限已超出图像边界。如果这些轴范围超出边界,则无此类限制。如果其他对象(例如,线条)占用坐标区,并延伸到图像边界以外,您可以平移或缩放到其他对象的边界,但不能越过边界。
数据类型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical
clims - 颜色范围
[cmin cmax] 格式的二元素向量
颜色范围,指定为 [cmin cmax] 形式的二元素向量,其中 cmax 大于 cmin 。C 中小于或等于 cmin 的值映射到颜色图中的第一种颜色。大于或等于 cmax 的值将映射到颜色图中的最后一种颜色。介于 cmin 和 cmax 之间的值以线性方式映射到颜色图。
如果您指定颜色范围,则 imagesc 函数将坐标区的 CLim 属性设置为指定的值。如果您不指定颜色范围,则 imagesc 将坐标区的 CLim 属性设置为 C 中的最小值和最大值。
ax - Axes 对象
Axes 对象
Axes 对象。如果您不指定 Axes 对象,则 imagesc 使用当前坐标区。
名称-值对组参数
指定可选的、以逗号分隔的 Name,Value 对组参数。Name 为参数名称,Value 为对应的值。Name 必须放在引号中。您可采用任意顺序指定多个名称-值对组参数,如 Name1,Value1,...,NameN,ValueN 所示。
示例: imagesc([1 2 3],\'AlphaData\',0.5) 会显示半透明图像。
此处所列的属性只是一部分图像属性。有关完整列表,请参阅 Image 属性。
\'AlphaData\' - 透明度数据
1 (默认) | 标量 | 大小与 CData 相同的数组
透明度数据,指定为以下格式之一:
AlphaDataMapping 属性控制 MATLAB® 如何解释 alpha 数据透明度值。
示例: 0.5
数据类型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical
\'AlphaDataMapping\' - AlphaData 值的解释
\'none\' (默认) | \'scaled\' | \'direct\'
AlphaData 值的解释,指定为下列值之一:
-
\'none\' - 将值解释为透明度值。值 1 或更大的值表示完全不透明,值 0 或更小的值表示完全透明,介于 0 和 1 之间的值表示半透明。
-
\'scaled\' - 将值映射到图窗的 alphamap 中。坐标区的最小和最大 alpha 范围确定分别映射到 alphamap 中第一个和最后一个元素的 alpha 数据值。例如,如果 alpha 范围是 [3 5] ,则小于或等于 3 的 alpha 数据值映射到 alphamap 中的第一个元素。大于或等于 5 的 alpha 数据值映射到颜色图中的最后一个元素。坐标区的 ALim 属性包含 alpha 范围。图窗的 Alphamap 属性包含 alphamap。
-
\'direct\' - 将值解释为图窗的 alphamap 的索引。带小数部分的值向下舍取为最接近的整数:
-
如果值为 double 或 single 类型,则小于或等于 1 的值将映射到 alphamap 中的第一个元素。等于或大于 alphamap 的长度的值映射到 alphamap 中的最后一个元素。
-
如果值的类型为整数,则 0 或更小的值映射到 alphamap 中的第一个元素。等于或大于 alphamap 的长度的值映射到 alphamap 中的最后一个元素(或者最大可为该类型的范围限值)。整数类型有 uint8 、uint16 、uint32 、uint64 、int8 、int16 、int32 和 int64 。
-
如果值为 logical 类型,则值 0 将映射到 alphamap 中的第一个元素,值 1 将映射到 alphamap 中的第二个元素。
输出参数
全部折叠
im - Image 对象
Image 对象
Image 对象。使用 im 在创建图像后设置图像的属性。有关列表,请参阅 Image 属性。
详细信息
全部折叠
高级与低级版本
imagesc 函数有两个版本:高级版本和低级版本。如果您使用的 imagesc 将 \'CData\' 作为输入参数,则您使用的是低级版本。否则,您使用的是高级版本。
imagesc 的高级版本在绘图前调用 newplot 并设置以下坐标区属性:
imagesc 函数的低级版本不调用 newplot 且不设置这些坐标区属性。
对这两个版本,imagesc 函数进行如下设置:
-
将 Image 对象的 CData 属性设置为 C 中的值。
-
将 Image 对象的 CDataMapping 属性设置为 \'scaled\' 。
-
将 Axes 对象的 CLim 属性设置为 C 中的最小值和最大值,除非您指定 clims 输入参数。
|
请发表评论