文字列に変数を埋め込む方法

119 次查看(过去 30 天)
朋貴 熊田
朋貴 熊田 2021-8-2
画像を保存する際に処理で使った変数を保存するファイル名に加えたいです。
img=imread('C:/User/????.bmp');
gussigma=3
gusimg=imgaussfilt(img,gussigma);
imwrite(gusimg,'C:/User/????gussigma????.bmp')%変数gussigmaを使って保存するファイル名に埋め込みたい
ご教授お願い致します。

采纳的回答

Kojiro Saito
Kojiro Saito 2021-8-2
编辑:Kojiro Saito 2021-8-2
関数sprintfを使って変数をファイル名の文字列に渡せば実現できます。
gussigmaが整数なら%d、小数もありうるなら%fを使います。%1.1fにすると整数部分を1桁、小数点以下を1桁にすることができます。
% gussigmaが整数の場合
imwrite(gusimg, sprintf('C:/User/????gussigma%d.bmp', gussigma))
% gussigmaが小数点もある場合
imwrite(gusimg, sprintf('C:/User/????gussigma%f.bmp', gussigma))
% 小数点以下を1桁だけにしたい場合
imwrite(gusimg, sprintf('C:/User/????gussigma%.1f.bmp', gussigma))
  3 个评论
Atsushi Ueno
Atsushi Ueno 2021-8-2
sprintfはどうもMATLABらしからぬと思うのですが、私だけでしょうか。
imwrite(gusimg, ['C:/User/????' num2str(gussigma) '????.bmp']);
やっぱり、使い所によっては(書式設定も自由自在だし)sprintfの方が良いですね。
Atsushi Ueno
Atsushi Ueno 2021-8-2
もとい、num2strも書式設定ができますね。

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 文字と文字列 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!