exponenta event banner

hdfdf24

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

Синтаксис

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

Описание

hdfdf24 является шлюзом MATLAB ® для 24-битного интерфейса растрового изображения HDF.

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

Существует однозначное соответствие между DF24 функциями в библиотеке HDF и допустимыми значениями для funcstr. Например, hdfdf24('lastref') соответствует вызову библиотеки C DF24lastref().

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

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

Значение funcstrСинтаксис функцииОписание
'addimage'

status = hdfdf24('addimage',filename,RGB)

Добавляет в файл 24-разрядное растровое изображение.
'putimage'

status = hdfdf24('putimage',filename,RGB)

Запись 24-разрядного растрового изображения в файл путем перезаписи всех существующих данных.
'setcompress'

status = hdfdf24('setcompress',compress_type,...)

Задает метод сжатия для следующего растрового изображения, записанного в файл. compress_type может быть 'none', 'rle', 'jpeg', или 'imcomp'. Если compress_type является 'jpeg', то необходимо указать два дополнительных параметра: quality (скаляр между 0 и 100) и force_baseline (либо 0, либо 1). Другие типы сжатия не имеют дополнительных параметров.
'setdims'

status = hdfdf24('setdims',width,height)

Задание размеров для следующего растрового изображения, записанного в файл.
'setil'

status = hdfdf24('setil',interlace)

Задает формат чередования следующего растрового изображения, записанного в файл. interlace может быть 'pixel', 'line', или 'component'.
'lastref'

ref = hdfdf24('lastref')

Сообщает последний ссылочный номер, присвоенный 24-битному растровому изображению.

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

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

Значение funcstrСинтаксис функцииОписание
'getdims'

[width,height,interlace,status] = hdfdf24('getdims',filename)

Извлекает размеры перед прочтением следующего растрового изображения. interlace может быть 'pixel', 'line', или 'component'.
'getimage'

[RGB,status] = hdfdf24('getimage',filename)

Считывает следующее 24-битное растровое изображение.
'reqil'

status = hdfdf24('reqil',interlace)

Задает формат чередования перед чтением следующего растрового изображения. interlace может быть 'pixel', 'line', или 'component'.
'readref'

status = hdfdf24('readref',filename,ref)

Считывает 24-битное растровое изображение с указанным растровым номером.
'restart'

status = hdfdf24('restart')

Возврат к первому 24-битному растровому изображению в файле.
'nimages'

num_images = hdfdf24('nimages',filename)

Сообщает количество 24-разрядных растровых изображений в файле.

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

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

HDF использует упорядочение элементов в стиле Си, в котором элементы вдоль последнего измерения изменяются быстрее всего. MATLAB использует упорядочение в стиле FORTRAN, в котором элементы первого измерения изменяются быстрее всего. hdfdf24 не выполняет автоматическое преобразование из упорядочения в стиле C в упорядочение в стиле MATLAB, что означает необходимость перестановки массивов изображений MATLAB при использовании hdfdf24 для чтения или записи из HDF-файлов. Точная перестановка зависит от формата чередования, заданного, например, hdfdf24('setil',...). Следующие вызовы: permute преобразует массивы HDF в массивы MATLAB в соответствии с заданным форматом чередования.

RGB = permute(RGB,[3 2 1]);  
'pixel' чередование
RGB = permute(RGB,[3 1 2]); 
'line' чередование
RGB = permute(RGB,[2 1 3]);  
'component' чередование

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