imread

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

Синтаксис

A = imread(filename)
A = imread(filename,fmt)
A = imread(___,idx)
A = imread(___,Name,Value)
[A,map] = imread(___)
[A,map,transparency] = imread(___)

Описание

пример

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

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

A = imread(___,idx) читает заданное изображение или изображения от мультифайла изображения. Этот синтаксис применяется только к GIF, 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)

Считайте изображение и преобразуйте его в изображение RGB.

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

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

X 415 312 массив типа uint8.

Проверьте, что палитра, map, не пуста, и преобразуйте данные в X к RGB.

if ~isempty(map)
    Im = ind2rgb(X,map);
end

Просмотрите размер и класс X.

whos Im
  Name        Size                 Bytes  Class     Attributes

  Im        415x312x3            3107520  double              

X является теперь 415 312 3 массивами типа double.

Считайте третье изображение в файле примера, 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'

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

(Amazon S3™, устройство хранения данных Windows Azure® Blob и HDFS™)

Если файл хранится в удаленном местоположении, то filename должен содержать полный путь файла, заданного как интернационализировавший идентификатор ресурса (IRI) формы:
hdfs:///path_to_file.

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

Пример: '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) — соответствующее значение. Имя должно появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

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

Файлы GIF

свернуть все

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

Пример: 'кадры', 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', верный

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

Файлы 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]}

Типы данных: ячейка

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

свернуть все

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

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

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

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

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

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

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

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

Больше о

свернуть все

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

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

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

Алгоритмы

свернуть все

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

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

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

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

логический

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

uint8

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

uint16 (BMP, JPEG, PNG и TIFF)

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

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

BMP Windows Bitmap

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

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

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

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

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

Примечание

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

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

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

Поддерживаемые битовые глубиныНикакое сжатиеСжатиеВыходной класс
1 битлогический
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 битлогическийШкала полутонов только
2 бита к 8 битамuint8 или int8Шкала полутонов
или RGB
9 битов к 16 битамuint16 или int16Шкала полутонов
или RGB

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

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

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

PCX - Windows Paintbrush

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

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

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

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

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

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

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

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

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

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

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

RAS Растр Sun

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

Поддерживаемые битовые глубиныВыходной классПримечания
1 битлогическийБитовый массив
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-by-n-by-4 массив. Чтобы определить, какое цветовое пространство используется, используйте imfinfo, чтобы получить информацию о графическом файле и посмотреть на значение поля PhotometricInterpretation. Если файл содержит данные цвета CIELAB, imread преобразовывает его в ICCLAB прежде, чем принести его в MATLAB workspace. Это преобразование необходимо, потому что 8-битный или 16-битный TIFF, CIELAB-закодированные значения используют смесь типов данных без знака и со знаком, которые не могут быть представлены как единственный массив MATLAB.

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

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

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

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

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

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

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

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

XWD Дамп X-окна

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

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

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

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

Была ли эта тема полезной?