Main Content

hdfdf24

HDF 24 ビット ラスター イメージ (DF24) インターフェイスへのゲートウェイ

構文

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

説明

hdfdf24 は HDF 24 ビット ラスター イメージ インターフェイスへの MATLAB® ゲートウェイです。

[out1,...,outN] = hdfdf24(funcstr,input1,...,inputN) は、functstr で指定された HDF ライブラリの DF24 関数に対応する 1 つ以上の出力値を返します。

HDF ライブラリの DF24 関数と funcstr の有効値の間には 1 対 1 の対応があります。たとえば、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' である場合、2 つの追加パラメーターを指定しなければなりません。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 ビット ラスター イメージの数がレポートされます。

入力引数と出力引数

status または識別子出力が -1 の場合は、操作が失敗したことを示します。

HDF では C スタイルの要素の順序を使用するため、最後の次元に沿った要素が一番速く変化します。MATLAB では FORTRAN スタイルの要素の順序を使用するため、最初の次元に沿った要素が一番速く変化します。hdfdf24 は C スタイルの順序から MATLAB スタイルの順序への自動変換を行いません。そのため、hdfdf24 を使用して HDF ファイルでの読み取りや書き込みを行う際に、MATLAB イメージ配列を並べ替える必要があります。厳密な並べ替えは、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 より前に導入