Matlab中imagesc用法
一、imagesc常用函数
1.1 imagesc(b)
imagesc(b):将数组b中的数据显示为一个图像,该图像使用颜色图中的全部颜色。b中的每个元素指定图像的一个像素的颜色。生成图像是m*n的像素网格,其中m,n分别为c中的行数和列数。
如下图所示:我有一个360160的数组B
直接使用:imagesc(B)
获得图像如下所示,这里可以看到变成160360的图了,这是因为用imagesc函数它和普通绘图命令得到的坐标在纵轴方向是相反的,默认情况下是左上角为初始值,向下递增。
可以用这个设置坐标轴翻转
axis xy就是普通的坐标格式。
axis ij就是image系列的坐标格式。
使用axis xy变成如下所示
我习惯用view修改
view(-90,90);
这样来看就是正常的图了
添加色条设置jet色调
imagesc(B)
colormap(gca,jet);
colorbar
a=min(min(temp50));
b=max(max(temp50));
caxis([a b]); %设置最大最小的色条值
view(-90,90);
得到如下图所示
1.2 imagesc(x,y,b)
imagesc(x,y,C) 指定图像位置。使用 x 和 y 可指定与 C(1,1) 和 C(m,n) 对应的边角的位置。要同时指定两个边角,请将 x 和 y 设置为二元素向量。要指定第一个边角并让 imagesc 确定另一个,请将 x 和 y 设为标量值。图像将根据需要进行拉伸和定向。
x,y决定坐标范围,x,y应是两个二维向量,即x=[x1 x2],y=[y1 y2],matlab会在[x1,x2][y1,y2]的范围内染色。 如果x或y超过两维,则坐标范围为[x(1),x(end)][y(1),y(end)]
如果x(1) > x(2) 或 y(1) > y(2),图像是左右或上下反转的。
可以设置x轴与Y轴的数据范围如下所示
x = [-80 80];
y = [0 360];
imagesc(x,y,temp50)
% imagesc(temp50)
colormap(gca,jet);
colorbar
a=min(min(temp50));
b=max(max(temp50));
caxis([a b]);
view(-90,90);
hold on
1.3 低级版本函数不使用了
imagesc(‘CData’,B) 将图像添加到当前坐标区中而不替换现有绘图。此语法是 imagesc(B) 的低级版本。
imagesc(‘XData’,x,‘YData’,y,‘CData’,C) 指定图像位置。此语法是 imagesc(x,y,C) 的低级版本。
1.4 其余函数
imagesc(___,Name,Value) 使用一个或多个名称-值对组参数指定图像属性。您可以在上述语法中的任何输入参数组合后指定名称-值对组参数。如需图像属性和说明的列表,请参阅 Image 属性。
imagesc(___,clims) 指定映射到颜色图的第一个和最后一个元素的数据值。将 clims 指定为 [cmin cmax] 形式的二元素向量,其中小于或等于 cmin 的值映射到颜色图中的第一种颜色,大于或等于 cmax 的值映射到颜色图中的最后一种颜色。在名称-值对组参数后指定 clims。
imagesc(ax,___) 将在由 ax 指定的坐标区中而不是当前坐标区 (gca) 中创建图像。指定坐标区作为第一个输入参数。
im = imagesc(___) 返回创建的 Image 对象。使用 im 在创建图像后设置图像的属性。您可以使用先前语法中的任意输入参数组合指定此输出。
2、参考文章
参考文章:
https://www.mathworks.com/help/releases/R2021b/matlab/ref/imagesc.html#d123e650698
更多推荐
所有评论(0)