MATLAB: Imagesc и масштабирование всех изображений для использования одного масштаба - PullRequest
1 голос
/ 28 декабря 2011

Я использую imagesc в цикле для создания 100 изображений. Насколько я знаю, цветовая гамма индивидуальна для каждого изображения.

Итак, мой первый вопрос ... у каждого изображения разный масштаб?

(мои результаты указывают на это, но мне нужно разъяснение)

результат - матрица 7x7xt.

Часть цикла, показывающая это ...

 t=100;

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

Мой второй вопрос: если у них разные шкалы, есть ли простой способ заставить их всех использовать одну и ту же подходящую шкалу?

Ответы [ 2 ]

4 голосов
/ 29 декабря 2011

Вы также можете изменить пределы цвета вне IMAGESC с помощью функции CAXIS .

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
2 голосов
/ 28 декабря 2011

Вопрос 1: Да.

Вопрос 2:

Если вы прочитали страницу руководства , вы 'Посмотрим, что там написано:

imagesc(...,clims) нормализует значения в C к диапазону, указанному clims, и отображает C как изображение.clims - это двухэлементный вектор, который ограничивает диапазон значений данных в C.Эти значения соответствуют полному диапазону значений в текущей цветовой карте.

...