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

Обзор

К данным об изображении на дисплее используйте функцию imshow. Следующий пример читает изображение в рабочую область MATLAB® и затем отображает изображение в окне фигуры MATLAB.

moon = imread('moon.tif');
imshow(moon);

Функция imshow отображает изображение в окне фигуры MATLAB, как показано в следующей фигуре.

Можно также передать imshow имя файла, содержащего изображение.

imshow('moon.tif');

Этот синтаксис может быть полезен для сканирования через изображения. Обратите внимание, однако, что, когда вы используете этот синтаксис, imread не хранит данные изображения в рабочем пространстве MATLAB. Если вы хотите принести изображение в рабочую область, необходимо использовать функцию getimage, которая получает данные изображения из объекта текущего изображения. Этот пример присваивает данные изображения от moon.tif до переменной moon, если окно рисунка, в котором это отображено, в настоящее время активно.

moon = getimage;

Для получения дополнительной информации об использовании imshow, чтобы отобразить различные типы изображения, поддержанные тулбоксом, смотрите Отображение Различные Типы изображения.

Определение начального увеличения изображений

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

Чтобы заменить начальное поведение увеличения по умолчанию для конкретного вызова imshow, задайте параметр InitialMagnification. Например, чтобы просмотреть изображение при 150%-м увеличении, используйте этот код.

pout = imread('pout.tif');
imshow(pout, 'InitialMagnification', 150)

imshow пытается соблюдать увеличение, которое вы задаете. Однако, если изображение не соответствует на экране при заданном увеличении, imshow масштабирует изображение, чтобы соответствовать. Можно также задать 'fit' как начальное значение увеличения. В этом случае imshow масштабирует изображение, чтобы соответствовать текущему размеру окна рисунка.

Чтобы изменить начальное поведение увеличения по умолчанию imshow, установите настройку тулбокса ImshowInitialMagnification. Чтобы установить настройку, откройте диалоговое окно Image Processing Toolbox™ Preferences путем вызова iptprefs или путем выбора Preferences из меню файла на рабочем столе MATLAB.

Когда imshow масштабирует изображение, он использует интерполяцию, чтобы определить значения для экранных пикселей, которые непосредственно не соответствуют элементам в матрице изображений. Для получения дополнительной информации об определении методов интерполяции, смотрите, Изменяют размер Изображения с Функцией imresize.

Управление внешним видом фигуры

По умолчанию, когда imshow отображает изображение в фигуре, он окружает изображение серой границей. Можно изменить это значение по умолчанию и подавить границу с помощью параметра 'border', как показано в следующем примере.

imshow('moon.tif','Border','tight')

Следующие данные показывают то же изображение, отображенное с и без границы.

Параметры 'border' влияют только на изображение, отображаемое в вызове imshow. Если вы хотите все изображения, что вы отображаете использование imshow, чтобы появиться без серой границы, установить настройку 'ImshowBorder' Image Processing Toolbox на 'tight'. Можно также использовать настройки, чтобы включать видимые оси в фигуру. Для получения дополнительной информации о настройках, смотрите iptprefs.

Похожие темы