2011-12-28 2 views
1

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

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

(мои результаты будут указывать это, но мне нужно уточнение)

Результатом является матрица 7x7xt.

Часть цикла показывает это ...

t=100; 

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

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

ответ

2

Вопрос 1: Да.

Вопрос 2:

Если вы читали manual page, вы увидите, что он говорит:

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

+0

Я, должно быть, изначально прочитал это неправильно, поскольку я использовал страницу руководства. Я должен отдать это. Благодаря! – Tetra

4

Вы также можете изменить пределы цвета вне 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 
+0

Блестящий, именно то, что я хотел! Благодаря! – Tetra

Смежные вопросы