Main Content

imtile

複数のイメージ フレームを 1 つの四角形内の整列イメージとして結合

説明

out = imtile(filenames) は、ファイル名 filenames のファイルに格納されたイメージを含むタイル イメージを返します。

既定では、関数 imtile はイメージがほぼ四角形になるように配置します。配置はオプションの名前と値の引数を使用して変更できます。イメージごとにサイズやデータ型が異なっていてもかまいません。

  • インデックス付きイメージを指定した場合、関数 imtile はファイル内のカラーマップを使用してこれを RGB に変換します。

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

out = imtile(I) は、マルチフレーム イメージ配列 I のすべてのフレームを含むタイル イメージを返します。マルチフレーム イメージはバイナリ イメージ、グレースケール イメージ、またはトゥルーカラー イメージのいずれかのシーケンスです。

out = imtile(images) は、cell 配列 images で指定されたイメージを含むタイル イメージを返します。imtile は、空の cell 配列要素を空白のタイルとして表示します。

out = imtile(imds) は、ImageDatastore オブジェクト imds で指定したイメージを含むタイル イメージを返します。イメージ データストアの詳細については、ImageDatastore を参照してください。

out = imtile(___,map) は、グレースケール イメージ、インデックス付きイメージ、およびバイナリ イメージをカラーマップ map を使用して RGB に変換したタイル イメージを返します。前述のいずれかの構文の入力引数を使用して入力イメージを指定できます。ファイル名 filenames を使用してイメージを指定した場合にカラーマップも指定すると、map はイメージ ファイル内にあるすべての内部カラーマップをオーバーライドすることに注意してください。

out = imtile(___,Name,Value) は、オプションのパラメーターの名前と値のペアの引数の値に基づいて、カスタマイズされたタイル イメージを返します。

すべて折りたたむ

複数のイメージをファイルからワークスペースに読み込み、このイメージを含むタイル イメージを作成します。タイル イメージを表示します。

out = imtile({'peppers.png', 'ngc6543a.jpg'});
imshow(out);

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

複数のイメージを含むデータセットを使用して、グリッド内でイメージを整列します。

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

load mri
out = imtile(D, map);
imshow(out);

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

このデータセットのイメージのうち最初の 8 個のみを含むタイル イメージを作成します。'GridSize' パラメーターを使用して、イメージを 2 行 4 列のグリッドに配置します。

out = imtile(D, map, 'Frames', 1:8, 'GridSize', [2 4]);
figure;
imshow(out);

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

RGB イメージをワークスペースに読み取ります。

imRGB = imread('peppers.png');

RGB イメージの 3 つの平面をそれぞれ含むタイル イメージを作成します。タイル イメージを表示します。

out = imtile(imRGB);
imshow(out)

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

イメージ データストアから、カスタマイズされたタイル イメージを作成します。

指定したフォルダー内の、ファイル拡張子が 'tif' または 'png' であるすべてのファイルを含むイメージ データストアを作成します。

fileFolder = fullfile(matlabroot,'toolbox','matlab','imagesci');
imds = imageDatastore(fileFolder,'FileExtensions',{'.tif','.png'});

データストア内のイメージを含むタイル イメージを作成します。

out1 = imtile(imds);
imshow(out1);

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

'BorderSize' および 'BackgroundColor' パラメーターを使用して、タイル イメージに青色の境界線を追加します。

out2 = imtile(imds, 'BorderSize', 10, 'BackgroundColor', 'b');
figure;
imshow(out2);

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

入力引数

すべて折りたたむ

イメージが含まれるファイルの名前。f 行 1 列の string 配列、1 行 f 列の string 配列、文字ベクトル、または文字ベクトルの cell 配列として指定します。ファイルが現在のフォルダーまたは MATLAB® パス上のフォルダーにない場合は、絶対パス名を指定します。詳細については、imread を参照してください。

例: 'file1.jpg'

例: ["file1.jpg" "file2.jpg"]

例: '../dir/data/file1.png'

例: {'C:\dir\data\file1.tif','C:\dir\data\file2.tif'}

データ型: char | string | cell

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

  • k 個のバイナリ イメージ、グレースケール イメージ、またはインデックス付きイメージのシーケンスを表す m×n×k の配列

  • k 個のバイナリ イメージ、グレースケール イメージ、またはインデックス付きイメージのシーケンスを表す m×n×1×k の配列

  • k 個のトゥルーカラー イメージのシーケンスを表す m×n×3×k の配列

イメージのリスト。k 行 1 列または 1 行 k 列の、数値行列の cell 配列として指定します。この cell 配列には、m 行 n 列または m×n×3 のサイズの数値行列を格納できます。

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

カラーマップ。値の範囲が [0,1] の c 行 3 列の数値行列として指定します。map の各行は、各色を構成する赤、緑、青の成分を指定する RGB 3 成分です。map を指定すると、関数 imtile は、このカラーマップを使用してインデックス付き、グレースケール、およびバイナリのすべてのイメージをトゥルーカラーに変換します。

データ型: double

名前と値の引数

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

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

例: imtile({'peppers.png','ngc6543a.jpg'},'BackgroundColor','g');

背景の色。RGB 3 成分、色名、または色の省略名として指定します。関数 imtile は、'BorderSize' で指定されたスペースを含むすべての空白スペースをこの色で塗りつぶします。

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

例: 'BackgroundColor','r'

例: 'BackgroundColor','green'

例: 'BackgroundColor',[0 0.4470 0.7410]

各サムネイル イメージの周囲のパディング。'BorderSize' と、数値スカラーまたは [brows bcols] の形式の 1 行 2 列の数値ベクトルで構成される、コンマ区切りのペアとして指定します。関数 imtile は各イメージの境界線を背景色でパディングします。

含めるフレーム。'Frames' と、数値配列または logical マスクで構成される、コンマ区切りのペアとして指定します。関数 imtile は、値をイメージ配列または cell 配列のインデックスとして解釈します。次の例では、最初の 3 つのイメージ フレームを含むタイル イメージが作成されます。

例: out = imtile(I,'Frames',1:3);

例: out = imtile(I,'Frames',[true true true]);

タイル イメージのサムネイルの行数と列数。'GridSize' と、[nrows ncols] の形式の 2 要素ベクトルで構成される、コンマ区切りのペアとして指定します。nrows はグリッドの行数を指定し、ncols はグリッドの列数を指定します。imtile でサイズを計算する際に、すべてのイメージが含まれるような特定の次元にするには、NaN または Inf を使用します。

  • 'GridSize'[2 NaN] の場合、imtile は、2 行と、すべてのイメージを含むために必要な数の列をもつタイル イメージを作成します。

  • どちらの要素も NaN または Inf の場合、imtile は正方形を形成するグリッド サイズを計算します。imtile はイメージを、列の方向に水平方向で返します。

  • GridSize とイメージ (フレーム) の数が一致しない場合、imtileGridSize に基づいてタイル イメージを作成します。

サムネイルのサイズ。'ThumbnailSize'[trows tcols] の形式の 2 要素ベクトルで構成されるコンマ区切りのペアとして、ピクセル単位で指定します。関数 imtile は、境界線をゼロ パディングして、元のイメージの縦横比を維持します。

  • NaN または Inf を指定した場合、関数 imtile は、最初のイメージの縦横比が維持されるよう、対応する値を自動的に計算します。

  • 空の配列 ([]) を指定した場合、関数 imtile は最初のイメージのフル サイズをサムネイルのサイズとして使用します。

出力引数

すべて折りたたむ

整列した出力イメージ。数値行列または数値配列として返されます。出力イメージは、次のいずれかの条件に該当する場合は M×N×3 の数値配列です。

  • 入力イメージの少なくとも 1 つが RGB イメージまたはインデックス付きイメージである

  • カラーマップ map を指定している

  • 背景色 'BackgroundColor' を指定している (タイル イメージに背景のピクセルが含まれるかどうかは問わない)

拡張機能

バージョン履歴

R2018b で導入

参考

|