exponenta event banner

hdfdfr8

Интерфейс шлюза к 8-битному растровому изображению HDF (DFR8)

Синтаксис

[out1,...,outN] = hdfdfr8(funcstr,input1,...,inputN)

Описание

hdfdfr8 является шлюзом MATLAB ® для 8-битного интерфейса растрового изображения HDF (DFR8).

[out1,...,outN] = hdfdfr8(funcstr,input1,...,inputN) возвращает один или несколько выходов, соответствующих функции DFR8 в библиотеке HDF, указанной functstr.

Существует однозначное соответствие между DFR8 функциями в библиотеке HDF и допустимыми значениями для funcstr. Например, hdfdfr8('setpalette',map) соответствует вызову библиотеки C DFR8setpalette(map).

Функции записи

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

Значение funcstrСинтаксис функцииОписание
'writeref'status = hdfdfr8('writeref',filename,ref)Сохранение растрового изображения с использованием указанного ссылочного номера.
'setpalette'status = hdfdfr8('setpalette',colormap)Задание палитры для нескольких 8-разрядных растровых изображений.
'addimage'status = hdfdfr8('addimage',filename,X,compress)Добавляет 8-битное растровое изображение в файл. compress может быть 'none', 'rle', 'jpeg', или 'imcomp'.
'putimage'status = hdfdfr8('putimage',filename,X,compress)Запись 8-битного растрового изображения в существующий файл или создание файла. compress может быть 'none', 'rle', 'jpeg', или 'imcomp'.
'setcompress'status = hdfdfr8('setcompress',compress_type,...)Задает тип сжатия. compress_type может быть 'none', 'rle', 'jpeg', или 'imcomp'. Если compress_type является 'jpeg', то должны быть переданы два дополнительных параметра: quality (скаляр между 0 и 100) и force_baseline (либо 0, либо 1). Другие типы сжатия не имеют дополнительных параметров.

Функции чтения

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

Значение funcstrСинтаксис функцииОписание
'getdims'[width,height,hasmap,status] = hdfdfr8('getdims',filename)Извлекает размеры для 8-битного растрового изображения.
'getimage'[X,map,status] = hdfdfr8('getimage',filename)Извлекает 8-битное растровое изображение и его палитру.
'readref'status = hdfdfr8('readref',filename,ref)Получение следующего растрового изображения с указанным ссылочным номером.
'restart'status = hdfdfr8('restart')Игнорирует сведения о последнем доступе к файлу и перезапускает его с самого начала.
'nimages'num_images = hdfdfr8('nimages',filename)Возвращает число растровых изображений в файле.
'lastref'ref = hdfdfr8('lastref')Возвращает ссылочный номер последнего элемента, к которому был осуществлен доступ.

Аргументы ввода/вывода

A status или вывод идентификатора -1 указывает на сбой операции.

HDF использует упорядочение элементов в стиле Си, в котором элементы вдоль последнего измерения изменяются быстрее всего. MATLAB использует упорядочение в стиле FORTRAN, в котором элементы первого измерения изменяются быстрее всего. hdfdfr8 не выполняет автоматическое преобразование из упорядочения в стиле C в упорядочение в стиле MATLAB, что означает, что изображения MATLAB и матрицы карты цветов должны быть транспонированы при использовании hdfdfr8 для чтения или записи из HDF-файлов.

Функции в hdfdfr8 которые предполагается использовать для чтения и записи информации о палитре uint8 данные в диапазоне [0,255], в то время как карты цветов MATLAB содержат значения двойной точности в диапазоне [0,1]. Поэтому палитры HDF должны быть преобразованы в double и масштабированы для использования в качестве карт цветов MATLAB.

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