Интерфейс шлюза к 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.
hdfdf24 | hdfdfr8 | hdfh | hdfhd | hdfhe | hdfhx | hdfml | hdfv | hdfvf | hdfvh | hdfvs | matlab.io.hdf4.sd