今天,我们讲解Matlab中关于缩放图像中的最后一篇,使用imagesc缩放颜色显示图像。文中,我们主要讲解Matlab中imagesc函数的常见用法、语法说明、显示矩阵数据的图像、控制图像位置、控制数据值到颜色图的颜色映射、创建后修改图像、向三维视图中的坐标区添加图像等用法。
下面,我们首先给出Matlab中关于imagesc函数的帮助文档如下:
>> help imagesc imagesc Display image with scaled colors imagesc(...) is the same as IMAGE(...) except the data is scaled to use the full colormap. imagesc(...,CLIM) where CLIM = [CLOW CHIGH] can specify the scaling.
由此可见,imagesc函数与image函数用法一致,可以参考之前写的关于image函数的文章,进一步对比参考:《Matlab使用image函数将数据转换为图片》。
常见用法
imagesc(C) imagesc(x,y,C) imagesc('CData',C) imagesc('XData',x,'YData',y,'CData',C) imagesc(___,Name,Value) imagesc(___,clims) imagesc(ax,___) im = 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 中的最小值映射到颜色图中的第一种颜色,最大值映射到最后一种颜色。
C = [0 2 4 6; 8 10 12 14; 16 18 20 22]; imagesc(C) colorbar
控制图像位置
放置图像,使其位于 x 轴上的 5 和 8 之间及 y 轴上的 3 和 6 之间。
x = [5 8]; y = [3 6]; C = [0 2 4 6; 8 10 12 14; 16 18 20 22]; imagesc(x,y,C)
请注意,对应于 C(1,1) 的像素在点 (5,3) 上居中显示。对应于 C(3,4) 的像素在点 (8,6) 上居中显示。imagesc 在这两个点之间确定图像其余部分的位置和方向。
控制数据值到颜色图的颜色映射
将 C 创建为数据值的数组。创建 C 的图像并设置颜色范围,使 4 或更小的值映射到颜色图中的第一种颜色,18 或更大的值映射到颜色图中的最后一种颜色。显示颜色栏以说明数据值如何映射到颜色图。
C = [0 2 4 6; 8 10 12 14; 16 18 20 22]; clims = [4 18]; imagesc(C,clims) colorbar
创建后修改图像
创建一个图像并返回图像对象 im。然后,通过设置图像对象的 AlphaData 属性使图像半透明。
C = [1 2 3; 4 5 6; 7 8 9]; im = imagesc(C);
im.AlphaData = .5;
向三维视图中的坐标区添加图像
创建一个曲面图。然后,在曲面下添加一个图像。imagesc 在 xy 平面中显示该图像。
Z = 10 + peaks; surf(Z) hold on imagesc(Z)
转载文章,原文出处:MathWorks官网,由古哥整理发布
如若转载,请注明出处:https://iymark.com/articles/2204.html