MATLAB: Figの書き出しの時に不要な空白ができる

figureimage processingImage Processing Toolboxprint日本語

これは黒と白2値の画像に赤い楕円をプロットして書き出したものです. 元の画像には周囲に白い空白がなかったのに,printやsaveasで書き出すとこのように画像の周囲に白い余白が できてしまいます. 余白ができないようにするにはどうしたらよいのでしょうか?

Best Answer

imshow コマンドで画像を表示する際、Border プロパティを 'tight' に設定することで、この領域を予め非表示にすることができます。
以下、簡単なサンプルコードです。
I = rgb2gray(imread('peppers.png')); % サンプル画像の読み込み
imshow(I,'Border','tight') % 周囲に枠を表示しない
hold on
rectangle('Position',[50 100 50 100],'Curvature',[1 1],'EdgeColor',[1 0 0])
print -dpng test.png % PNG 形式で保存