Чтение изображения из графического файла
указывает параметры формата, использующие один или несколько аргументов пары имя-значение, в дополнение к любому из входных аргументов в предыдущих синтаксисах.A = imread(___,Name,Value)
[ дополнительно возвращает прозрачность изображения. Этот синтаксис применяется только к файлам PNG, CUR и ICO. Для файлов PNG A,map,transparency] = imread(___)transparency - альфа-канал, если он присутствует. Для файлов CUR и ICO это маска И (непрозрачность).
Прочтите образец изображения.
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 пуст.
Считывание определенной области пикселов образца изображения, corn.tif.
Укажите 'PixelRegion' с массивом ячеек векторов, указывающих границы считываемой области. Первый вектор определяет диапазон считываемых строк, а второй вектор - диапазон считываемых столбцов.
A = imread('corn.tif','PixelRegion',{[1,2],[2,5]});
imread считывает данные изображения в строках 1-2 и столбцах 2-5 из corn.tif и возвращает массив 2 на 4, A.
filename - Имя графического файлаИмя графического файла, заданного как вектор символа или скаляр строки.
В зависимости от расположения файла, filename может принять одну из этих форм.
Местоположение | Форма | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| Текущая папка или папка на пути MATLAB ® | Укажите имя файла в Пример:
| ||||||||
Файл в папке | Если файл находится не в текущей папке или в папке на пути MATLAB, укажите полный или относительный путь. Пример:
Пример:
| ||||||||
| URL | Если файл расположен по URL-адресу в Интернете, то Пример:
| ||||||||
Удаленное расположение | Если файл хранится в удаленном местоположении, то
На основе удаленного местоположения,
Дополнительные сведения см. в разделе Работа с удаленными данными. Пример:
|
Сведения о битовых глубинах, схемах сжатия и цветовых пространствах, поддерживаемых для каждого типа файлов, см. в разделе Алгоритмы.
Типы данных: char | string
fmt - Формат изображенияФормат изображения, заданный как вектор символа или скаляр строки, указывающий стандартное расширение файла. Звонить imformats Чтобы увидеть список поддерживаемых форматов и расширений их файлов.
Пример: 'png'
Типы данных: char | string
idx - Изображение для чтенияИзображение для чтения, указанное как целочисленный скаляр или вектор целых чисел для 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.'Frames' - Рамка для чтения'all'Кадры для чтения, указанные как разделенная запятыми пара, состоящая из 'Frames' и положительное целое число, вектор целых чисел, или 'all'. Например, если задано значение 3, imread считывает третий кадр в файле. При указании 'all', то imread считывает все кадры и возвращает их в том порядке, в котором они отображаются в файле.
Пример: 'frames',5
'PixelRegion' - Подизображение для чтения{rows,cols}Подизображение для чтения, указанное как пара, разделенная запятыми, состоящая из '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' - Уменьшение разрешения изображенияУменьшение разрешения изображения, определяемого как разделенная запятыми пара, состоящая из 'ReductionLevel' и неотрицательное целое число. Для уровня уменьшения L разрешение изображения уменьшается в 2 раза. Уровень снижения ограничен общим количеством уровней разложения, как указано в'WaveletDecompositionLevels' поле в выходных данных imfinfo функция.
Пример: 'ReductionLevel',5
Типы данных: single | double
'V79Compatible' - Совместимость с MATLAB 7.9 (R2009b) и более раннимиfalse (по умолчанию) | trueСовместимость с MATLAB 7.9 (R2009b) и более ранними, указанная как разделенная запятыми пара, состоящая из 'V79Compatible' и либо true или false. При указании true, то возвращенное изображение в градациях серого или RGB согласуется с предыдущими версиями imread (MATLAB 7.9 (R2009b) и более ранние версии).
Пример: 'V79Compatible',true
Типы данных: logical
'BackgroundColor' - Цвет фона'none' | целое | 3-элементный вектор целых чиселЦвет фона, указанный как '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).
'Index' - Изображение для чтенияИзображение для чтения, указанное как пара, разделенная запятыми, состоящая из 'Index' и положительное целое число. Например, если значение Index равно 3, то imread считывает третье изображение в файле.
Типы данных: single | double
'Info' - Информация об изображенииИнформация об изображении, указанном как разделенная запятыми пара, состоящая из 'Info' и массив структуры, возвращаемый imfinfo функция. Используйте Info аргумент пары имя-значение для справки imread быстрее найти изображения в многообразном TIFF-файле.
Типы данных: struct
'PixelRegion' - Граница областиГраница области, заданная как разделенная запятыми пара, состоящая из '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 - Данные изображенияДанные изображения, возвращенные в виде массива.
Если файл содержит изображение в градациях серого, то A является mоколо-n массив.
Если файл содержит индексированное изображение, то A является mоколо-n массив значений индекса, соответствующих цвету при этом индексе в map.
Если файл содержит изображение truecolor, то A является mоколо-nмассив -by-3.
Если файл представляет собой файл TIFF, содержащий цветные изображения, использующие цветовое пространство CMYK, то A является mоколо-nмассив -by-4.
Класс A зависит от формата изображения и битовой глубины данных изображения. Дополнительные сведения см. в разделе Алгоритмы
map - Цветовая картаm-по-3 матрицаКарта цветов, связанная с данными индексированного изображения в A, возвращено как m-на-3 матрица класса double.
transparency - Информация о прозрачностиИнформация о прозрачности, возвращаемая в виде матрицы. Для файлов PNG transparency - альфа-канал, если он имеется. Если альфа-канал отсутствует, или если указан 'BackgroundColor' аргумент пары имя-значение, затем transparency пуст. Для файлов CUR и ICO transparency - маска И. Для файлов курсора эта маска иногда содержит только полезные данные.
Битовая глубина - это количество битов, используемых для представления каждого пикселя изображения.
Битовая глубина вычисляется путем умножения битов на выборку на выборки на пиксель. Таким образом, формат, который использует 8 битов для каждого цветового компонента (или выборки) и три выборки на пиксель, имеет битовую глубину 24. Иногда размер выборки, связанный с битовой глубиной, может быть неоднозначным. Например, представляет ли 48-битовая глубина шесть 8-битовых выборок, четыре 12-битовые выборки или три 16-битовые выборки? Сведения о размере выборки во избежание неоднозначности см. в разделе Алгоритмы.
Для большинства форматов файлов изображений: imread использует 8 или менее битов на цветовую плоскость для хранения пикселей изображения. В этой таблице указан класс возвращенного массива образов. A, для битовых глубин, используемых форматами файлов.
Битовая глубина в файле | Класс массива, возвращенный |
|---|---|
1 бит на пиксель |
|
От 2 до 8 бит на цветовую плоскость |
|
От 9 до 16 бит на пиксель |
Для 16-битного формата BMP (5-6-5) MATLAB возвращает |
В следующих разделах представлена информация о поддержке определенных форматов, перечисленных в алфавитном порядке по наименованию формата.
В этой таблице перечислены поддерживаемые битовые глубины и тип данных массива данных выходного изображения.
| Поддерживаемые битовые глубины | Без сжатия | Сжатие RLE | Класс вывода | Примечания |
|---|---|---|---|---|
| 1 бит | ✓ | – | logical | |
| 4 бита | ✓ | ✓ | uint8 | |
| 8 бит | ✓ | ✓ | uint8 | |
| 16 бит | ✓ | – | uint8 | 1 образец/пиксель |
| 24 бит | ✓ | – | uint8 | 3 выборки/пиксель |
| 32 бит | ✓ | – | uint8 | 3 выборки/пиксель (заполнение 1 байта) |
В этой таблице перечислены поддерживаемые битовые глубины и тип данных массива данных выходного изображения.
| Поддерживаемые битовые глубины | Без сжатия | Сжатие | Класс вывода |
|---|---|---|---|
| 1 бит | ✓ | – | logical |
| 4 бита | ✓ | – | uint8 |
| 8 бит | ✓ | – | uint8 |
Примечание
По умолчанию курсоры Microsoft ® Windows ® имеют размер 32 на 32 пикселя. Поскольку указатели MATLAB должны быть 16 на 16, возможно, потребуется масштабировать изображение. Вы можете использовать imresize для этой операции.
В этой таблице перечислены поддерживаемые битовые глубины и тип данных массива данных выходного изображения.
| Поддерживаемые битовые глубины | Без сжатия | Сжатие | Класс вывода |
|---|---|---|---|
| 1 бит | ✓ | – | logical |
| От 2 бит до 8 бит | ✓ | – | uint8 |
В этой таблице перечислены поддерживаемые битовые глубины и тип данных массива данных выходного изображения.
| Поддерживаемые битовые глубины | Растровое изображение с картой цветов | Растровое изображение без карты цветов | Класс вывода | Примечания |
|---|---|---|---|---|
| 8 бит | ✓ | ✓ | uint8 | |
| 24 бит | – | ✓ | uint8 | 3 выборки/пиксель |
imread считывает любое базовое изображение JPEG, а также изображения JPEG с некоторыми часто используемыми расширениями. Сведения о поддержке файлов JPEG 2000 см. в разделе JPEG 2000.
| Поддерживаемые биты на образец | Сжатие с потерями | Сжатие без потерь | Класс вывода | Примечания |
|---|---|---|---|---|
| 8 бит | ✓ | ✓ | uint8 | Градации серого или RGB |
| 12 бит | ✓ | ✓ | uint16 | Градации серого или RGB |
| 16 бит | – | ✓ | uint16 | Оттенки серого |
Сведения о файлах JPEG см. в разделе JPEG.
Примечание
Индексированные изображения JPEG 2000 не поддерживаются. Для JP2 файлов поддерживаются только JP2/JPX совместимые цветовые пространства. По умолчанию все каналы изображения возвращаются в том порядке, в котором они хранятся в файле.
Поддерживаемые биты на образец | Сжатие с потерями | Сжатие без потерь | Класс вывода | Примечания |
|---|---|---|---|---|
| 1 бит | ✓ | ✓ | logical | Только градации серого |
| От 2 бит до 8 бит | ✓ | ✓ | uint8 или int8 | Оттенки серого или RGB |
| От 9 бит до 16 бит | ✓ | ✓ | uint16 или int16 | Оттенки серого или RGB |
В этой таблице перечислены поддерживаемые битовые глубины и тип данных массива данных выходного изображения.
| Поддерживаемые битовые глубины | Необработанный двоичный файл | ASCII (обычный) в кодировке | Класс вывода |
|---|---|---|---|
| 1 бит | ✓ | ✓ | logical |
В этой таблице перечислены поддерживаемые битовые глубины и тип данных массива данных выходного изображения.
| Поддерживаемые битовые глубины | Класс вывода | Примечания |
|---|---|---|
| 1 бит | logical | Только градации серого |
| 8 бит | uint8 | Градации серого или индексированные |
| 24 бит | uint8 | RGB Три 8-битовые выборки/пиксель |
В этой таблице перечислены поддерживаемые битовые глубины и тип данных массива данных выходного изображения.
| Поддерживаемые битовые глубины | Необработанный двоичный файл | ASCII (обычный) в кодировке | Класс вывода | Примечания |
|---|---|---|---|---|
| 8 бит | ✓ | – | uint8 | |
| 16 бит | ✓ | – | uint16 | |
| Произвольный | – | ✓ | от 1 бита до 8 битов: uint8От 9 бит до 16 бит: uint16 | Значения масштабируются |
В этой таблице перечислены поддерживаемые битовые глубины и тип данных массива данных выходного изображения.
| Поддерживаемые битовые глубины | Класс вывода | Примечания |
|---|---|---|
| 1 бит | logical | Оттенки серого |
| 2 бита | uint8 | Оттенки серого |
| 4 бита | uint8 | Оттенки серого |
| 8 бит | uint8 | Градации серого или индексированные |
| 16 бит | uint16 | Градации серого или индексированные |
| 24 бит | uint8 | RGB Три 8-битовые выборки/пиксель. |
| 48 бит | uint16 | RGB Три 16-битовые выборки/пиксель. |
В этой таблице перечислены поддерживаемые битовые глубины и тип данных массива данных выходного изображения.
| Поддерживаемые битовые глубины | Необработанный двоичный файл | ASCII (обычный) в кодировке | Класс вывода |
|---|---|---|---|
| До 16 бит | ✓ | – | uint8 |
| Произвольный | – | ✓ |
В этой таблице перечислены поддерживаемые битовые глубины и тип данных массива данных выходного изображения.
| Поддерживаемые битовые глубины | Класс вывода | Примечания |
|---|---|---|
| 1 бит | logical | Битовый массив |
| 8 бит | uint8 | Индексируемый |
| 24 бит | uint8 | RGB Три 8-битовые выборки/пиксель |
| 32 бит | uint8 | RGB с Alpha Четыре 8-битных выборки/пиксель |
Формат файла изображения на основе TIFF. imread поддерживает чтение несжатых и сжатых изображений, включая изображения с JPEG2000 сжатием. Дополнительные сведения см. в разделе Формат файла изображения с тегами 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.
| Поддерживаемые битовые глубины | ZPixmaps | XYBitmaps | XYPixmaps | Класс вывода |
|---|---|---|---|---|
| 1 бит | ✓ | – | ✓ | logical |
| 8 бит | ✓ | – | – | uint8 |
Примечания и ограничения по использованию:
Поддерживает только чтение 8-разрядных изображений JPEG. Входной аргумент filename должен быть допустимым абсолютным или относительным путем.
Эта функция генерирует код, использующий предварительно скомпилированную общую библиотеку для конкретной платформы (панель инструментов обработки изображений).
Примечания и ограничения по использованию:
Поддерживает только чтение 8-разрядных изображений JPEG. Входной аргумент filename должен быть допустимым абсолютным или относительным путем.
Эта функция генерирует код, использующий предварительно скомпилированную общую библиотеку для конкретной платформы (панель инструментов обработки изображений).
fread | image | imfinfo | imformats | imwrite | ind2rgb | tiffreadVolume (Панель инструментов обработки изображений)
Имеется измененная версия этого примера. Открыть этот пример с помощью изменений?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.