imshow

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

Описание

пример

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.

пример

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

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

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

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

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

Примеры

свернуть все

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

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

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

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

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

imshow(corn_gray)

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

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

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

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

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

imshow(corn_indexed,map)

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

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

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

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

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

imshow(corn_rgb)

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

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

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

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

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

meanIntensity = mean(corn_gray(:));

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

corn_binary = corn_gray > meanIntensity;

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

imshow(corn_binary)

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

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

imshow('peppers.png');

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

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

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

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

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

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

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

Считайте истинный цвет (RGB) изображение в рабочую область. Типом данных изображения является uint8.

RGB = imread('peppers.png');

Извлеките зеленый канал изображения. Зеленый канал является второй цветной плоскостью.

G = RGB(:,:,2);
imshow(G)

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

Создайте фильтр, который обнаруживает горизонтальные ребра в изображении.

filt = [-1 -1 -1;0 0 0;1 1 1];

Отфильтруйте зеленый канал изображения с помощью filter2 функция. Результатом является изображение типа данных double, с минимальным значением-422 и максимальным значением 656. Пиксели с большой величиной в отфильтрованном изображении указывают на сильные ребра.

edgeG = filter2(filt,G);

Отобразите отфильтрованное изображение с помощью imshow с областью значений отображения по умолчанию. Для изображений типа данных double, область значений отображения по умолчанию [0, 1]. Изображение кажется черным и белым, потому что отфильтрованные пиксельные значения превышают область значений [0, 1].

imshow(edgeG)

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

Отобразите отфильтрованное изображение и масштабируйте область значений отображения к пиксельным значениям в изображении. Изображение отображается с полным спектром полутоновых значений.

imshow(edgeG,[])

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

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

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

Выберите небольшую часть изображения. Отобразите изображение детали при 100%-м увеличении с помощью imshow.

corn_detail = corn_gray(1:100,1:100);
imshow(corn_detail)

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

Отобразите изображение при 1 000%-м увеличении при помощи 'InitialMagnification' аргумент пары "имя-значение". По умолчанию, inshow выполняет самую близкую соседнюю интерполяцию пиксельных значений. Изображение имеет блокирующиеся артефакты.

imshow(corn_detail,'InitialMagnification',1000)

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

Отобразите изображение при 1 000%-м увеличении, задав метод билинейной интерполяции. Изображение кажется более сглаженным.

imshow(corn_detail,'InitialMagnification',1000,'Interpolation',"bilinear")

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

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

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)

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

свернуть все

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

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

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

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

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

Введите бинарное изображение в виде матрицы.

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

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

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

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

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

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

Пример: 'peppers.png'

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

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

Пример: [50 250]

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

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

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

Аргументы name-value

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

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

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

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

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

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

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

Типы данных: 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' параметр.

Пример: 'DisplayRange',[10 250]

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

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

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

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

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

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

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

Пример: 'InitialMagnification',80

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

Метод интерполяции в виде 'nearest' или 'bilinear'. MATLAB использует интерполяцию, чтобы отобразить масштабированную версию изображения на вашем экране. Значение, которое вы выбираете, не влияет на данные изображения. Выберите метод интерполяции на основе своего содержимого изображения и эффекта, которого вы хотите достигнуть:

  • 'nearest' Интерполяция по ближайшему соседу. Значение пикселя, расположенного в (x, y), является значением пикселя, который является самым близким к (x, y) в оригинальном изображении. Этот метод является лучшим, когда существует небольшое количество пиксельных значений, которые представляют отличные категории, или, когда это необходимо, видеть, что отдельные пиксели в высоко увеличили масштаб представление.

  • 'bilinear' — Билинейная интерполяция. Значение пикселя, расположенного в (x, y), является взвешенным средним окружающих пикселей в оригинальном изображении. Минимизировать артефакты отображения, imshow функция выполняет сглаживание, когда вы уменьшаете изображение. Этот метод является лучшим почти во всех других ситуациях.

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

Индикатор для подвыборки отображает в виде разделенной запятой пары, состоящей из 'Reduce' и любой trueложь, 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 с tiledlayout и nexttile функции.

  • Можно создать оси сверху осей, созданных imshow при помощи hold on команда после вызова imshow.

  • Можно использовать приложение Image Viewer в качестве интегрированной среды для отображения изображений и выполнения общих задач обработки изображений.

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

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

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

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