Когда вы изображения на дисплее с помощью image
функция, можно управлять, как область значений пиксельных значений сопоставляет с областью значений палитры. Например, вот магический квадрат 5 на 5, отображенный как изображение с помощью палитры по умолчанию.
A = magic(5)
A = 5×5
17 24 1 8 15
23 5 7 14 16
4 6 13 20 22
10 12 19 21 3
11 18 25 2 9
im = image(A);
axis off
colorbar
A
содержит значения между 1 и 25. MATLAB® обработки те значения как индексы в палитру, которая имеет 64 записи. Таким образом, все пиксели в предыдущей карте изображения к первым 25 записям в палитре (примерно синяя область шкалы палитры).
Можно управлять этим отображением с CDataMapping
свойство Image
объект. Поведение по умолчанию, показанное в предыдущей схеме, соответствует 'direct'
опция для этого свойства. Прямое отображение полезно, когда вы отображаете изображения (такие как изображения GIF), которые содержат их собственную палитру. Однако, если ваше изображение представляет измерения некоторой физической единицы измерения (например, метры или степени) затем устанавливает CDataMapping
свойство к 'scaled'
. Масштабированное отображение использует полный спектр цветов, и это позволяет вам визуализировать относительные различия в своих данных.
im.CDataMapping = 'scaled';
'scaled'
опция сопоставляет наименьшее значение в A
к первой записи в палитре и картах самое большое значение в A
карты к последней записи в палитре. Все промежуточные значения A
линейно масштабируются к палитре.
Как альтернатива установке CDataMapping
свойство к 'scaled'
, можно вызвать imagesc
функция, чтобы получить тот же эффект.
imagesc(A);
axis off
colorbar
Если вы изменяете палитру, значения в A
масштабируются к новой палитре.
colormap(gray);
Масштабированное отображение также полезно для отображения графических изображений, которые не имеют никакой палитры, или, когда это необходимо, изменить палитру для графического изображения. Следующие команды отображают изображение с помощью gray
палитра, которая отличается, чем исходная палитра, которая хранится с этим изображением.
load clown image(X,'CDataMapping','scaled'); colormap(gray); axis off colorbar