imshow

Изображение на дисплее

Синтаксис

imshow(I)
imshow(I,[low high])
imshow(I,[])
imshow(RGB)
imshow(BW)
imshow(X,map)
imshow(filename)
imshow(___,Name,Value)
himage = imshow(___)
imshow(I,RI)
imshow(X,RX,map)
imshow(gpuarrayIM,___)

Описание

пример

imshow(I) отображает полутоновое изображение I в фигуре. imshow использует область значений отображения по умолчанию для типа данных image и оптимизирует фигуру, оси и свойства объекта изображения для отображения изображений.

imshow(I,[low high]) отображает полутоновое изображение I, задавая область значений отображения как двухэлементный вектор, [low high]. Для получения дополнительной информации смотрите параметр DisplayRange.

imshow(I,[]) отображает полутоновое изображение I, масштабируя отображение на основе области значений пиксельных значений в I. imshow использует [min(I(:)) max(I(:))] в качестве области значений отображения. imshow отображает минимальное значение в I, столь же черном и максимальное значение как белый. Для получения дополнительной информации смотрите параметр DisplayRange.

пример

imshow(RGB) отображается истинный цвет отображают RGB в фигуре.

пример

imshow(BW) отображает двухуровневое изображение BW в фигуре. Для двухуровневых изображений imshow отображает пиксели со значением 0 (нуль), столь же черный и 1 как белый.

пример

imshow(X,map) отображает индексируемое изображение X с палитрой map. Матрица палитры может иметь любое количество строк, но это должно иметь точно 3 столбца. Каждая строка интерпретирована как цвет, с первым элементом, задающим интенсивность красного, второго зеленого, и третьего синего цвета. Интенсивность цвета может быть задана на интервале [0, 1].

пример

imshow(filename) отображает изображение, сохраненное в графическом файле, заданном filename.

imshow(___,Name,Value) отображает изображение, с помощью пар "имя-значение", чтобы управлять аспектами операции.

himage = imshow(___) возвращает объект изображения, созданный imshow.

imshow(I,RI) отображает изображение I со связанным 2D пространственным ссылочным объектом RI.

imshow(X,RX,map) отображает индексируемое изображение X со связанным 2D пространственным ссылочным объектом RX и палитра map.

imshow(gpuarrayIM,___) отображает изображение, содержавшееся в gpuArray. Этот синтаксис требует Parallel Computing Toolbox™.

Примеры

свернуть все

Отобразите шкалу полутонов, RGB (истинный цвет), индексированное или двухуровневое изображение с помощью imshow. MATLAB® включает файл TIF, названный corn.tif, который содержит три изображения: полутоновое изображение, индексируемое изображение и истинный цвет (RGB) изображение. Этот пример создает двухуровневое изображение из полутонового изображения.

Отобразите полутоновое изображение

Считайте полутоновое изображение из файла corn.tif в рабочее пространство MATLAB. Полутоновая версия изображения является третьим изображением в файле.

corn_gray = imread('corn.tif',3);

Отобразите полутоновое изображение с помощью imshow.

imshow(corn_gray)

Отобразите индексируемое изображение

Считайте индексируемое изображение из файла corn.tif в рабочее пространство MATLAB. Индексируемая версия изображения является первым изображением в файле.

[corn_indexed,map] = imread('corn.tif',1);

Отобразите индексируемое изображение с помощью imshow.

imshow(corn_indexed,map)

Отобразите изображение RGB

Считайте изображение RGB из файла corn.tif в рабочее пространство MATLAB. Версия RGB изображения является вторым изображением в файле.

[corn_rgb] = imread('corn.tif',2);

Отобразите изображение RGB с помощью imshow.

imshow(corn_rgb)

Отобразите двухуровневое изображение

Считайте полутоновое изображение из файла corn.tif в рабочее пространство MATLAB и используйте пороговую обработку, чтобы преобразовать его в двухуровневое изображение. Полутоновая версия изображения является третьим изображением в файле.

[corn_gray] = imread('corn.tif',3);

Определите среднее значение пикселей в полутоновом изображении.

meanIntensity = mean(corn_gray(:));

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

corn_binary = corn_gray > meanIntensity;

Отобразите двухуровневое изображение с помощью imshow.

imshow(corn_binary)

Отобразите изображение, сохраненное в файле.

imshow('peppers.png');

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

[X,map] = imread('corn.tif');
imshow(X,map)

Измените палитру для изображения с помощью функции colormap и задав целевые оси как первый входной параметр. Используйте исходную палитру без красного компонента.

newmap = map;
newmap(:,1) = 0;
colormap(gca,newmap)

Считайте изображение в рабочую область.

I = imread('pout.tif');

Отобразите изображение. Обратите внимание, что пределы осей отражают размер изображения.

figure; imshow(I)

Создайте пространственный ссылочный объект, сопоставленный с изображением. Используйте ссылочный объект, чтобы установить x-и пределы осей Y в системе мировой координаты.

RI = imref2d(size(I));
RI.XWorldLimits = [0 3];
RI.YWorldLimits = [2 5];

Отобразите изображение, задав пространственный ссылочный объект. Обратите внимание на изменения к пределам осей Y и x-.

figure; imshow(I,RI);

Считайте изображение в gpuArray.

X = gpuArray(imread('pout.tif'));

Отобразите его.

figure; imshow(X)

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

свернуть все

Введите полутоновое изображение, заданное как матрица. Полутоновое изображение может быть любым типом числовых данных.

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

Введите изображение истинного цвета, заданное как m-by-n-by-3 массив.

Если вы задаете изображение истинного цвета типа данных single или double, то значения должны быть в области значений [0, 1]. Если пиксельные значения вне этой области значений, то можно использовать функцию rescale, чтобы масштабировать пиксельные значения к области значений [0, 1]. Аргумент 'DisplayRange' не имеет никакого эффекта, когда входное изображение является истинным цветом.

Типы данных: single | double | uint8 | uint16

Введите двухуровневое изображение, заданное как матрица.

Типы данных: логический

Индексируемое изображение, заданное как 2D массив действительных числовых значений. Значения в X являются индексами в палитру, заданную map.

Типы данных: single | double | uint8 | logical

Палитра, заданная как c-by-3 массив типа single или double в области значений [0 1] или c-by-3 массив типа uint8. Каждая строка задает значение цвета RGB.

Типы данных: single | double | uint8

Имя файла, заданное как вектор символов. Изображение должно быть читаемым imread. Функция imshow отображает изображение, но не хранит данные изображения в рабочей области MATLAB®. Если файл содержит повторные изображения, imshow отображает первое изображение в файле.

Пример: imshow('peppers.png')

Типы данных: char

Область значений отображения полутонового изображения, заданная как двухэлементный вектор. Для получения дополнительной информации смотрите аргумент пары "имя-значение" 'DisplayRange'.

Пример: [50 250]

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

2D пространственный ссылочный объект сопоставлен с входным изображением, заданным как объект imref2d.

2D пространственный ссылочный объект сопоставлен с индексируемым изображением, заданным как объект imref2d.

Отобразите, чтобы быть обработанными на графическом процессоре (GPU), заданном как gpuArray.

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

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

Пример: imshow('board.tif','Border','tight')

Пробел границы окна рисунка, заданный как пара, разделенная запятой, состоящая из 'Border' и или 'tight' или 'loose'. Когда установлено в 'loose', окно рисунка включает пробел вокруг изображения в фигуре. Когда установлено в 'tight', окно рисунка не включает пробела вокруг изображения в фигуре.

Если изображение является очень маленьким или если фигура содержит другие объекты помимо изображения и его осей, imshow может использовать границу независимо от того, как этот параметр устанавливается.

Пример: imshow('board.tif','Border','tight')

Типы данных: char

Палитра, заданная как пара, разделенная запятой, состоящая из 'Colormap' и c-by-3 матрица. imshow использует это, чтобы установить палитру для осей. Используйте этот параметр, чтобы просмотреть полутоновые изображения в фиктивном цвете. Если вы задаете пустую палитру ([]), то imshow игнорирует этот параметр.

Примечание

Начиная в R2016b, imshow изменяет палитру для осей, которая содержит изображение вместо фигуры.

Пример: newmap = copper; imshow('board.tif','Colormap',newmap)

Типы данных: double

Отобразите область значений полутонового изображения, заданного как двухэлементный вектор формы [low high]. Функция imshow отображает значение low (и любое значение меньше, чем low) как черные, и это отображает значение high (и любое значение, больше, чем high) как белые. Значения между low и high отображены как промежуточные оттенки серого, с помощью количества по умолчанию уровней серого.

Если вы задаете пустую матрицу ([]), то imshow использует область значений отображения [min(I(:)) max(I(:))]. Другими словами, минимальное значение в I является черным, и максимальное значение является белым.

Если вы не задаете область значений отображения, то imshow выбирает область значений отображения по умолчанию на основе типа данных image.

  • Если I является целочисленным типом, то значения по умолчанию 'DisplayRange' к минимальным и максимальным представимым значениям для того целочисленного класса. Например, область значений отображения по умолчанию для массивов uint16 [0, 65535].

  • Если I является типом данных single или double, то область значений отображения по умолчанию [0, 1].

Примечание

Включая название параметра является дополнительным, кроме тех случаев, когда изображение задано именем файла. Синтаксис imshow(I,[low high]) эквивалентен imshow(I,'DisplayRange',[low high]). Если вы вызываете imshow с именем файла, то необходимо задать параметр 'DisplayRange'.

Пример: h = imshow(I,'DisplayRange',[0 80]);

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

Начальное увеличение отображения изображений, заданного как пара, разделенная запятой, состоящая из 'InitialMagnification' и числового скаляра или 'fit'. Если установлено в 100, то imshow отображает изображение при 100%-м увеличении (один экранный пиксель для каждого пикселя изображения). Если установлено в 'fit', то imshow масштабирует целое изображение, чтобы поместиться в окно.

Первоначально, imshow пытается отобразить целое изображение при заданном увеличении. Если значение увеличения является столь большим, что изображение является слишком большим, чтобы отобразиться на экране, imshow отображает изображение при самом большом увеличении, которое соответствует на экране.

Если изображение отображено в фигуре с его набором свойств 'WindowStyle' к 'docked', то imshow отображает изображение при самом большом увеличении, которое помещается в фигуру.

Примечание: Если вы задаете положение осей (использующий subplot или axes), imshow игнорирует любое начальное увеличение, которое вы можете задать и значения по умолчанию к поведению 'fit'.

Когда вы используете imshow с параметром 'Reduce', начальным увеличением должен быть 'fit'.

В MATLAB Online™ 'InitialMagnification' установлен в 'fit' и не может быть изменен.

Пример: h = imshow(I,'InitialMagnification','fit');

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

Родительские оси объекта изображения, заданного как пара, разделенная запятой, состоящая из 'Parent' и объекта осей. Используйте аргумент значения имени 'Parent', чтобы создать пользовательский интерфейс, который дает вам контроль свойств осей и фигуры.

Индикатор для изображения подвыборки, заданного как пара, разделенная запятой, состоящая из 'Reduce' и или true, false, 1 или 0. Этот аргумент допустим только, когда вы используете его с именем файла TIFF. Используйте аргумент Reduce, чтобы отобразить обзоры очень больших изображений.

Типы данных: логический

Пределы оси X системы координат не по умолчанию, заданной как пара, разделенная запятой, состоящая из 'XData' и двухэлементного вектора. Этот аргумент устанавливает систему пространственной координаты не по умолчанию путем определения изображения XData. Значение может иметь больше чем два элемента, но imshow использует только первые и последние элементы.

Пример: 'XData',[100 200]

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

Пределы оси Y системы координат не по умолчанию, заданной как пара, разделенная запятой, состоящая из 'YData' и двухэлементного вектора. Значение может иметь больше чем два элемента, но imshow использует только первые и последние элементы.

Пример: 'YData',[100 200]

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

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

свернуть все

Изображение создается imshow, заданным как объект изображения.

Советы

  • Чтобы изменить палитру после того, как вы создадите изображение, используйте команду colormap. Задайте оси, который содержит изображение как первый входной параметр и палитру, которую вы хотите как второй входной параметр. Для примера см. Палитру Изменения Отображенного Изображения.

  • Можно отобразить повторные изображения с различными палитрами в той же фигуре, использующей imshow с функцией subplot.

  • Если у вас есть Image Processing Toolbox™, то можно использовать приложение Image Viewer в качестве интегрированной среды для отображения изображений и выполнения общих задач обработки изображений.

  • Если у вас есть Image Processing Toolbox, то можно использовать функцию iptsetpref, чтобы установить настройки тулбокса, которые изменяют поведение imshow.

  • Функция imshow не поддерживается, когда вы запускаете MATLAB с опции -nojvm.

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

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

| | | | |

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

Для просмотра документации необходимо авторизоваться на сайте