Специализированные файлы
Приведенные ниже функции относятся к некоторым специализированным файлам:
- М = dlmread(filename, delimiter) – считывает данные из файла filename с ASCII-разделителем, используя разделитель delimiter, в массив М. Используйте '\t', i чтобы определить в качестве разделителя символ табуляции;
- М = dlmread(filename.delimiter,г.с) – считывает данные из файла filename с ASCII-разделителем, используя разделитель delimiter, в массив М, начиная со смещения г (по строкам) и с (по столбцам). Параметры r и с отсчитываются начиная с нуля, так что г=0, с=0 соответствует первому значению в файле;
- М = dlmread(filename, delimiter, r, с, range) – импортирует индексированный или именованный диапазон данных с разделителями в формате ASCII. Для использования диапазона ячеек нужно определить параметр range в виде range = [ВерхняяСтрока. ЛевыйСтолбец. НижняяСтрока, ПравыйСтолбец].
Аргументы функции dlmread следующие:
- delimiter – символ, отделяющий отдельные матричные элементы в электронной таблице формата ASCII;
- (,) – разделитель по умолчанию;
- r, с – ячейка электронной таблицы, из которой берутся матричные элементы, соответствующие элементам в верхнем левом углу таблицы;
- range – вектор, определяющий диапазон ячеек электронной таблицы.
Команда dlmwrite преобразует матрицу MATLAB в файл с ASCII-разделителями, читаемый программами электронных таблиц:
- dlmwrite (filename. A .delimiter) – записывает матрицу А в верхнюю левую ячейку электронной таблицы filename, используя разделитель delimiter для отделения элементов матрицы. Используйте ' U' для создания файла с элементами, разделенными табуляцией. Все элементы со значением 0 опускаются. Например, массив [102] появится в файле в виде ' 1., 2' (если разделителем является запятая):
- dlmwrite(filename,A,delimiter, r,с) – записывает матрицу А в файл filename, начиная с ячейки, определенной r и с, используя разделитель delimiter;
- info=imfinfo(filename.fmt) – возвращает структуру, поля которой содержат информацию об изображении в графическом файле. Аргумент filename – строка, определяющая имя графического файла, fmt – строка, которая определяет формат файла. Файл должен находиться в текущей директории или в директории, указанной в пути MATLAB. Если imflnfo не может найти файл с именем filename, она ищет файл с именем filename.fmt.
В табл. 19.5 показаны возможные значения для аргумента fmt.
Таблица 19.5. Поддерживаемые графические форматы и их обозначения.
Формат | Тип файла |
---|---|
'bmp' | Windows Bitmap (BMP) |
'hdf ' | Hierarchical Data Format (HDF) |
'jpg' или 'jpeg' | Joint Photographic Experts Group (JPEG) |
'pcx' | Windows Paintbrush (PCX) |
'tif 'или 'tiff ' | Tagged Image File Format (TIFF) |
'xwd' | X Windows Dump (XWD) |
Если filename – TIFF- или HDF-файл, содержащий более одного изображения, то info представляет собой массив структур с отдельным элементом (т. е. с индивидуальной структурой) для каждого изображения в файле. Например, info(3) будет в таком случае содержать информацию о третьем изображении в файле. Множество полей в info зависит от конкретного файла и его формата. Однако первые девять полей всегда одинаковы. В табл. 19.6 перечислены эти поля и описаны их значения.
Таблица 19.6. Поля информационной структуры и их значения.
Поле | Значение |
---|---|
Filename | Строка, содержащая имя файла; если файл находится не в текущей директории, строка содержит полный путь к файлу |
FileModDate | Строка, содержащая дату последнего изменения файла |
FileSize | Целое число, указывающее размер файла в байтах |
Format | Строка, содержащая формат файла, заданный параметром fmt; для JPEG и TIFF-файлов возвращается значение, состоящее из трех символов |
FormatVersion | Строка или число, описывающее версию формата |
Width | Целое число, указывающее ширину изображения в пикселях |
Height | Целое число, указывающее высоту изображения в пикселях |
BitDepth | Целое число, указывающее число битов на пиксель |
ColorType | Строка, описывающая тип изображения: 'truecolor' для RGB изображения, 'grayscale' для полутонового изображения или 'indexed' для изображения с индексированными цветами или truecolor (RGB) изображение класса uint8, команда imwrite записывает фактические значения массива в файл. |
- info = imfinfo(filename) – пытается определить формат файла по содержимому. Пример:
>
>
info
=
irrifinfo(
'C:\выставка\Интернет.bmp'
)
info
=
Filename:
'C:\выставка\Интернет.bmp'
FileModDate:
'04-Jan-1999 22:35:56'
FileSize:
481078
Format:
'bmp'
FormatVersion:
'Version 3 (Microsoft Windows 3.x)'