次の方法がありそうです。
1.exportgraphics関数を使う
この方法だとfigureで表示したままの絵が保存できますし、簡単です。が、こちらで試してみたところ axis offにしてもわずかですが周囲に背景色が残ってしまいます。試してみて気になるようであれば次の方法が良いかと思います。
2.インデックス付きイメージとして保存
詳しくは公式ドキュメントの通りですが、やり方としての手順は次の通りです。
- 50-255をインデックス付きイメージに変換(0-1にrescaleして205倍して+1する)
- 元の画像で10以下のところを0に。
- [0 0 0;jet(206)]でカラーマップを作成
- imwriteで上記インデックス画像とカラーマップを保存
% パラメータ決定
cmin = 50;
cmax = 200;
th = 10;
% リスケールしてインデックス画像に変換
imq = rescale(im,"InputMin",cmin,"InputMax",cmax);
imq = uint8(imq * (cmax-cmin)) + 1;
imq(im <= th) = 0; % ノイズ処理
% カラーマップの定義(ゼロは黒、それ以外はjet)
cmap = [0 0 0;jet(cmax-cmin+1)];
% 保存
imwrite(imq,cmap,'test.png');