メインコンテンツ

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

montage

複数のイメージを四角形モンタージュとして表示する

説明

montage(imagelist) は、imagelist で指定されたイメージのモンタージュを表示します。イメージは、タイプとサイズが異なる場合があります。既定では、関数 montage は概ね正方形になるようにイメージを配置します。

montage(imds) は、イメージ データストア imds 内のイメージのモンタージュを表示します。

montage(I) はマルチフレーム イメージ I のすべてのフレームを表示します。

montage(___,map) は、すべてのグレースケール イメージとバイナリ イメージ (前述のいずれかの構文を使用して指定) をインデックス付きイメージとして扱い、指定されたカラーマップ map を使用してそれらのイメージを表示します。ファイル名またはイメージ データストアを使用してイメージを指定する場合、map はイメージ ファイルに存在する任意の内部カラーマップをオーバーライドします。montage は RGB イメージのカラーマップを変更しません。

montage(___,Name=Value) は、名前と値の引数を使用してイメージ モンタージュの表示をカスタマイズします。

img = montage(___) は、表示されたすべてのフレームを含む単一のイメージ オブジェクトのハンドルを返します。

メモ

Medical Imaging Toolbox™ は関数 montage (Image Processing Toolbox™) の機能を拡張し、medicalImage (Medical Imaging Toolbox) オブジェクトまたは medicalVolume (Medical Imaging Toolbox) オブジェクトのデータを表示します。詳細については、montage (Medical Imaging Toolbox) を参照してください。

すべて折りたたむ

タイプとサイズが異なる複数のイメージをワークスペースに読み取ります。

imRGB = imread("peppers.png");
imGray = imread("coins.png");

すべてのイメージを含むモンタージュを表示します。

figure
montage({imRGB,imGray,"cameraman.tif"})

Figure contains an axes object. The hidden axes object contains an object of type image.

Image Processing Toolbox™ サンプル イメージ フォルダーから一連の 10 個のイメージを含む ImageDatastore オブジェクトを作成します。

fileFolder = fullfile(matlabroot,"toolbox","images","imdata");
imds = imageDatastore(fullfile(fileFolder,"AT3*"));

データストアの内容をモンタージュとして表示します。

montage(imds)

Figure contains an axes object. The hidden axes object contains an object of type image.

MRI データセットを読み込みます。

load mristack

データセットを表示します。montage はデータをマルチフレーム イメージとして扱い、各スライスを表示します。

montage(mristack)

Figure contains an axes object. The hidden axes object contains an object of type image.

ファイルの一連のイメージからモンタージュを作成します。モンタージュを 2 行 5 列の四角形にします。次に、2 番目のモンタージュを作成します。ここでは名前と値の引数 "DisplayRange" を使用してイメージ内の構造を強調表示します。

イメージの矩形モンタージュとしての表示

一連のファイル名を含む string 配列を作成します。

fileFolder = fullfile(matlabroot,"toolbox","images","imdata");
dirOutput = dir(fullfile(fileFolder,"AT3_1m4_*.tif"));
fileNames = string({dirOutput.name});

イメージをモンタージュとして表示します。モンタージュの形状を 2 行 5 列の四角形に指定します。

montage(fileNames,"Size",[2 5]);

Figure contains an axes object. The hidden axes object contains an object of type image.

モンタージュでのイメージのコントラストの調整

別の Figure に、同じ 2 行 5 列のモンタージュを作成します。さらに、表示範囲を指定し、モンタージュのイメージのコントラストを調整します。

figure 
montage(fileNames,"Size",[2 5],"DisplayRange",[75 200]);

Figure contains an axes object. The hidden axes object contains an object of type image.

既定の設定のモンタージュを使用して MRI データ セットのすべてのイメージを表示します。このセットには 27 個のイメージがあります。

load mri
montage(D,map)

Figure contains an axes object. The hidden axes object contains an object of type image.

最初の 9 個のイメージのみを含む新しいモンタージュを作成します。

figure
montage(D,map,Indices=1:9);

Figure contains an axes object. The hidden axes object contains an object of type image.

入力引数

すべて折りたたむ

一連のイメージ。cell 配列または string のベクトルとして指定します。cell 配列を使用して、次の要素の任意の組み合わせを表示します。

  • グレースケール イメージを表す mn 列の数値行列

  • カラー イメージを表す m×n×3 のサイズの数値配列

  • イメージ ファイルの名前を指定する文字ベクトルまたは string。

すべてのイメージをファイル名で指定する場合は、string のベクトルを使用できます。ファイルが現在のフォルダーまたは MATLAB® パス上のフォルダーにない場合は、絶対パス名を指定します。詳細については、imread を参照してください。

データ型: single | double | int16 | uint8 | uint16 | logical | char | string | cell

イメージ データストア。ImageDatastore オブジェクトとして指定します。

マルチフレーム イメージ。次のいずれかのサイズの数値配列として指定します。

  • m×n×k (k 個のバイナリ イメージまたはグレースケール イメージから成るシリーズを表す)。

  • m×n×1×k (k 個のバイナリ イメージまたはグレースケール イメージから成るシリーズを表す)。

  • m×n×3×k (k 個のトゥルーカラー イメージから成るシリーズを表す)。

マルチフレーム イメージを次の dlarray (Deep Learning Toolbox) オブジェクトとして指定することもできます。

  • 上記のいずれかのサイズの数値配列を格納する、形式を整えていない dlarray オブジェクト。

  • 2 つの空間次元 (ラベル "S") と、最大 1 つの次元 (ラベル "T"、"B"、または "U") をもつ形式を整えた dlarray オブジェクト。オブジェクトにチャネル次元 (ラベル "C") がある場合、その次元の長さは 1 または 3 でなければなりません。

データ型: single | double | int16 | uint8 | uint16 | logical

カラーマップ。範囲 [0, 1] の値をもつ c 行 3 列の数値行列として指定します。各行は、カラーマップの単一色を構成する赤、緑、青の成分を指定する 3 要素の RGB 3 成分です。

データ型: double

名前と値の引数

すべて折りたたむ

オプションの引数のペアを Name1=Value1,...,NameN=ValueN として指定します。ここで、Name は引数名で、Value は対応する値です。名前と値の引数は他の引数の後に指定しなければなりませんが、ペアの順序は重要ではありません。

例: montage(I,Indices=1:9) は、マルチフレーム イメージ I の最初の 9 フレームのモンタージュを作成します。

R2021a より前では、コンマを使用して名前と値をそれぞれ区切り、Name を引用符で囲みます。

例: montage(I,"Indices",1:9)

背景色。RGB 3 成分、色の名前、または色の省略名として指定します。関数 montage は、BorderSize で指定された空間も含め、すべての空白を背景色で塗りつぶします。背景色を指定する場合、関数 montage は出力を RGB イメージとしてレンダリングします。

RGB 3 成分を使用すると、任意の色を指定できます。RGB 3 成分は、色の赤、緑、青の成分の強度を指定する 3 つの要素から成る行ベクトルです。強度は [0, 1] の範囲でなければなりません。

いくつかの一般的な色については、色の名前を string スカラーまたは文字ベクトルとして指定できます。次の表に、名前付きの色のオプション、およびそれと等価な RGB 3 成分を示します。

色名省略名RGB 3 成分外観
"red""r"[1 0 0]

A rectangle colored pure red

"green""g"[0 1 0]

A rectangle colored pure green

"blue""b"[0 0 1]

A rectangle colored pure blue

"cyan" "c"[0 1 1]

A rectangle colored pure cyan

"magenta""m"[1 0 1]

A rectangle colored pure magenta

"yellow""y"[1 1 0]

A rectangle colored pure yellow

"black""k"[0 0 0]

A rectangle colored black

"white""w"[1 1 1]

A rectangle colored white

以下に、MATLAB がさまざまなタイプのプロットで使用する既定の色の RGB 3 成分を示します。

RGB 3 成分外観
[0 0.4470 0.7410]

A rectangle colored medium blue

[0.8500 0.3250 0.0980]

A rectangle colored reddish-orange

[0.9290 0.6940 0.1250]

A rectangle colored dark yellow

[0.4940 0.1840 0.5560]

A rectangle colored dark purple

[0.4660 0.6740 0.1880]

A rectangle colored light green

[0.3010 0.7450 0.9330]

A rectangle colored light blue

[0.6350 0.0780 0.1840]

A rectangle colored dark red

例: "BackgroundColor","r"

例: "BackgroundColor","green"

例: "BackgroundColor",[0 0.4470 0.7410]

各サムネイル イメージの周りのパディング (ピクセル単位)。非負の整数、または非負の整数から成る 1 行 2 列のベクトルとして指定します。関数 montage はイメージの境界を背景色 BackgroundColor でパディングします。

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

グレースケール イメージの表示範囲。[low high] 形式の 1 行 2 列のベクトルとして指定します。low 以下のすべてのピクセル値は、黒で表示されます。high 以上のすべてのピクセル値は、白で表示されます。空の行列 ([]) を指定すると、montage は、イメージの最小ピクセル値と最大ピクセル値を使用します。イメージのいずれかがカラー イメージだった場合、montage 関数はすべてのイメージに対してこの引数を無視します。

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

モンタージュに表示するフレーム。正の整数の配列として指定します。montage 関数は、値を imagelistimds、または I で指定されたイメージ セットのインデックスとして解釈します。

既定では、montage 関数はすべてのイメージ ファイルまたはフレームを表示します。

例: "Indices",1:4 は、I 内の最初の 4 フレームのモンタージュを作成します。

例: "Indices",1:2:20 はフレームを 1 つおきに表示します。

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

表示のためのモンタージュのサイズ変更に使用する内挿手法。次のいずれかの値として指定します。

説明
"nearest"最近傍内挿 (既定の設定)
"bilinear"双一次内挿

montage によって作成される image オブジェクトの親。axes オブジェクトとして指定します。関数 montage はイメージのサイズを変更して、親の座標軸で利用できる範囲に当てはめます。

イメージの行数と列数。[nrows ncols] 形式の 2 要素ベクトルとして指定します。

特定の次元に NaN または Inf を指定した場合、関数 montage は、すべてのイメージがモンタージュに表示されるように次元の値を計算します。たとえば、Size[2 NaN] の場合、モンタージュの行数は 2 行になり、列数はすべてのイメージが表示される最小の列数になります。指定されたイメージ (フレーム) の数と Size の間に不一致がある場合、関数 montage は、Size に基づいてタイル配置されたイメージを作成します。

データ型: single | double

サムネイル用にイメージをサイズ変更するための内挿方法。次のいずれかの値として指定します。

方法説明

"bicubic"

双三次内挿。出力ピクセル値は、最近傍の 4×4 のピクセルの加重平均です。

メモ

双三次内挿は、元の範囲外のピクセル値を生成します。

"bilinear"

双一次内挿。出力ピクセル値は、最近傍の 2×2 のピクセルの加重平均です。

"nearest"

最近傍内挿。出力ピクセルには、対象の点が含まれるピクセルの値が代入されます。周りの他のピクセルは、考慮に入れません。

"box"

箱型内挿カーネル

"triangle"三角内挿カーネル ("bilinear" と等価)
"cubic"3 次内挿カーネル ("bicubic" と等価)
"lanczos2"Lanczos-2 内挿カーネル
"lanczos3"Lanczos-3 内挿カーネル

既定のサイズ変更方法である "bicubic" は、通常、イメージがサムネイルよりも大きい場合に適しています。イメージのサイズがサムネイルよりも小さく、ピクセル値の平滑化を避けたい場合は、ThumbnailInterpolation"nearest" として設定することを検討してください。

データ型: char | string

各サムネイルのサイズ (ピクセル単位)。正の整数から成る 2 要素ベクトルとして指定します。各イメージの縦横比は維持され、空白は背景色 BackgroundColor で塗りつぶされます。

空の配列 ([]) を指定した場合、サムネイルのサイズは 1 番目のイメージのフル サイズとなります。いずれかの要素を NaN または Inf として指定すると、関数 montage は、対応する値を自動的に計算して、1 番目のイメージの縦横比を維持します。

データ型: single | double

出力引数

すべて折りたたむ

モンタージュ イメージ。Image オブジェクトとして返されます。

ヒント

  • インデックス付きイメージを指定した場合、montage は、ファイルにあるカラーマップを使用して RGB に変換します。

  • イメージの間でデータ型の不一致がある場合、関数 montage は、関数 im2double を使用してすべてのイメージをデータ型 double に変換します。

  • montage は、横方向および縦方向に表示するイメージの数を計算するときに、表示されるモンタージュがほぼ正方形になるようにイメージの縦横比を考慮に入れます。

  • ライブ エディターでモンタージュを表示する場合、Figure がライブ スクリプトの出力に埋め込まれます。Figure を別のウィンドウで開くには、出力の右上隅にある [Figure ウィンドウで開く] ボタン Open in figure window button をクリックします。

  • ライブ エディターでは Figure のタイトルが途切れて表示されることがあります。タイトル全体が表示されるようにするには、親座標軸オブジェクトの PositionContraint プロパティを "outerposition" に設定します。プロパティ値は、関数 montage より後、関数 title より前に更新します。

    I = imread("peppers.png");
    montage({I,I})
    ax = gca;
    ax.PositionConstraint = "outerposition";
    title("Peppers");
    名前と値の引数 Parent を使用して親座標軸を指定する場合は、指定した親座標軸オブジェクトの PositionConstraint プロパティを設定します。座標軸位置のプロパティの詳細については、座標軸のレイアウトの制御を参照してください。

拡張機能

すべて展開する

バージョン履歴

R2006a より前に導入

すべて展開する