Если вы нуждаетесь в помощи, определяя, с каким изображением вы работаете, смотрите Типы изображения в Тулбоксе.
Отобразить индексируемое изображение с помощью любого 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
отображает изображение с помощью комбинации цветного приближения и размывания. Смотрите цвета отображения для получения дополнительной информации.
Если вы отображаете цветное изображение, и это появляется в черно-белых тонах, проверяйте, является ли изображение индексируемым изображением. С индексируемыми изображениями необходимо задать карту цветов, сопоставленную с изображением. Для получения дополнительной информации смотрите Отображение Индексируемые Изображения.