Main Content

imformats

イメージ ファイル形式レジストリを管理

説明

imformats は MATLAB® ファイル形式レジストリのすべての値を一覧にする情報テーブルを表示します。このレジストリによって、関数 imfinfo、関数 imread および関数 imwrite がサポートするファイル形式が決まります。

formatStruct = imformats(fmt) は MATLAB ファイル形式レジストリ内の既知の形式から fmt で指定されたファイル名拡張子に関連付けられた形式を検索します。形式が見つかった場合、formatStruct はその形式に関連付けられている特性と関数名を含む構造体になります。見つからない場合、formatStruct は空の文字列になります。

registry = imformats は MATLAB ファイル形式レジストリのすべての値を含む構造体配列 registry を返します。

registry = imformats(formatStruct) は、現在の MATLAB セッションの MATLAB ファイル形式レジストリを formatStruct の値に設定します。出力の registry 構造体は、新しいレジストリ設定を含んでいます。この構文を使用して、イメージ ファイル形式のサポートを置き換えます。

MATLAB ファイル形式レジストリの値を指定する際に imformats の使用法を間違えると、イメージ ファイルを読み込めなくなることがあります。ファイル形式レジストリを正常な状態に戻すには、'factory' を入力として imformats を使用します。

registry = imformats('add',formatStruct) は、formatStruct の値をファイル形式レジストリに追加します。この構文を使用して、イメージ ファイル形式のサポートを追加します。

registry = imformats('remove',fmt) は、fmt で指定した拡張子の形式をファイル形式レジストリから削除します。この構文を使用して、イメージ ファイル形式のサポートを削除します。

registry = imformats('update',fmt,formatStruct) は、拡張子 fmt の形式の形式レジストリの値を formatStruct で指定された値に変更します。

registry = imformats('factory') は MATLAB ファイル形式レジストリを既定の形式レジストリ値にリセットします。これによりは、ユーザー指定の設定が解除されます。

すべて折りたたむ

ファイル拡張子 .bmp に関連付けられたファイル形式がイメージ ファイル形式レジストリ内にあるかどうかを判断します。

formatStruct = imformats('bmp')
formatStruct = struct with fields:
            ext: {'bmp'}
            isa: @isbmp
           info: @imbmpinfo
           read: @readbmp
          write: @writebmp
          alpha: 0
    description: 'Windows Bitmap'

formatStruct は空の構造体ではないため、BMP ファイル形式はレジストリ内に存在します。

イメージ ファイル形式レジストリに架空のファイル形式 ABC を追加します。この形式を更新してから削除します。

7 つのフィールドをもつ構造体を作成して、新しい形式の値を定義します。

formatStruct = struct('ext','abc','isa',@isabc,...
    'info',@abcinfo,'read',@readabc,'write','',...
    'alpha',0,'description','My ABC Format')
formatStruct = struct with fields:
            ext: 'abc'
            isa: @isabc
           info: @abcinfo
           read: @readabc
          write: ''
          alpha: 0
    description: 'My ABC Format'

formatStruct は 7 つのフィールドをもつ 1 行 1 列の構造体です。この例では、write フィールドは空です。

ファイル形式レジストリに新しい形式を追加します。

registry = imformats('add',formatStruct);

write フィールドの値を追加して、拡張子 abc に関連付ける形式を再定義します。次に、形式のレジストリ値を更新します。

formatStruct2 = struct('ext','abc','isa',@isabc,...
    'info',@abcinfo,'read',@readabc,'write',@writeabc,...
    'alpha',0,'description','My ABC Format');

registry = imformats('update','abc',formatStruct2);

ファイル形式レジストリから、拡張子 abc をもつ形式を削除します。

registry = imformats('remove','abc');

入力引数

すべて折りたたむ

ファイル形式レジストリの値。次の 7 つのフィールドをもつ構造体配列として指定します。

フィールド

説明

ext

この形式で有効なファイル名拡張子

文字ベクトルの cell 配列または string 配列

isa

ファイルが特定の形式であるかどうかを判断する関数の名前

文字ベクトルまたは string スカラー、または関数ハンドル

info

ファイルに関する情報を読み取る関数の名前

文字ベクトルまたは string スカラー、または関数ハンドル

read

ファイルのイメージ データを読み取る関数の名前

文字ベクトルまたは string スカラー、または関数ハンドル

write

ファイルに MATLAB データを書き込む関数の名前

文字ベクトルまたは string スカラー、または関数ハンドル

alpha

アルファ チャネルの有無

形式にアルファ チャネルがある場合は 1、ない場合は 0 となります。

description

ファイル形式の説明テキスト

文字ベクトルまたは string スカラー

isainforead および write フィールドの値は、MATLAB 検索パス上の関数または関数ハンドルでなければなりません。

データ型: struct

ファイル形式拡張子。文字ベクトルまたは string スカラーとして指定します。

例: 'jpg'

データ型: char

出力引数

すべて折りたたむ

ファイル形式レジストリ。次のフィールドをもつ構造体配列が返されます。

フィールド

説明

ext

この形式で有効なファイル名拡張子

文字ベクトルの cell 配列

isa

ファイルが特定の形式であるかどうかを判断する関数の名前

文字ベクトルまたは関数ハンドル

info

ファイルに関する情報を読み取る関数の名前

文字ベクトルまたは関数ハンドル

read

ファイルのイメージ データを読み取る関数の名前

文字ベクトルまたは関数ハンドル

write

ファイルに MATLAB データを書き込む関数の名前

文字ベクトルまたは関数ハンドル

alpha

アルファ チャネルの有無

形式にアルファ チャネルがある場合は 1、ない場合は 0 となります。

description

ファイル形式の説明テキスト

文字ベクトル

メモ

ファイル形式が形式レジストリに含まれる場合に、イメージ ファイルに関する情報の読み取り、書き込みまたは取得を行うには、imreadimwriteimfinfo の各関数を使用します。registry 構造体配列のフィールドで返された関数は、直接起動しないでください。

ヒント

  • ファイル形式レジストリの変更は、MATLAB のセッション間で持続しません。MATLAB の起動時に常に形式を使用可能な状態にするには、該当する imformats コマンドを MATLAB のスタートアップ ファイル startup.m に追加します。詳細については、startup を参照してください。

バージョン履歴

R2006a より前に導入