Иллюстрированный самоучитель по MatLab

Специализированные файлы

Если А имеет класс double, команда imwrite переопределяет значения в массиве перед записью, используя преобразование uint8(round(255*A)). Эта операция преобразует числа с плавающей запятой в диапазоне [0, 1] к 8-битовым целым числам в диапазоне [0, 255]. Допустимые значения параметра ftnt аналогичны тем, что используются в команде imfinfo;

  • imwrite(X,map,filename,fmt) – записывает индексированное изображение, находящееся в массиве X, и соответствующую ему цветовую палитру тар в файл filename. Если X содержит изображение класса uint8, команда imwrite записывает фактические значения массива в файл. Если X имеет класс double, команда imwrite переопределяет значения в массиве перед записью, используя преобразование uintS(X-l). Палитра тар должна иметь класс double; функция imwrite переопределяет значения в тар, используя преобразование uint8(round (255*mар));
  • imwrite (….filename) – записывает изображение в filename в формате, указанном в расширении файла. Расширение может быть одним из допустимых значений параметра fmt;
  • imwrite (….Parameter, Value….) определяет параметры, которые контролируют различные свойства выходного файла. Параметры используются для HDF, JPEG, и TIFF файлов;
  • М = wklread(filename) – считывает электронную таблицу Lotusl23 (WK1) в матрицу М;
  • М = wklread(filename.r.c) – считывает данные, начиная с ячейки, определенной значениями (r,с). Параметры г и с отсчитываются от нуля, так что г=0, с=0 определяют первую ячейку в файле;
  • М = wklread(filename,r,c,range) – считывает диапазон значений, определенный параметром range, где range может быть представлен в одной из следующих форм:
    • вектор с четырьмя элементами, определяющий диапазон ячеек в формате [верхняя_строка. левый_столбец, нижняя_строка, правый_столбец];
    • диапазон ячеек, определенный строкой, например ' А1… С5';
    • имя диапазона, определенное в виде строки, например 'Sales'.
  • wklwrite(filename.M) – записывает значения матрицы М в файл filename электронной таблицы Lotus 123 WK1;
  • wklwrite(filename,M,r,c) – записывает данные, начиная с ячейки, определенной значениями (r,с). Параметры г и с отсчитываются от нуля, так что г=0, с=0 определяют первую ячейку в электронной таблице.

В табл. 19.7 представлены форматы изображений, доступных для чтения функцией imread. Списки параметров и их возможных значений для функции imwrite содержатся в табл. 19.8.

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

Таблица 19.7. Форматы файлов и их краткое описание.

Формат Варианты
BMP 1-битовые, 4-битовые, 8-битовые и 24-битовые несжатые изображения; 4-битовые и 8-битовые изображения со сжатием RLE
HDF 8-разрядные растровые изображения, содержащие или не содержащие цветовую палитру; 24-разрядные растровые изображения
JPEG Любые JPEG-изображения; JPEG-изображения с некоторыми обычно используемыми расширениями
PCX 1-битовые, 8-битовые и 24-битовые изображения
TIFF Любые TIFF-изображения, включая!-битовые, 8-битовые и 24-битовые несжатые изображения; 1-битовые, 8-битовые и 24-битовые изображения с packbit-сжатием; 1-битовые изображения со сжатием CCITT
XWD 1-битовые и 8-битовые Zpixmaps; XYBitmaps; 1-битовые XYPixmaps

Таблица 19.8. Параметры, используемые при записи графических файлов.

Параметр Значение Значение по умолчанию
Параметры для HDF-файлов
'Compression' Одно из следующих значений: 'none', Vie', 'jpeg' 'rle'
'Quality' Число между 0 и 100; параметр поддерживается для 'Compression'='jpeg'; чем больше число, тем выше качество файла (меньше искажений файла при сжатии) и тем больше его размер 75
'WriteMode' Одно из следующих значений: 'overwrite', 'append' 'overwrite'
Параметры для JPEG-файлов
'Quality' Число между 0 и 100; чем больше число, тем выше качество файла (меньше искажений при сжатии файла) и тем больше его размер. 75
Параметры для TIFF-файлов
'Compression' Одно из следующих значений: 'none', 'packbits', 'ccitt'; значение 'ccitt' допустимо только для двоичных (двухцветных) изображений 'ccitt' для двоичных изображений; 'packbits' для всех остальных
'Description' Любая строка; значение поля ImageDescription возвращается командой imfinfo Пустая строка
'Resolution' Скалярное значение для разрешения в направлениях х и у 72

Что нового мы узнали?

В этом уроке мы научились:

  • Открывать и закрывать файлы.
  • Выполнять операции с двоичными и форматированными файлами.
  • Осуществлять позиционирование файла.
  • Применять специализированные файлы.
Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.