Чтение изображения из графического файла
задает опции для конкретного формата, используя один или несколько аргументы пары "имя-значение", в дополнение к любому из входных параметров в предыдущих синтаксисах.A
= imread(___,Name,Value
)
[
дополнительно возвращает прозрачность изображения. Этот синтаксис применяется только к файлам PNG, CUR и ICO. Для файлов PNG, A
,map
,transparency
]
= imread(___)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
пуст.
Считайте определенную область пикселей выборочного изображения, 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® путь | Укажите имя файла в Пример:
'myImage.jpg' | ||||||||
Файл в папке | Если файл находится не в текущей папке или в папке на пути MATLAB, задайте полное или относительное имя пути. Пример:
'C:\myFolder\myImage.ext' Пример:
'\imgDir\myImage.ext' | ||||||||
URL | Если файл находится по URL-адресу Интернета, то Пример:
'http://hostname/path_to_file/my_image.jpg' | ||||||||
Удаленное местоположение | Если файл хранится в удаленном местоположении, то
Исходя из удаленного местоположения,
Для получения дополнительной информации см. раздел Работа с удаленными данными. Пример:
's3://bucketname/path_to_file/my_image.jpg' |
Для получения информации о битовых глубинах, схемах сжатия и цветовых пространствах, поддерживаемых для каждого типа файла, смотрите Алгоритмы.
Типы данных: char
| string
fmt
- Формат изображенияФормат изображения, заданный как вектор символов или строковый скаляр, указывающий на стандартное расширение файла. Функции imformats
для просмотра списка поддерживаемых форматов и расширений их файлов.
Пример: 'png'
Типы данных: char
| string
idx
- Изображение для чтенияИзображение для чтения, заданное как целочисленный скаляр или, для GIF файлов, вектор из целых чисел. Для примера, если idx
равно 3, тогда imread
возвращает третье изображение в файле. Для GIF файла, если idx
является 1:5
, затем imread
возвращает только первые пять систем координат. The 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}
. The rows
вход задает область значений считываемых строк. The 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 ^ L. Уровень сокращения ограничивается общим количеством уровней разложения, заданным '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}
. The rows
вход задает область значений считываемых строк. The 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
-by- n
массив.
Если файл содержит индексированное изображение, то A является m
-by- n
массив значений индекса, соответствующих цвету при этом индексе в map
.
Если файл содержит изображение truecolor, то A является m
-by- n
массив -by-3.
Если файл является файлом TIFF, содержащим цветовые изображения, которые используют цветовое пространство CMYK, то A является m-by-
n
массив -by-4.
Класс A
зависит от формата изображения и битовой глубины данных изображения. Для получения дополнительной информации см. Алгоритмы
map
- Палитраm
-by-3 матрицаПалитра, связанная с индексированными данными изображения в A
, возвращается как m
-by-3 матрица double
классов.
transparency
- Информация о прозрачностиИнформация о прозрачности, возвращенная как матрица. Для файлов PNG, transparency
- альфа-канал, если он присутствует. Если альфа-канал не присутствует, или если вы задаете 'BackgroundColor'
аргумент пары "имя-значение", затем transparency
пуст. Для файлов CUR и ICO, transparency
является маской AND. Для файлов курсора эта маска иногда содержит единственные полезные данные.
Битовая глубина - это количество бит, используемых для представления каждого пикселя изображения.
Битовая глубина вычисляется путем умножения битов на выборку с отсчетами на пиксель. Таким образом, формат, который использует 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 и несжатые изображения
Логический, полутоновый, индексированный цвет, truecolor и гиперспектральные изображения
RGB, CMYK, CIELAB, цветовые пространства ICCLAB. Если цветное изображение использует цветовое пространство CMYK, A
является m
-by- n
массив -by-4. Чтобы определить, какое цветовое пространство используется, используйте imfinfo
чтобы получить информацию о графическом файле и просмотреть значение PhotometricInterpretation
поле. Если файл содержит цветовые данные CIELAB, imread
преобразует его в ICCLAB перед внесением в рабочее пространство MATLAB. Это преобразование необходимо, потому что 8-битные или 16-битные кодированные TIFF CIELAB значения используют смесь типов данных со знаком и без знака, которые не могут быть представлены как один массив MATLAB.
Данные, организованные в плитки или сканлинги
imread
считывает и преобразует изображения TIFF следующим образом:
Изображения YCbCr преобразуются в пространство цветов RGB.
Все полутоновые изображения считываются как черные = 0
, white = наибольшее значение.
1-битные изображения возвращаются как logical классов
.
16-битные изображения с плавающей точкой возвращаются как single классов
.
Изображения CIELab преобразуются в цветовое пространство ICCLab.
Для получения информации об авторских правах откройте libtiffcopyright.txt
файл.
В этой таблице перечислены поддерживаемые битовые глубины, сжатие и выходные классы для файлов XWD.
Поддерживаемые битовые глубины | ZPixmaps | XYBitmaps | XYPixmaps | Выходной класс |
---|---|---|---|---|
1 бит | ✓ | – | ✓ | logical |
8 бит | ✓ | – | – | uint8 |
Указания и ограничения по применению:
Поддерживает чтение только 8-битных изображений JPEG. Входной параметр filename
должен быть допустимым абсолютным путем или относительным путем.
Эта функция генерирует код, который использует предварительно скомпилированную совместную библиотеку для конкретной платформы (Image Processing Toolbox).
Указания и ограничения по применению:
Поддерживает чтение только 8-битных изображений JPEG. Входной параметр filename
должен быть допустимым абсолютным путем или относительным путем.
Эта функция генерирует код, который использует предварительно скомпилированную совместную библиотеку для конкретной платформы (Image Processing Toolbox).
fread
| image
| imfinfo
| imformats
| imwrite
| ind2rgb
| tiffreadVolume
(Image Processing Toolbox)
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.