imagesc

Изображение на дисплее с масштабированными цветами

Синтаксис

imagesc(C)
imagesc(x,y,C)
imagesc('CData',C)
imagesc('XData',x,'YData',y,'CData',C)
imagesc(___,Name,Value)
imagesc(___,clims)
imagesc(ax,___)
im = 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

Поместите изображение так, чтобы оно нашлось между 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)

Заметьте, что пиксель, соответствующий 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

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

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

im.AlphaData = .5;

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

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

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

свернуть все

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

Примечание

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

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

Преобразование между типами данных

Чтобы преобразовать данные о полутоновом изображении из целочисленного типа, чтобы ввести double, добавьте 1. Например, если X8 является данными о полутоновом изображении типа uint8, преобразуйте его, чтобы ввести использование double:

X64 = double(X8) + 1;

Чтобы преобразовать данные о полутоновом изображении из типа double к целочисленному типу, вычтите 1 и используйте round, чтобы гарантировать, что все значения являются целыми числами. Например, если X64 является данными о полутоновом изображении типа double, преобразуйте его в использование uint8:

X8 = uint8(round(X64 - 1));

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | логический

Размещение вдоль оси 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 | логический

Размещение вдоль оси 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 | логический

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

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

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

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

Укажите необязательные аргументы в виде пар ""имя, значение"", разделенных запятыми. Имя (Name) — это имя аргумента, а значение (Value) — соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

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

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

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

  • Скаляр — Использование сопоставимая прозрачность через целое изображение.

  • Выстройте тот же размер как CData — Использование различное значение прозрачности для каждого элемента изображения.

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

Пример: 0.5

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | логический

Интерпретация значений AlphaData, заданных как одно из этих значений:

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

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

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

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

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

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

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

свернуть все

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

Больше о

свернуть все

Высокий уровень по сравнению с низкоуровневой версией

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

Высокоуровневая версия imagesc вызывает newplot прежде, чем построить и устанавливает эти свойства осей:

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

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

  • View к [0 90].

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

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

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

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

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

Советы

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

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

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

Смотрите также

Функции

Свойства

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