メインコンテンツ

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) は、イメージ データストア imds で指定したイメージを含むタイル イメージを返します。イメージ データストアの詳細については、ImageDatastore を参照してください。

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

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

すべて折りたたむ

2 つのイメージ ファイルを指定し、それらのイメージを含むタイル イメージを作成します。

files = ["peppers.png","ngc6543a.jpg"];
out = imtile(files);

タイル イメージを表示します。

imshow(out)

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

ボリューム イメージとカラーマップを含む MRI データ セットを読み込みます。

load mri

イメージ ボリューム内のすべてのスライスからタイル イメージを作成します。

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

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

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

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

Figure contains an axes object. The hidden 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 hidden axes object contains an object of type image.

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

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

fileFolder = fullfile(matlabroot,"toolbox","matlab","matlab_images");
imds = imageDatastore(fileFolder,IncludeSubfolders=true, ...
    FileExtensions=[".tif",".png"]);

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

out1 = imtile(imds);
imshow(out1)

Figure contains an axes object. The hidden 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 hidden 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 配列には、mn 列または m×n×3 のサイズの数値行列を格納できます。

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

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

データ型: double

名前と値の引数

すべて折りたたむ

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

例: imtile("peppers.png",BackgroundColor="g"); は緑色の背景色を指定します。

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

例: imtile("peppers.png","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]

各サムネイル イメージの周囲のパディング。数値スカラーまたは [brows bcols] という形式の 1 行 2 列の数値ベクトルとして指定します。関数 imtile は各イメージの境界線を背景色でパディングします。

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

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

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

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

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

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

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

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

手法説明

"bicubic"

双三次内挿。出力ピクセル値は、最近傍の 4 行 4 列のピクセルの重み付き平均です。

メモ

双三次内挿は、元の範囲外のピクセル値を生成する可能性があります。

"bilinear"

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

"nearest"

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

"box"

箱型の内挿カーネル

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

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

データ型: char | string

サムネイルのサイズ。[trows tcols] という形式の 2 要素ベクトルとして、ピクセル単位で指定します。関数 imtile は、境界線をゼロ パディングして、元のイメージの縦横比を維持します。

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

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

出力引数

すべて折りたたむ

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

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

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

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

拡張機能

すべて展開する

バージョン履歴

R2018b で導入

すべて展開する

参考

|