Matlab中imagesc用法

一、imagesc常用函数

1.1 imagesc(b)

imagesc(b):将数组b中的数据显示为一个图像,该图像使用颜色图中的全部颜色。b中的每个元素指定图像的一个像素的颜色。生成图像是m*n的像素网格,其中m,n分别为c中的行数和列数。

如下图所示:我有一个360160的数组B
在这里插入图片描述
直接使用:imagesc(B)
获得图像如下所示,这里可以看到变成160
360的图了,这是因为用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

  • 59
    点赞
  • 386
    收藏
    觉得还不错? 一键收藏
  • 13
    评论
### 回答1: imagesc函数是MATLAB用来绘制矩阵数据的二维图像的函数。它需要输入一个矩阵数据和可选的纵横坐标范围,可以在当前坐标系绘制出这个矩阵数据的图像。 用法: ``` imagesc(C) imagesc(x,y,C) imagesc(...,clim) h = imagesc(...) ``` 其C是矩阵数据,x,y是可选的纵横坐标范围,clim是可选的颜色范围限制,h是返回的图像句柄。 例如: ``` C = rand(10); imagesc(C) ``` 绘制一个随机生成的10*10的矩阵数据的图像。 ### 回答2: imagesc()函数是MATLAB用于绘制二维图像的函数之一,其主要功能是可以将二维矩阵映射到彩色(或灰度)图像上,同时实现可视化。 具体来说,imagesc()函数的语法如下: ``` imagesc(X) imagesc(x,y,C) imagesc(...,[Cmin Cmax]) imagesc(ax,...) h = imagesc(...) ``` 其,X是待绘制的二维矩阵,可以是实数、复数、逻辑值等类型;x和y则是确定C每个元素坐标位置的向量;C是用于生成彩色(或灰度)图像的矩阵,其大小和X相同;[Cmin Cmax]指定了彩色(或灰度)图像的颜色范围;ax是axes对象,用于指定所在的axes区域,可选。 imagesc()函数会将矩阵的元素进行归一化,将每个元素按照其大小线性映射到一个[0,1]的区间内,然后按照预设的颜色方案将其映射为一个彩色(或灰度)值,最终绘制出图像。 另外,imagesc()函数通常与colormap()函数和colorbar()函数联合使用,colormap()函数可以设置彩色(或灰度)值和颜色映射的方案,colorbar()函数可以添加或修改图像侧面的颜色条,以提供更好的可视化效果。 总的来说,imagesc()函数是MATLAB用于绘制彩色(或灰度)图像的重要函数之一,其功能强大,可以实现二维矩阵的可视化。在实际应用,我们可以根据具体的需求,合理使用该函数及其相关函数,来生成出更加直观、美观的二维图像。 ### 回答3: imagesc函数是matlab用于绘制二维图像的一个函数,它将矩阵的数值映射到一定的颜色值,并将这些颜色值展示为一个图像,通过这个图像来显示矩阵的分布和规律。 imagesc函数的语法结构为:imagesc(C) 或 imagesc(x,y,C)。其,C是一个m×n的矩阵或n维数据集,x和y是可选参数,确定C矩阵的坐标。如果省略x和y参数,则默认行列数作为对应坐标。 imagesc函数的输出结果还通常会返回一个图像句柄,允许用户在图像上应用其他函数来定制图形属性。 imagesc函数的使用: 1. 将要绘制的矩阵或数据集C传入imagesc函数; 2. 在绘图区观察生成的彩色图像,并根据需要定制图像属性。 与Matlab的其他图像函数类似,imagesc函数也可以接受纯数字的输入。 例如,可以使用以下代码生成一个随机生成的矩阵,并将其绘制为图像: C = rand(50,50); imagesc(C); 使用imagesc函数还可以将矩阵缩放到一定的大小、选择合适的颜色映射等等。通过这些操作,可以凸显数据的特定模式、地域差异或其他重要信息。 总之,imagesc函数是非常实用的Matlab函数之一,可以方便且直观地展示和分析矩阵数据的分布规律,是数据处理、科学研究和工程实践的重要工具。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值