exponenta event banner

imformats

Управление реестром форматов файлов изображений

Описание

imformats отображает таблицу со списком всех значений в реестре форматов файлов MATLAB ®. Этот реестр определяет форматы файлов imfinfo, imread, и imwrite поддержка функций.

пример

formatStruct = imformats(fmt) выполняет поиск в известных форматах в реестре форматов файлов MATLAB формата, связанного с расширением имени файла, указанным fmt. Если найдено, formatStruct - структура, содержащая признаки и имена функций, связанные с форматом. В противном случае formatStruct является пустой структурой.

registry = imformats возвращает массив структуры, registry, содержащий все значения в реестре формата файла MATLAB.

registry = imformats(formatStruct) устанавливает в реестре формата файла MATLAB для текущего сеанса MATLAB значения в formatStruct. Структура вывода, registry, содержит новые параметры реестра. Используйте этот синтаксис для замены поддержки формата файла изображения.

Неправильное использование imformats задание значений в реестре форматов файлов MATLAB может привести к невозможности загрузки файлов изображений. Чтобы вернуть реестр форматов файлов в рабочее состояние, используйте imformats с 'factory' вход.

пример

registry = imformats('add',formatStruct) добавляет значения в formatStruct в реестр форматов файлов. Используйте этот синтаксис для добавления поддержки формата файла изображения.

пример

registry = imformats('remove',fmt) удаляет формат с расширением, указанным fmt из реестра форматов файлов. Используйте этот синтаксис для удаления поддержки формата файла изображения.

пример

registry = imformats('update',fmt,formatStruct) изменяет значения реестра формата для формата с расширением fmt чтобы иметь значения, указанные formatStruct.

registry = imformats('factory') сбрасывает реестр формата файла MATLAB до значений по умолчанию. При этом удаляются все пользовательские параметры.

Примеры

свернуть все

Определите, связан ли формат файла с .bmp в реестре форматов файлов изображений.

formatStruct = imformats('bmp')
formatStruct = struct with fields:
            ext: {'bmp'}
            isa: @isbmp
           info: @imbmpinfo
           read: @readbmp
          write: @writebmp
          alpha: 0
    description: 'Windows Bitmap'

formatStruct является непустой структурой, поэтому формат файла BMP находится в реестре.

Добавьте гипотетический формат файла ABC в реестр форматов файлов изображений. Обновите, а затем удалите формат.

Создайте структуру с семью полями, определяющую значения для нового формата.

formatStruct = struct('ext','abc','isa',@isabc,...
    'info',@abcinfo,'read',@readabc,'write','',...
    'alpha',0,'description','My ABC Format')
formatStruct = struct with fields:
            ext: 'abc'
            isa: @isabc
           info: @abcinfo
           read: @readabc
          write: ''
          alpha: 0
    description: 'My ABC Format'

formatStruct представляет собой структуру «1 на 1» с семью полями. В этом примере write пустое поле.

Добавьте новый формат в реестр форматов файлов.

registry = imformats('add',formatStruct);

Переопределите формат, связанный с расширением, abc, путем добавления значения для write поле. Затем обновите значение реестра для формата.

formatStruct2 = struct('ext','abc','isa',@isabc,...
    'info',@abcinfo,'read',@readabc,'write',@writeabc,...
    'alpha',0,'description','My ABC Format');

registry = imformats('update','abc',formatStruct2);

Удалите формат с расширением, abc, из реестра форматов файлов.

registry = imformats('remove','abc');

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

свернуть все

Значения реестра формата файла, указанные как массив структуры со следующими 7 полями.

Область

Описание

Стоимость

ext

Расширения имен файлов, допустимые для этого формата.

Массив ячеек символьных векторов или строкового массива

isa

Имя функции, определяющей, имеет ли файл определенный формат.

Вектор символа или скаляр строки или дескриптор функции

info

Имя функции, считывающей информацию о файле.

Вектор символа или скаляр строки или дескриптор функции

read

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

Вектор символа или скаляр строки или дескриптор функции

write

Имя функции, записывающей данные MATLAB в файл.

Вектор символа или скаляр строки или дескриптор функции

alpha

Наличие или отсутствие альфа-канала.

1 если формат имеет альфа-канал; в противном случае это 0.

description

Текстовое описание формата файла.

Вектор символов или строковый скаляр

Значения для isa, info, read, и write поля должны быть либо функциями на пути поиска MATLAB, либо дескрипторами функций.

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

Расширение формата файла, указанное как вектор символа или скаляр строки.

Пример: 'jpg'

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

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

свернуть все

Реестр форматов файлов, возвращаемый в виде структурного массива со следующими полями.

Область

Описание

Стоимость

ext

Расширения имен файлов, допустимые для этого формата.

Массив ячеек символьных векторов

isa

Имя функции, определяющей, имеет ли файл определенный формат.

Символьный вектор или дескриптор функции

info

Имя функции, считывающей информацию о файле.

Символьный вектор или дескриптор функции

read

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

Символьный вектор или дескриптор функции

write

Имя функции, записывающей данные MATLAB в файл.

Символьный вектор или дескриптор функции

alpha

Наличие или отсутствие альфа-канала.

1 если формат имеет альфа-канал; в противном случае это 0.

description

Текстовое описание формата файла.

Символьный вектор

Примечание

Используйте imread, imwrite, и imfinfo функции для чтения, записи или получения информации о файле изображения, когда формат файла находится в реестре форматов. Не вызывайте непосредственно функции, возвращенные в полях registry структурный массив.

Совет

  • Изменения в реестре формата не сохраняются между сеансами MATLAB. Чтобы формат всегда был доступен при запуске MATLAB, добавьте соответствующий imformats в файл запуска MATLAB, startup.m. Дополнительные сведения см. в разделе startup.

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