Отобразите различные типы изображения

Если вы нуждаетесь в помощи, определяя, с каким изображением вы работаете, смотрите Типы изображения в Тулбоксе.

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

Отобразить индексируемое изображение с помощью любого imshow или imtool, задайте и матрицу изображений и карту цветов. Эта документация использует имя переменной X представлять индексируемое изображение в рабочей области и map представлять карту цветов.

imshow(X,map)

или

imtool(X,map)

Для каждого пикселя в X, эти функции отображают цвет, сохраненный в соответствующей строке map. Если данные о матрице изображений имеют класс double, значение 1 точка к первой строке в карте цветов, значение 2 точки к второй строке, и так далее. Однако, если данные о матрице изображений имеют класс uint8 или uint16, значение 0 (нулей) указывает на первую строку в карте цветов, значение 1 точка к второй строке, и так далее. Это смещение обработано автоматически imtool и imshow функции.

Если карта цветов содержит большее количество цветов, чем изображение, функции игнорируют дополнительные цвета в карте цветов. Если карта цветов содержит меньше цветов, чем изображение требует, функции устанавливают все пиксели изображения по пределам способности карты цветов к последнему цвету в карте цветов. Например, если изображение класса uint8 содержит 256 цветов, и вы отображаете его с картой цветов, которая содержит только 16 цветов, все пиксели со значением 15 или выше отображена с последним цветом в карте цветов.

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

Чтобы отобразить полутоновое изображение, вызовите imshow функционируйте или откройте приложение Image Viewer. Эта документация использует имя переменной I представлять полутоновое изображение в рабочей области.

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

Если I double, пиксельное значение 0,0 отображено столь же черное, пиксельное значение 1,0 отображено, столь же белые, и промежуточные пиксельные значения отображены как оттенки серого. Если I uint8, затем пиксельное значение 255 отображено как белое. Если я - uint16, затем пиксельное значение 65 535 отображено как белое.

Полутоновые изображения похожи на индексируемые изображения, в которых каждый использует m-by-3 карта цветов RGB, но вы обычно не задаете карту цветов для полутонового изображения. MATLAB® отображает полутоновые изображения при помощи полутоновой системной карты цветов (где R=G=B). По умолчанию количество уровней серого цвета в карте цветов 256 в системах с 24-битным цветом, и 64 или 32 в других системах. (См. цвета отображения для подробного объяснения.)

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

В некоторых случаях данные изображения, которые вы хотите отобразить как полутоновое изображение, могли иметь область значений отображения, которая находится вне обычной области значений тулбокса (т.е. [0,1] для single или double массивы, [0,255] для uint8 массивы, [0,65535] для uint16 массивы, или [-32767,32768] для int16 массивы). Например, если вы фильтруете полутоновое изображение, некоторые выходные данные могли бы выйти за пределы области значений исходных данных.

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

imshow(I,'DisplayRange',[low high])

или

imtool(I,'DisplayRange',[low high])

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

Следующий пример фильтрует полутоновое изображение, создавая нетрадиционные данные об области значений. Пример вызывает imtool отобразить изображение в Image Viewer, с помощью опции автоматического масштабирования. Если вы выполняете этот пример, отметьте диапазон отображения, указанный в правом нижнем углу окна Image Viewer.

I = imread('testpat1.png');
J = filter2([1 2;-1 -2],I);
imtool(J,'DisplayRange',[]);

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

В MATLAB двухуровневое изображение имеет класс logical. Двухуровневые изображения содержат только 0 и 1's. Пиксели со значением 0 отображены как черные; пиксели со значением 1 отображены как белые.

Примечание

Для тулбокса, чтобы интерпретировать изображение как двоичный файл, это должен иметь класс logical. Полутоновые изображения, которые, оказывается, содержат только 0 и 1's, не являются двухуровневыми изображениями.

Чтобы отобразить двухуровневое изображение, вызовите imshow функционируйте или откройте приложение Image Viewer. Например, этот код читает двухуровневое изображение в рабочее пространство MATLAB и затем отображает изображение. Эта документация использует имя переменной BW представлять двухуровневое изображение в рабочей области

BW = imread('circles.png');
imshow(BW)

Измените цвета отображения двухуровневого изображения

Вы можете предпочесть инвертировать двухуровневые изображения, когда вы отображаете их, так, чтобы 0 значений были отображены столь же белые, и 1 значение отображено как черное. Для этого используйте НЕ (~) оператор в MATLAB. (В этом рисунке поле чертится вокруг изображения, чтобы показать границу изображения.), Например:

imshow(~BW)

Можно также отобразить двухуровневое изображение с помощью индексируемого синтаксиса карты цвета изображения. Например, следующая команда задает карту цветов 2D строки, которая отображает 0, столь же красный и 1's как синий.

imshow(BW,[1 0 0; 0 0 1])

Отобразите изображения истинного цвета

Изображения истинного цвета, также названные изображениями RGB, представляют значения цвета непосредственно, а не через карту цветов. Изображением истинного цвета является m-by-n-by-3 массив. Для каждого пикселя (r,c) в изображении цвет представлен триплетом (r,c,1:3).

Чтобы отобразить изображение истинного цвета, вызовите imshow функционируйте или откройте приложение Image Viewer. Например, этот код читает изображение истинного цвета в рабочее пространство MATLAB и затем отображает изображение. Эта документация использует имя переменной RGB представлять изображение истинного цвета в рабочей области

RGB = imread('peppers.png');
imshow(RGB)

Системы, которые используют пиксель 24 битов за экран, могут отобразить изображения истинного цвета непосредственно, потому что они выделяют 8 битов (256 уровней) каждый к красным, зеленым, и синим цветным плоскостям. В системах с меньшим количеством цветов, imshow отображает изображение с помощью комбинации цветного приближения и размывания. Смотрите цвета отображения для получения дополнительной информации.

Примечание

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