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. Матрица палитры может иметь любое количество строк, но это должно иметь точно 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.

Примеры

свернуть все

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

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

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

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

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

imshow(corn_gray)

Figure contains an axes. The axes 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. The axes 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. The axes 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. The axes contains an object of type image.

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

imshow('peppers.png');

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

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

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

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

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

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

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

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

RGB = imread('peppers.png');

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

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

Figure contains an axes. The axes 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. The axes contains an object of type image.

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

imshow(edgeG,[])

Figure contains an axes. The axes 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. The axes contains an object of type image.

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

imshow(corn_detail,'InitialMagnification',1000)

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

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

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

Figure contains an axes. The axes 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

Палитра в виде 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 объект.

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

Задайте дополнительные разделенные запятой пары Name,Value аргументы. 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 матрица со значениями в области значений [0, 1]. 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' параметр.

Пример: 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 отображает изображение при самом большом увеличении, которое помещается в фигуру.

Примечание: Если вы задаете положение осей, 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

Метод интерполяции, используемый при масштабировании изображения в виде разделенной запятой пары, состоящей из 'Interpolation' и одно из этих значений.

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

Метод интерполяции применяется к начальному увеличению и при увеличивании масштаб или из отображенного изображения.

Родительские оси объекта изображения в виде разделенной запятой пары, состоящей из '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 Processing Toolbox™, то можно использовать приложение Image Viewer в качестве интегрированной среды для отображения изображений и выполнения общих задач обработки изображений.

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

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

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

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

| | | | |

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