imread

Считайте изображение из графического файла

Описание

пример

A = imread(filename) читает изображение из файла, заданного filename, выведение формата файла от его содержимого. Если filename мультифайл изображения, затем imread читает первое изображение в файле.

A = imread(filename,fmt) дополнительно задает формат файла со стандартным расширением файла, обозначенным fmt. Если imread не может найти файл с именем заданным filename, это ищет файл с именем filename.fmt.

A = imread(___,idx) читает заданное изображение или изображения от мультифайла изображения. Этот синтаксис применяется только к GIF, PGM, PBM, PPM, CUR, ICO, TIF и файлам HDF4. Необходимо задать filename введите, и можно опционально задать fmt.

пример

A = imread(___,Name,Value) задает параметры формата с помощью одного или нескольких аргументов пары "имя-значение", в дополнение к любому из входных параметров в предыдущих синтаксисах.

пример

[A,map] = imread(___) читает индексируемое изображение в filename в A и читает его связанную палитру в map. Значения палитры в файле изображения автоматически повторно масштабируются в область значений [0,1].

пример

[A,map,transparency] = imread(___) дополнительно возвращает прозрачность изображения. Этот синтаксис применяется только к PNG, CUR и файлам ICO. Для файлов PNG, transparency альфа-канал, если вы присутствуете. Для CUR и файлов ICO, это - AND (непрозрачность) маска.

Примеры

свернуть все

Считайте демонстрационное изображение.

A = imread('ngc6543a.jpg');

imread возвращает 650 600 3 массивами, A.

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

image(A)

Читайте первое изображение в выборке индексировало файл изображения, corn.tif.

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

Индексируемое изображение X 415 312 массив типа uint8. Палитра cmap 256 3 матрица типа double, поэтому существуют 256, раскрашивает индексируемое изображение. Отобразите изображение.

imshow(X,cmap)

Преобразуйте индексируемое изображение в изображение RGB. Результатом являются 415 312 3 массивами типа double.

RGB = ind2rgb(X,cmap);

Проверяйте, что значения изображения RGB находятся в области значений [0, 1].

disp(['Range of RGB image is [',num2str(min(RGB(:))),', ',num2str(max(RGB(:))),'].'])
Range of RGB image is [0.0078431, 0.97647].

Считайте третье изображение в файле примера, corn.tif.

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

Возвратите альфа-канал демонстрационного изображения, peppers.png.

[X,map,alpha] = imread('peppers.png');
whos alpha
  Name       Size            Bytes  Class     Attributes

  alpha      0x0                 0  double              

Никакой альфа-канал не присутствует, таким образом, alpha isempty.

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

Задайте 'PixelRegion' параметр с массивом ячеек векторов, указывающих на контуры области, чтобы читать. Первый вектор указывает диапазон строк, чтобы читать, и второй вектор указывает диапазон столбцов, чтобы читать.

A = imread('corn.tif','PixelRegion',{[1,2],[2,5]});

imread читает данные изображения в строках 1-2 и столбцах 2-5 от corn.tif и возвращается 2 4 массив, A.

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

свернуть все

Имя графического файла, заданного как вектор символов или скаляр строки.

В зависимости от местоположения вашего файла, filename может взять одну из следующих форм.

Местоположение

Форма

Текущая папка или папка на пути MATLAB®

Задайте имя файла в filename.

Пример: 'myImage.jpg'

Файл в папке

Если файл не находится в текущей папке или в папке на пути MATLAB, то задайте полное имя или относительный путь.

Пример: 'C:\myFolder\myImage.ext'

Пример: '\imgDir\myImage.ext'

URL

Если файл расположен Интернетом URL, то filename должен содержать тип протокола такой как, http://.

Пример: 'http://hostname/path_to_file/my_image.jpg'

Удаленное местоположение

Если файл хранится в удаленном местоположении, то filename должен содержать полный путь файла, заданного как универсальный локатор ресурса (URL) формы:

scheme_name://path_to_file/my_file.ext

На основе вашего удаленного местоположения, scheme_name может быть одно из значений в этой таблице.

Удаленное местоположениеscheme_name
Amazon S3™s3
Устройство хранения данных Windows Azure® Blobwasb, wasbs
HDFS™hdfs

Для получения дополнительной информации смотрите работу с Удаленными данными.

Пример: 's3://bucketname/path_to_file/my_image.jpg'

Для получения информации о битовых глубинах схемы сжатия и цветовые пространства, поддержанные для каждого типа файла, видят Алгоритмы.

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

Формат изображения, заданный как вектор символов или скаляр строки указание на стандартное расширение файла. Вызовите imformats видеть список поддерживаемых форматов и их расширений файла.

Пример: 'png'

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

Отобразите, чтобы читать, заданный как целочисленный скаляр или, для файлов GIF, вектора целых чисел. Например, если idx 3, затем imread возвращает третье изображение в файле. Для файла GIF, если idx 1:5, затем imread возвращает только первые пять систем координат. idx аргумент поддерживается только для GIF мультиизображений, CUR, ICO и файлов HDF4.

При чтении нескольких систем координат из того же файла GIF задайте idx как вектор систем координат или использования 'Frames','all' аргумент пары "имя-значение". Из-за способа, которым структурированы файлы GIF, эти синтаксисы обеспечивают более быструю производительность по сравнению с вызовом imread в цикле.

Для файлов HDF4, idx соответствует ссылочному номеру изображения, чтобы читать. Ссылочные номера не обязательно соответствуют порядку изображений в файле. Можно использовать imfinfo совпадать с порядком изображений ссылочному номеру.

Пример 3

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

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

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

Пример: 'Index',5 читает пятое изображение файла TIFF.

Файлы GIF

свернуть все

Системы координат, чтобы читать, заданный как разделенная запятой пара, состоящая из 'Frames' и положительное целое число, вектор целых чисел или 'all'. Например, если вы задаете значение 3, imread читает третью систему координат в файле. Если вы задаете 'all', затем imread чтения все системы координат и возвращают их в порядке, в котором они появляются в файле.

Пример: 'frames',5

JPEG 2 000 файлов

свернуть все

Подотобразите, чтобы читать, заданный как разделенная запятой пара, состоящая из 'PixelRegion' и массив ячеек формы {rows,cols}. rows введите указывает диапазон строк, чтобы читать. cols введите указывает диапазон столбцов, чтобы читать. Оба rows и cols должны быть двухэлементные векторы, содержащие индексы на основе 1. Например, 'PixelRegion',{[1 2],[3 4]} читает подызображение, ограниченное строками 1 и 2 и столбцами 3 и 4 в данных изображения. Если 'ReductionLevel' значение больше 0, затем rows и cols координаты подызображения.

Пример: 'PixelRegion',{[1 100],[4 500]}

Сокращение разрешения изображения, заданного как разделенная запятой пара, состоящая из 'ReductionLevel' и неотрицательное целое число. Для уровня сокращения L разрешение изображения уменьшается фактором 2^L. Уровень сокращения ограничивается общим количеством уровней разложения, как задано the'WaveletDecompositionLevels' поле в выходе imfinfo функция.

Пример: 'ReductionLevel',5

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

Совместимость с MATLAB 7.9 (R2009b) и ранее, заданный как разделенная запятой пара, состоящая из 'V79Compatible' и любой true или false. Если вы задаете true, затем возвращенное изображение шкалы полутонов или RGB сопоставимо с предыдущими версиями imread (MATLAB 7.9 (R2009b) и ранее).

Пример: 'V79Compatible',true

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

Файлы PNG

свернуть все

Цвет фона, заданный как 'none', целое число или трехэлементный вектор целых чисел. Если BackgroundColor 'none', затем imread не выполняет составления композита. В противном случае, imread прозрачные пиксели смешений с цветом фона.

  • Если входное изображение индексируется, то значение BackgroundColor должно быть целое число в области значений [1,P], где P длина палитры.

  • Если входное изображение является шкалой полутонов, то значение BackgroundColor должно быть целое число в области значений [0,1].

  • Если входное изображение является RGB, то значение BackgroundColor должен быть трехэлементный вектор со значениями в области значений [0,1].

Значение по умолчанию для BackgroundColor зависит от присутствия transparency выходной аргумент и тип изображения:

  • Если вы запрашиваете transparency выходной аргумент, затем значение по умолчанию BackgroundColor 'none'.

  • Если вы не запрашиваете transparency выведите и файл PNG содержит фрагмент цвета фона, затем тот цвет является значением по умолчанию для BackgroundColor.

  • Если вы не запрашиваете transparency выведите и файл не содержит фрагмент цвета фона, затем значение по умолчанию для BackgroundColor 1 для индексируемых изображений, 0 для полутоновых изображений и [0 0 0] для истинного цвета (RGB) изображения.

Файлы TIFF

свернуть все

Отобразите, чтобы читать, заданный как разделенная запятой пара, состоящая из 'Index' и положительное целое число. Например, если значение Index 3, затем imread читает третье изображение в файле.

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

Информация об изображении, заданном как разделенная запятой пара, состоящая из 'Info' и массив структур, возвращенный imfinfo функция. Используйте Info аргумент пары "имя-значение", чтобы помочь imread найдите изображения в файле TIFF мультиизображений более быстро.

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

Контур области, заданный как разделенная запятой пара, состоящая из 'PixelRegion' и массив ячеек формы {rows,cols}. rows введите указывает диапазон строк, чтобы читать. cols введите указывает диапазон столбцов, чтобы читать. rows и cols должны быть или двухэлементные или трехэлементные векторы индексов на основе 1. Двухэлементный вектор задает первые и последние строки или столбцы, чтобы читать. Например, 'PixelRegion',{[1 2],[3 4]} читает область, ограниченную строками 1 и 2 и столбцами 3 и 4 в данных изображения.

Трехэлементный вектор должен быть в форме [start increment stop], где start первая строка или столбец, чтобы читать, increment инкрементное значение и stop последняя строка или столбец, чтобы читать. Этот синтаксис позволяет субдискретизацию изображений. Например, 'PixelRegion',{[1 2 10],[4 3 12]} читает область, ограниченную строками 1 и 10 и столбцами 4 и 12 и демонстрационными данными из каждых 2 пикселей в вертикальном направлении и каждых 3 пикселей в горизонтальном направлении.

Пример: 'PixelRegion',{[1 100],[4 500]}

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

Выходные аргументы

свернуть все

Данные изображения, возвращенные как массив.

  • Если файл содержит полутоновое изображение, то A является m- n массив.

  • Если файл содержит индексируемое изображение, то A является m- n массив значений индекса, соответствующих цвету в том индексе в map.

  • Если файл содержит изображение истинного цвета, то A является m- n- 3 массива.

  • Если файл является файлом TIFF, содержащим цветные изображения, которые используют цветовое пространство CMYK, то A является m- n- 4 массива.

Класс A зависит от формата изображения и битовой глубины данных изображения. Для получения дополнительной информации см. Алгоритмы

Палитра сопоставлена с индексируемыми данными изображения в A, возвращенный как m- 3 матрицы класса double.

Информация о прозрачности, возвращенная как матрица. Для файлов PNG, transparency альфа-канал, если существующий. Если никакой альфа-канал не присутствует, или если вы задаете 'BackgroundColor' аргумент пары "имя-значение", затем transparency isempty. Для CUR и файлов ICO, transparency маска AND. Для файлов курсора эта маска иногда содержит единственные полезные данные.

Больше о

свернуть все

Битовая глубина

Битовая глубина является количеством битов, используемых, чтобы представлять каждый пиксель изображения.

Битовая глубина вычисляется путем умножения битов на выборку с выборками на пиксель. Таким образом формат, который использует 8 битов в каждом компоненте цвета (или выборка) и три выборки на пиксель, имеет немного глубины 24. Иногда объем выборки, сопоставленный с небольшой глубиной, может быть неоднозначным. Например, 48-битная битовая глубина представляет шесть 8-битных выборок, четыре 12-битных выборки или три 16-битных выборки? См. Алгоритмы для получения информации об объеме выборки, чтобы избежать этой неоднозначности.

Алгоритмы

свернуть все

Для большинства форматов файла изображения, imread использование 8 или меньше битов на цветную плоскость, чтобы сохранить пиксели изображения. Эта таблица приводит класс возвращенной матрицы изображений, A, для битовых глубин, используемых форматами файлов.

Битовая глубина в файле

Класс массива возвращен imread

1 бит на пиксель

logical

Плоскость 2 - 8 битов за цвет

uint8

9 - 16 бит на пиксель

uint16 BMP , JPEG, PNG, и TIFF)

Для 16-битного упакованного формата BMP (5-6-5), MATLAB возвращает uint8

Следующие разделы предоставляют информацию о поддержке определенных форматов, перечисленных в алфавитном порядке именем формата.

BMP Windows Bitmap

Эта таблица приводит поддерживаемые битовые глубины и тип данных массива данных выходного изображения.

Поддерживаемые битовые глубиныНикакое сжатиеСжатие RLEВыходной классПримечания
1 битlogical 
4 битаuint8 
8 битовuint8 
16 битовuint81 выборка/пиксель
24 битаuint83 выборки/пиксель
32 битаuint83 выборки/пиксель
(дополнение 1 байта)

CUR - файл курсора

Эта таблица приводит поддерживаемые битовые глубины и тип данных массива данных выходного изображения.

Поддерживаемые битовые глубиныНикакое сжатиеСжатиеВыходной класс
1 битlogical
4 битаuint8
8 битовuint8

Примечание

По умолчанию курсоры Microsoft® Windows® являются 32 32 пикселями. Поскольку указатели MATLAB должны быть 16 16, вы можете должны быть масштабировать свое изображение. Если у вас есть Image Processing Toolbox™, можно использовать imresize функция.

GIF - формат обмена графическими данными

Эта таблица приводит поддерживаемые битовые глубины и тип данных массива данных выходного изображения.

Поддерживаемые битовые глубиныНикакое сжатиеСжатиеВыходной класс
1 битlogical
2 бита к 8 битамuint8

HDF4 Иерархический формат данных

Эта таблица приводит поддерживаемые битовые глубины и тип данных массива данных выходного изображения.

Поддерживаемые битовые глубиныРастровое изображение с палитройРастровое изображение без палитрыВыходной классПримечания
8 битовuint8 
24 битаuint83 выборки/пиксель

ICO Файл значка

JPEG - формат графических данных JPEG

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

Поддерживаемые биты на выборкуСжатие с потерямиLosslessCompression Выходной классПримечания
8 битовuint8Шкала полутонов или RGB
12 битовuint16Шкала полутонов или RGB
16 битовuint16Шкала полутонов

JPEG 2000-форматов графических данных JPEG 2000

Для получения информации о файлах JPEG смотрите JPEG.

Примечание

Индексируемые изображения JPEG 2000 не поддержаны. Только JP2 совместимые цветовые пространства поддерживаются для файлов JP2/JPX. По умолчанию все каналы изображений возвращены в порядке, они хранятся в файле.

Поддерживаемые биты на выборку

Сжатие с потерямиLosslessCompression Выходной классПримечания
1 битlogicalШкала полутонов только
2 бита к 8 битамuint8 или int8Шкала полутонов
или RGB
9 битов к 16 битамuint16 или int16Шкала полутонов
или RGB

PBM Портативный битовый массив

Эта таблица приводит поддерживаемые битовые глубины и тип данных массива данных выходного изображения.

Поддерживаемые битовые глубиныНеобработанный двоичный файлASCII закодированная (плоскость)Выходной класс
1 битlogical

PCX - Windows Paintbrush

Эта таблица приводит поддерживаемые битовые глубины и тип данных массива данных выходного изображения.

Поддерживаемые битовые глубиныВыходной классПримечания
1 битlogicalШкала полутонов только
8 битовuint8Шкала полутонов или индексированный
24 битаuint8Rgb
Три 8-битных выборки/пиксель

PGM Портативный Graymap

Эта таблица приводит поддерживаемые битовые глубины и тип данных массива данных выходного изображения.

Поддерживаемые битовые глубиныНеобработанный двоичный файлASCII закодированная (плоскость)Выходной классПримечания
8 битовuint8 
16 битовuint16 
Произвольный1-битный к 8-битному: uint8
9-битный к 16-битному: uint16
Значения масштабируются

PNG - переносимая сетевая графика

Эта таблица приводит поддерживаемые битовые глубины и тип данных массива данных выходного изображения.

Поддерживаемые битовые глубиныВыходной классПримечания
1 битlogicalШкала полутонов
2 битаuint8Шкала полутонов
4 битаuint8Шкала полутонов
8 битовuint8Шкала полутонов или индексируемый
16 битовuint16Шкала полутонов или индексируемый
24 битаuint8Rgb
Три 8-битных выборки/пиксель.
48 битовuint16Rgb
Три 16-битных выборки/пиксель.

PPM - портативная пиксельная карта

Эта таблица приводит поддерживаемые битовые глубины и тип данных массива данных выходного изображения.

Поддерживаемые битовые глубиныНеобработанный двоичный файлASCII закодированная (плоскость)Выходной класс
До 16 битовuint8
Произвольный 

RAS Растр Sun

Эта таблица приводит поддерживаемые битовые глубины и тип данных массива данных выходного изображения.

Поддерживаемые битовые глубиныВыходной классПримечания
1 битlogicalБитовый массив
8 битовuint8Индексируемый
24 битаuint8Rgb
Три 8-битных выборки/пиксель
32 битаuint8RGB с альфой
Четыре 8-битных выборки/пиксель

TIFF - теговый формат графических файлов

imread чтения большинство изображений, поддержанных спецификацией TIFF или LibTIFF. imread функционируйте поддерживает эти возможности TIFF:

  • Любое количество выборок на пиксель

  • Группа 3 и 4 CCITT FAX, Packbits, JPEG, LZW, Выкачивает, сжатие ThunderScan и несжатые изображения

  • Логический, полутоновый, индексированный цвет, истинный цвет и гиперспектральные изображения

  • RGB, CMYK, CIELAB, цветовые пространства ICCLAB. Если цветное изображение использует цветовое пространство CMYK, A m- n- 4 массива. Чтобы определить, какое цветовое пространство используется, используйте imfinfo получить информацию о графическом файле и посмотреть на значение PhotometricInterpretation поле . Если файл содержит данные о цвете CIELAB, imread преобразует его в ICCLAB прежде, чем принести его в рабочее пространство MATLAB. Это преобразование необходимо, потому что 8-битный или 16-битный TIFF, CIELAB-закодированные значения используют смесь типов данных без знака и со знаком, которые не могут быть представлены как один массив MATLAB.

  • Данные организованы в мозаики или строки развертки

imread чтения и преобразуют изображения TIFF можно следующим образом:

  • Изображения YCbCr преобразованы в цветовое пространство RGB.

  • Все полутоновые изображения читаются как будто черный = 0, белый = самое большое значение.

  • 1-битные изображения возвращены как класс logical.

  • 16-битные изображения с плавающей точкой возвращены как класс single.

  • Изображения CIELab преобразованы в цветовое пространство ICCLab.

Для получения информации об авторском праве откройте libtiffcopyright.txt файл.

XWD Дамп X-окна

Эта таблица приводит поддерживаемые битовые глубины, сжатие и выходные классы для файлов XWD.

Поддерживаемые битовые глубиныZPixmapsXYBitmapsXYPixmapsВыходной класс
1 битlogical
8 битовuint8

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

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

| | | | |

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