複数イメージの表示
この節では、複数のイメージを同時に表示するさまざまな方法について説明します。
複数のイメージを個別の Figure ウィンドウに表示
複数のイメージを同時に表示する最も単純な方法は、別々の Figure ウィンドウにそれらを表示することです。MATLAB® では、同時に表示できるイメージの数には制限がありません。
imshow
は常に現在の Figure にイメージを表示します。2 つのイメージを続けて表示すると、2 つ目のイメージが最初のイメージと置き換えられます。imshow
で複数の Figure を表示するには、次のイメージの imshow
を呼び出す前に figure
コマンドを使用して、新しい空の Figure を明示的に作成します。次の例では、グレースケール イメージの配列 I
内の最初の 3 つのフレームを表示します。
imshow(I(:,:,:,1)) figure, imshow(I(:,:,:,2)) figure, imshow(I(:,:,:,3))
モンタージュに複数のイメージを表示
関数 montage
を使用すると、複数のイメージを単一のイメージ オブジェクトとして Figure ウィンドウに表示できます。既定では、montage
は、イメージの数と使用する画面のサイズを基にイメージをスケーリングし、全体が正方形になるように調整します。montage
では元のイメージの縦横比が維持されます。名前と値の引数 ThumbnailSize
を使用して、サムネイルのサイズを指定できます。
モンタージュのイメージでは、タイプとサイズが異なることがあります。montage
は、ファイルに存在するカラーマップを使用してインデックス付きイメージを RGB に変換します。
既定では、関数 montage
はモンタージュのイメージの間に空白を追加しません。BorderSize
パラメーターを使用すると、イメージの間の空白の量を指定できます。BackgroundColor
パラメーターを使用して、イメージの間の空間の色も指定できます。
次の例では、イメージのシーケンスをモンタージュとして表示する方法を説明します。
イメージ シーケンスをモンタージュとして表示
この例では、関数 montage
を使用してマルチフレーム配列の複数のフレームを一度に表示する方法を説明します。関数 montage
は、すべてのイメージ フレームを四角形グリッドに配置して表示します。イメージのモンタージュは 1 つのイメージ オブジェクトです。イメージ フレームは、グレースケール、インデックス付きまたはトゥルーカラー イメージです。インデックス付きイメージを指定する場合、それらのイメージではすべて同じカラーマップを使用しなければなりません。
複数のトゥルーカラー イメージからなる配列を作成します。
onion = imread('onion.png');
onionArray = repmat(onion, [ 1 1 1 4 ]);
すべてのイメージを一度にモンタージュに表示します。既定では、関数 montage
は全イメージを 1 つのグリッドに表示します。最初のイメージ フレームは 1 行目の最初の位置、次のフレームは 1 行目の 2 番目の位置、以下同様の配置で表示されます。
montage(onionArray);
異なる行や列の数を指定するには 'size'
パラメーターを使用します。たとえば、横 1 行にイメージを表示するには、'size'
パラメーターの値を [1 NaN]
と指定します。montage
の他のパラメーターでは、どのイメージを表示するかを指定したり、表示するイメージのコントラストを調整したりできます。
montage(onionArray,'size',[1 NaN]);
同じ Figure ウィンドウ内に個別にイメージを表示
関数 imshow
と MATLAB 関数 subplot
を使用して、1 つの Figure ウィンドウに複数のイメージを表示できます。その他のオプションは、多次元配列としてのイメージ シーケンスの使用を参照してください。
メモ
イメージ ビューアー アプリはこの機能をサポートしていません。
1 つの Figure ウィンドウを複数の表示領域に分割
subplot
は、Figure を複数の表示領域に分割します。構文 subplot(m,n,p)
を使用して、m
行 n
列の行列の表示領域を定義し、アクティブな領域 p
を指定します。
たとえば、次の構文を使用すると 2 つのイメージを並べて表示できます。
[X1,map1]=imread("forest.tif"); [X2,map2]=imread("trees.tif"); subplot(1,2,1), imshow(X1,map1) subplot(1,2,2), imshow(X2,map2)
イメージのペアの比較
関数 imshowpair
はイメージのペアを同じ Figure ウィンドウに表示します。この表示は、イメージを比較する場合に便利です。imshowpair
は、次のような多くの可視化の方法をサポートします。
フォールス カラー。2 つのイメージが異なるカラー帯域で重ね合わせられます。灰色の領域はイメージが同じ強度であることを、色の付いた領域はイメージの強度が異なることを示します。フォールス カラーで表示する前に、RGB イメージはグレースケールに変換されます。
アルファ ブレンディング。表示の強度は 2 つの入力イメージの平均値になります。アルファ ブレンディングはグレースケールとトゥルーカラー イメージをサポートします。
チェッカーボード。2 つの入力イメージの四角形領域が出力イメージに交互に表示されます。
2 つのイメージの差。RGB イメージはグレースケールに変換されます。
モンタージュ。2 つのイメージが並べて表示されます。この可視化モードは関数
montage
を使用した表示と似ています。
imshowpair
は、オプションの空間参照情報を使用してイメージのペアを表示します。
参考
imshow
| imshowpair
| montage