イメージを Figure ウィンドウに表示
概要
イメージ データを表示するには、関数 imshow
を使用します。次の例では、イメージをワークスペースに読み取り、関数 imshow
を使用して Figure ウィンドウに表示します。
moon = imread("moon.tif");
imshow(moon)
また、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")
次の図は、同じイメージに境界線を加えた場合と加えていない場合を示しています。
"Border"
引数は、imshow
の呼び出しで表示されるイメージのみに影響します。imshow
を使用して表示するすべてのイメージが、グレーの境界線なしで表示されるようにするには、Image Processing Toolbox "ImshowBorder"
基本設定を "tight"
に設定します。さらに、基本設定を使用して可視化した軸を Figure に含めることもできます。基本設定の詳細については、iptprefs
を参照してください。