MATLAB:Imagesc和缩放所有图像以使用一个刻度

时间:2011-12-28 19:11:06

标签: matlab image-scaling

我在循环中使用imagesc来创建100个图像。据我所知,每个图像中的色标是个体的。

所以我的第一个问题是......每张图片都有不同的比例吗?

(我的结果将表明这一点,但我需要澄清)

结果是一个7x7xt矩阵。

显示这一点的部分循环是......

 t=100;

 for j=1:t
     figure;
     imagesc(result(:,:,j));
     filename = sprintf('model.png', j);
 end

我的第二个问题是......如果它们确实有不同的比例,是否有一种简单的方法可以使它们都使用相同的比例?

2 个答案:

答案 0 :(得分:4)

您还可以使用CAXIS功能更改IMAGESC之外的颜色限制。

for j=1:t
    %# ...
    imagesc(result(:,:,j));
    if j==1
        cl = caxis; %# get color limits from the 1st image
    else
        caxis(cl) %# apply the same color limits to other images
    end
    %# ...
end

答案 1 :(得分:2)

问题1:是。

问题2:

如果你看过manual page,就会看到它:

  

imagesc(...,clims)C中的值规范化为clims指定的范围,并将C显示为图像。 clims是一个双元素向量,用于限制C中数据值的范围。这些值映射到当前色彩映射中的所有值。