exponenta event banner

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, SVS и 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 это маска И (непрозрачность).

Примеры

свернуть все

Прочтите образец изображения.

A = imread('ngc6543a.jpg');

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

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

image(A)

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

Прочтите первое изображение в образце файла индексированного изображения, corn.tif.

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

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

imshow(X,cmap)

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

Преобразование индексированного изображения в изображение 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 пуст.

Считывание определенной области пикселов образца изображения, 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
Амазонский S3™s3
Хранилище больших двоичных объектов Windows Azure ®wasb, 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 2000

свернуть все

Подизображение для чтения, указанное как пара, разделенная запятыми, состоящая из '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 раза. Уровень снижения ограничен общим количеством уровней разложения, как указано в'WaveletDecompositionLevels' поле в выходных данных imfinfo функция.

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

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

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

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

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

Файлы 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] для изображений truecolor (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.

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

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

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

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

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

Подробнее

свернуть все

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

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

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

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

Поддерживаемые битовые глубиныБез сжатияСжатие 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, возможно, потребуется масштабировать изображение. Вы можете использовать imresize для этой операции.

GIF - формат обмена графикой

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

Поддерживаемые битовые глубиныБез сжатияСжатиеКласс вывода
1 битlogical
От 2 бит до 8 битuint8

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

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

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

ICO - файл значка

JPEG - Совместная группа экспертов по фотографии

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

Поддерживаемые биты на образецСжатие с потерямиСжатие без потерьКласс выводаПримечания
8 битuint8Градации серого или RGB
12 битuint16Градации серого или RGB
16 битuint16Оттенки серого

JPEG 2000 - Совместная группа фотографических экспертов 2000

Сведения о файлах JPEG см. в разделе JPEG.

Примечание

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

Поддерживаемые биты на образец

Сжатие с потерямиСжатие без потерьКласс выводаПримечания
1 битlogicalТолько градации серого
От 2 бит до 8 битuint8 или int8Оттенки серого
или RGB
От 9 бит до 16 битuint16 или int16Оттенки серого
или RGB

PBM - портативное растровое изображение

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

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

PCX - кисть Windows

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

Поддерживаемые битовые глубиныКласс выводаПримечания
1 битlogicalТолько градации серого
8 битuint8Градации серого или индексированные
24 битuint8RGB
Три 8-битовые выборки/пиксель

PGM - портативная карта серого цвета

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

Поддерживаемые битовые глубиныНеобработанный двоичный файл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 - Portable Pixmap

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

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

РАН - Солнечный растр

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

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

Aperio SVS - виртуальный слайд Aperio ScanScope

Формат файла изображения на основе TIFF. imread поддерживает чтение несжатых и сжатых изображений, включая изображения с JPEG2000 сжатием. Дополнительные сведения см. в разделе Формат файла изображения с тегами TIFF.

TIFF - формат файла изображения с тегами

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

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

  • Группы CCITT 3 и 4 ФАКС, пакеты, JPEG, LZW, дефлят, сжатие ThunderScan и несжатые изображения

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

  • Цветовые пространства RGB, CMYK, CIELAB, ICCLAB. Если цветное изображение использует цветовое пространство CMYK, A является mоколо-nмассив -by-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