Main Content

イメージを Figure ウィンドウに表示

概要

イメージ データを表示するには、関数 imshow を使用します。次の例では、イメージをワークスペースに読み取り、関数 imshow を使用して Figure ウィンドウに表示します。

moon = imread("moon.tif");
imshow(moon)

Grayscale image in a figure window

また、imshow にイメージを含むファイルの名前を渡すこともできます。

imshow("moon.tif");

次の構文は、複数のイメージをスキャンするために役立ちます。ただし、この構文を使用する場合、imread はワークスペースにイメージ データを保存しないことに注意してください。ワークスペースにイメージを取り込むには、現在の image オブジェクトからイメージ データを取得する関数 getimage を使用しなければなりません。この例では、対象の Figure ウィンドウが現在アクティブな場合に、moon.tif のイメージ データを変数 moon に割り当てます。

moon = getimage;

imshow を使用して、ツールボックスでサポートされるさまざまなイメージ タイプを表示する方法の詳細については、さまざまなイメージ タイプの表示を参照してください。

イメージの初期倍率の指定

既定の設定では、imshow は、100% の倍率 (イメージ ピクセルごとに 1 つのスクリーン ピクセル) でイメージ全体を表示しようとします。ただし、イメージが大きすぎて 100% の倍率では画面上の Figure ウィンドウに収まらない場合、imshow は、画面に収まるようにイメージをスケールし、警告メッセージを発行します。

imshow の特定の呼び出しで、既定の初期倍率の動作をオーバーライドするには、InitialMagnification パラメーターを指定します。たとえば、150% の倍率でイメージを表示するには、次のコードを使用します。

pout = imread("pout.tif");
imshow(pout,"InitialMagnification",150)

imshow は、指定した倍率を守ろうとします。ただし、その倍率ではイメージが画面に収まらない場合、imshow は画面に合わせてイメージをスケールします。また、初期倍率の値として "fit" を指定することもできます。その場合、imshow は Figure ウィンドウの現在のサイズに合わせてイメージをスケールします。

imshow の既定の初期倍率の動作を変更するには、ImshowInitialMagnification ツールボックスの基本設定を設定します。基本設定を設定するには、iptprefs を呼び出すか、MATLAB® [ホーム] タブの [環境] セクションで [基本設定] をクリックして、Image Processing Toolbox™ の [基本設定] ダイアログ ボックスを開きます。

imshow はイメージをスケールするときに、内挿を使用して、イメージ行列内の要素とは直接対応しないスクリーン ピクセルの値を決定します。内挿法の指定の詳細については、イメージのサイズ変更を参照してください。

Figure の外観の制御

既定の設定では、imshow は Figure にイメージを表示する際、グレーの境界線でイメージを囲みます。次の例に示すように、名前と値の引数 "Border" を使用すると、この既定の設定を変更して境界線を非表示にできます。

imshow("moon.tif","Border","tight")

次の図は、同じイメージに境界線を加えた場合と加えていない場合を示しています。

Grayscale image in a figure window with a gray border surrounding the image.

"Border" 引数は、imshow の呼び出しで表示されるイメージのみに影響します。imshow を使用して表示するすべてのイメージが、グレーの境界線なしで表示されるようにするには、Image Processing Toolbox "ImshowBorder" 基本設定を "tight" に設定します。さらに、基本設定を使用して可視化した軸を Figure に含めることもできます。基本設定の詳細については、iptprefs を参照してください。

関連するトピック