hdfdfr8
HDF 8 位光栅图像 (DFR8) 接口的入口
语法
[out1,...,outN] = hdfdfr8(funcstr,input1,...,inputN)
说明
hdfdfr8
是 HDF 8 位光栅图像 (DFR8) 接口的 MATLAB® 入口。
[out1,...,outN] = hdfdfr8(funcstr,input1,...,inputN)
返回与 HDF 库中由 functstr
指定的 DFR8 函数对应的一个或多个输出。
HDF 库中的 DFR8 函数与 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') | 返回所访问的最后一个元素的引用编号。 |
输入/输出参量
status
或标识符输出为 -1 表示操作失败。
HDF 使用元素的 C 样式排序,其中沿最后一个维度的元素变化最快。MATLAB 使用 FORTRAN 样式的排序,其中沿第一个维度的元素变化最快。hdfdfr8
不会自动从 C 样式排序转换为 MATLAB 样式排序,这意味着在使用 hdfdfr8
从 HDF 文件读取或向其中写入时需要转置 MATLAB 图像和颜色图矩阵。
hdfdfr8
中读取和写入选项板信息的函数需要使用范围 [0,255] 中的 uint8
数据,而 MATLAB 颜色图包含范围 [0,1] 中的双精度值。因此,必须将 HDF 选项板转换为 double
并缩放为可用作 MATLAB 颜色图。
版本历史记录
在 R2006a 之前推出