exponenta event banner

Как данные изображения соотносятся с картой цветов

При отображении изображений с помощью 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

Figure contains an axes. The axes contains an object of type image.

A содержит значения от 1 до 25. MATLAB ® обрабатывает эти значения как индексы в карте цветов, которая содержит 64 записи. Таким образом, все пиксели в предыдущем изображении сопоставляются с первыми 25 записями в карте цветов (примерно синяя область цветовой полосы).

Вы можете управлять этим отображением с помощью CDataMapping имущества Image объект. Поведение по умолчанию, показанное на предыдущей диаграмме, соответствует 'direct' для этого свойства. Прямое сопоставление полезно при отображении изображений (например, GIF-изображений), содержащих собственную карту цветов. Однако если изображение представляет измерения некоторых физических единиц (например, метров или градусов), то установите CDataMapping свойство для 'scaled'. Масштабированное сопоставление использует весь диапазон цветов и позволяет визуализировать относительные различия в данных.

im.CDataMapping = 'scaled';

Figure contains an axes. The axes contains an object of type image.

'scaled' параметр сопоставляет наименьшее значение в A к первой записи в карте цветов и отображает наибольшее значение в A сопоставляется с последней записью в карте цветов. Все промежуточные значения A линейно масштабированы до карты цветов.

В качестве альтернативы установке CDataMapping свойство для 'scaled', вы можете позвонить imagesc функция для получения того же эффекта.

imagesc(A);
axis off
colorbar

Figure contains an axes. The axes contains an object of type image.

При изменении карты цветов значения в A масштабированы до новой карты цветов.

colormap(gray);

Figure contains an axes. The axes contains an object of type image.

Масштабированное сопоставление также полезно для отображения графических изображений, которые не имеют карты цветов, или когда требуется изменить карту цветов для графического изображения. Следующие команды отображают изображение с помощью gray colormap, который отличается от исходного colormap, который хранится с этим изображением.

load clown
image(X,'CDataMapping','scaled');
colormap(gray);
axis off
colorbar

Figure contains an axes. The axes contains an object of type image.

См. также

Функции

Свойства

Связанные темы