Специализированные файлы
Если А имеет класс 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 |
Что нового мы узнали?
В этом уроке мы научились:
- Открывать и закрывать файлы.
- Выполнять операции с двоичными и форматированными файлами.
- Осуществлять позиционирование файла.
- Применять специализированные файлы.