1

私はMATLABファイル(xyz.mat)を持っており、このファイルには画像データがあるようですが、MATLABの経験はほとんどなく、それらを「抽出/開く」方法がわかりません。

これは私が持っている唯一の手がかりです:

Matlabデータファイルには、フィールド「dataList」を持つ構造「data」が含まれています。このフィールド自体は、画像ごとに1つの要素を持つ構造配列です。したがって、最初の画像はdata.dataList(1).imgにあります。

ファイルをMATLABにロードし(何も起こらなかった)、コマンドを入力した後data.dataList(1).img(膨大な数のリストを取得しました)、まだ画像が表示されません。

ヘルプ/アイデアはありますか?

4

1 に答える 1

1

data.dataList(1).imgが 2D または 3Dの場合( を使用して確認size)、imshowを使用して、この 2D 配列 (グレースケール) または 3D 配列 (カラー) を画像として視覚化できます。

im = data.dataList(1).img;
figure; imshow(im, []);

を使用してこのイメージの範囲を見つけたり、imhistを使用してその値の分布をプロットしたりmin(im(:))できます。max(im(:))

すべての画像を長方形のモンタージュとして表示するには、モンタージュ関数を調べます。

montage(I) は、マルチフレーム イメージ配列 I のすべてのフレームを 1 つのイメージ オブジェクトに表示します。I は、バイナリ イメージ、グレースケール イメージ、またはトゥルーカラー イメージのシーケンスにすることができます。バイナリまたはグレースケール イメージ シーケンスは、M x N x 1 x K の配列でなければなりません。

M x N実際には、(同じサイズの) K 個の画像をM x N x 1 x K配列に入れて、モンタージュを呼び出す ことができます。

for k = 1:K
    I(:,:,1,k) = data.dataList(k).img; 
end
figure; montage(I);
于 2013-03-04T05:24:16.230 に答える