imagesc

Отобразите изображение с масштабированными цветами

Описание

пример

imagesc(C) отображает данные в массиве C как изображение, которое использует полную область значений цветов в палитре. Каждый элемент C задает цвет для одного пикселя изображения. Получившееся изображение является m-by- n сетка пикселей, где m количество строк и n количество столбцов в C. Индексы строка и столбец элементов определяют центры соответствующих пикселей.

пример

imagesc(x,y,C) задает расположение изображения. Использование x и y для определения местоположения углов, соответствующих C(1,1) и C(m,n). Чтобы задать оба угла, задайте x и y как двухэлементные векторы. Чтобы задать первый угол и разрешить imagesc определите другое, установите x и y как скалярные значения. Изображение растягивается и ориентируется по мере необходимости.

imagesc('CData',C) добавляет изображение к текущей системе координат без замены существующих графиков. Этот синтаксис является низкоуровневой версией imagesc(C). Для получения дополнительной информации см. раздел «Высокоуровневая и низкоуровневая версия».

imagesc('XData',x,'YData',y,'CData',C) задает расположение изображения. Этот синтаксис является низкоуровневой версией imagesc(x,y,C).

imagesc(___,Name,Value) задает свойства изображения с помощью одного или нескольких аргументов пары "имя-значение". Можно задать аргументы пары "имя-значение" после любой комбинации входных аргументов в предыдущих синтаксисах. Список свойств и описаний изображений см. в разделе «Свойства изображений».

пример

imagesc(___,clims) задает значения данных, которые соответствуют первому и последнему элементам палитры. Задайте clims как двухэлементный вектор вида [cmin cmax], где значения меньше или равны cmin сопоставить с первым цветом в палитре и значениями, большими или равными cmax сопоставить с последним цветом в палитре. Задайте clims после аргументов пары "имя-значение".

imagesc(ax,___) создает изображение в заданных ax осях вместо в текущей системе координат (gca). Задайте оси в качестве первого входного параметра.

пример

im = imagesc(___) возвращает Image созданный объект. Использование im для установки свойств изображения после его создания. Можно задать этот выход с любыми комбинациями входных аргументов в предыдущих синтаксисах.

Примеры

свернуть все

Создайте матрицу C. Отобразите изображение данных в C. Добавьте шкалу палитры в график, чтобы показать текущую палитру. По умолчанию imagesc масштабирует пределы цвета так, чтобы изображение использовало полную область значений палитры, где наименьшее значение в C преобразуется в первый цвет в палитре, а самое большое значение преобразуется в последний цвет.

C = [0 2 4 6; 8 10 12 14; 16 18 20 22];
imagesc(C)
colorbar

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

Поместите изображение так, чтобы оно лежало между 5 и 8 на оси X и между 3 и 6 на оси Y.

x = [5 8];
y = [3 6];
C = [0 2 4 6; 8 10 12 14; 16 18 20 22];
imagesc(x,y,C)

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

Заметьте, что пиксель, соответствующий C(1,1) центрирован над точкой (5,3). Пиксель, относящийся к C(3,4) центрирован над точкой (8,6). imagesc положения и ориентация остальной части изображения между этими двумя точками.

Создание C как массив значений данных. Создайте изображение C и установите пределы цвета так, чтобы значения 4 или менее соответствовали первому цвету в палитре и значениям 18 или более карт - последнему цвету в палитре. Отобразите шкалу палитры, чтобы показать, как значения данных отображаются в палитре.

C = [0 2 4 6; 8 10 12 14; 16 18 20 22];
clims = [4 18];
imagesc(C,clims)
colorbar

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

Создайте изображение и верните объект изображения, im. Затем сделайте изображение полупрозрачным путем установки AlphaData свойство объекта изображения.

C = [1 2 3; 4 5 6; 7 8 9];
im = imagesc(C);

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

im.AlphaData = .5;

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

Создать объемную поверхностную диаграмму. Затем добавьте изображение под поверхность. imagesc отображение изображения в плоскости xy.

Z = 10 + peaks;
surf(Z)
hold on
imagesc(Z)

Figure contains an axes. The axes contains 2 objects of type surface, image.

Входные параметры

свернуть все

Данные о цвете изображения, заданные как вектор или матрица. Каждый элемент C определяет цвет для одного пикселя изображения. Элементы C сопоставить с цветами в палитре связанных осей. Наименьшее значение в C преобразуется в первый цвет в палитре, а самое большое значение преобразуется в последний цвет. Поведение NaN элементы не заданы.

Примечание

Если вы задаете C как m-by- n-by-3 массив, затем imagesc функция интерпретирует изображение как изображение truecolor (RGB). imagesc не изменяет значения пикселей изображений truecolor. Используйте rescale функция для масштабирования значений пикселей truecolor перед вызовом imagesc.

Как использовать низкоуровневую версию imagesc вместо этого установите CData свойство как пара "имя-значение". Для примера, imagesc('CData',C).

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical

Размещение вдоль оси X, заданное в одной из следующих форм:

  • Двухэлементный вектор - Используйте первый элемент как место расположения центра C(1,1) и второй элемент как место расположения центра C(m,n), где [m,n] = size(C). Если C является трехмерный массив, тогда m и n являются первыми двумя размерностями. Равномерно распределите центры остальных элементов C между этими двумя точками.

    Ширина каждого пикселя определяется выражением:

    (x(2)-x(1))/(size(C,2)-1)

    Если x(1) > x(2), затем изображение поворачивается влево-вправо.

  • Скаляр - Центральный C(1,1) в этом месте и каждом последующем элементе по одному модулю.

Как использовать низкоуровневую версию imagesc вместо этого установите XData свойство как пара "имя-значение". Для примера, imagesc('XData',x,'YData',y,'CData',C).

Вы не можете интерактивно панорамировать или масштабировать вне пределов по оси X или по оси Y изображения, если пределы уже не установлены вне границ изображения. Если пределы уже находятся вне границ, такого ограничения не существует. Если другие объекты (такие как линия) занимают оси и выходят за пределы изображения, можно панорамировать или масштабировать границы других объектов, но не дальше.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical

Размещение вдоль оси Y, заданное в одной из следующих форм:

  • Двухэлементный вектор - Используйте первый элемент как место расположения центра C(1,1) и второй элемент как место расположения центра C(m,n), где [m,n] = size(C). Если C является трехмерный массив, тогда m и n являются первыми двумя размерностями. Равномерно распределите центры остальных элементов C между этими двумя точками.

    Высота каждого пикселя определяется выражением:

    (y(2)-y(1))/(size(C,1)-1)

    Если y(1) > y(2), затем изображение поворачивается вверх-вниз.

  • Скаляр - Центральный C(1,1) в этом месте и каждом последующем элементе по одному модулю.

Как использовать низкоуровневую версию imagesc вместо этого установите YData свойство как пара "имя-значение". Для примера, imagesc('XData',x,'YData',y,'CData',C).

Вы не можете интерактивно панорамировать или масштабировать вне пределов по оси X или по оси Y изображения, если пределы уже не установлены вне границ изображения. Если пределы уже находятся вне границ, такого ограничения не существует. Если другие объекты (такие как линия) занимают оси и выходят за пределы изображения, можно панорамировать или масштабировать границы других объектов, но не дальше.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical

Пределы цвета, заданные как двухэлементный вектор формы [cmin cmax], где cmax больше cmin. Значения в C которые меньше или равны cmin сопоставить с первым цветом в палитре. Значения, большие или равные cmax сопоставить с последним цветом в палитре. Значения между cmin и cmax линейно сопоставить с палитрой.

Если вы задаете пределы цвета, то imagesc функция устанавливает CLim свойство осей к заданным значениям. Если вы не задаете пределы цвета, то imagesc устанавливает CLim свойство осей к минимальному и максимальному значениям в C.

Axes объект. Если вы не задаете Axes объект, затем imagesc использует текущую систему координат.

Аргументы в виде пар имя-значение

Задайте необязательные разделенные разделенными запятой парами Name,Value аргументы. Name - имя аргумента и Value - соответствующее значение. Name должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN.

Пример: imagesc([1 2 3],'AlphaData',0.5) отображает полупрозрачное изображение.

Перечисленные здесь свойства являются подмножеством свойств изображений. Полный список см. в разделе Свойств изображений».

Данные прозрачности, указанные в одной из следующих форм:

  • Скаляр - Использование последовательной прозрачности по всему изображению.

  • Массив того же размера, что и CData - Используйте другое значение прозрачности для каждого элемента изображения.

The AlphaDataMapping свойство управляет тем, как MATLAB® интерпретирует значения альфа данных прозрачности.

Пример: 0.5

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical

Интерпретация AlphaData значения, заданные в качестве одного из следующих значений:

  • 'none' - Интерпретируйте значения как значения прозрачности. Значение 1 или больше полностью непрозрачно, значение 0 или менее полностью прозрачно, а значение от 0 до 1 полупрозрачно.

  • 'scaled' - Отобразите значения в альфа-карту рисунка. Минимальные и максимальные альфа- пределы осей определяют значения альфа- данных, которые сопоставлены с первым и последним элементами альфа-карты, соответственно. Для примера, если альфа- пределы [3 5], затем значения альфа- данных меньше или равны 3 сопоставить с первым элементом в альфа-карте. Значения альфа- данных, большие или равные 5 сопоставить с последним элементом в альфа-карте. The ALim свойство осей содержит альфа- пределы. The Alphamap свойство рисунка содержит альфа-карту.

  • 'direct' - Интерпретируйте значения как индексы в альфа-карту рисунка. Значения с десятичным фрагментом фиксируются к ближайшему нижнему целому числу:

    • Если значения имеют тип double или single, затем значения 1 или менее сопоставляются с первым элементом альфа-карты. Значения, равные или большие длины альфа-карты последнего элемента альфа-карты.

    • Если значения имеют целое число типов, значения 0 или менее сопоставляются с первым элементом альфа-карты. Значения, равные или большие длины альфа-карты последнего элемента альфа-карты (или до пределов области значений типа). Целые типы uint8, uint16, uint32, uint64 , int8, int16, int32, и int64.

    • Если значения имеют тип logical, затем значения 0 сопоставляются с первым элементом в альфа-карте и значения 1 сопоставляются со вторым элементом в альфа-карте.

Выходные аргументы

свернуть все

Image объект. Использование im для установки свойств изображения после его создания. Список см. в разделе Свойств изображений».

Подробнее о

свернуть все

Высокоуровневая и низкоуровневая версии

The imagesc функция имеет две версии, версию высокого уровня и версию низкого уровня. Если вы используете imagesc с 'CData' в качестве входного параметра используется низкоуровневая версия. В противном случае используется версия высокого уровня.

Высокоуровневая версия imagesc вызовы newplot перед построением графика и установкой этих свойств осей:

  • Layer на 'top'. Изображение показано перед любыми отметками деления или линиями сетки.

  • YDir на 'reverse'. Значения вдоль оси y увеличиваются сверху вниз. Чтобы уменьшить значения сверху вниз, установите YDir на 'normal'. Эта настройка обращает и ось Y, и изображение.

  • View на [0 90].

Низкоуровневая версия imagesc функция не вызывает newplot и не устанавливает эти свойства осей.

Для обеих версий imagesc наборы функций:

  • The CData свойство Image объект значениям в C.

  • The CDataMapping свойство Image объект к 'scaled'.

  • The CLim свойство Axes объект к минимальным и максимальным значениям в C, если вы не задаете clims входной параметр.

Совет

  • Чтобы считать данные изображения в MATLAB из графических файлов в различных стандартных форматах, таких как TIFF, используйте imread. Чтобы записать данные изображения MATLAB в графические файлы, используйте imwrite. The imread и imwrite функции поддерживают различные форматы графических файлов и схемы сжатия.

  • Чтобы просмотреть или задать пределы цвета осей, можно использовать caxis функция.

Расширенные возможности

Представлено до R2006a