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

117 visualizzazioni (ultimi 30 giorni)
朋貴 熊田
朋貴 熊田 il 2 Ago 2021
Commentato: Atsushi Ueno il 2 Ago 2021
画像を保存する際に処理で使った変数を保存するファイル名に加えたいです。
img=imread('C:/User/????.bmp');
gussigma=3
gusimg=imgaussfilt(img,gussigma);
imwrite(gusimg,'C:/User/????gussigma????.bmp')%変数gussigmaを使って保存するファイル名に埋め込みたい
ご教授お願い致します。

Risposta accettata

Kojiro Saito
Kojiro Saito il 2 Ago 2021
Modificato: Kojiro Saito il 2 Ago 2021
関数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 Commenti
Atsushi Ueno
Atsushi Ueno il 2 Ago 2021
sprintfはどうもMATLABらしからぬと思うのですが、私だけでしょうか。
imwrite(gusimg, ['C:/User/????' num2str(gussigma) '????.bmp']);
やっぱり、使い所によっては(書式設定も自由自在だし)sprintfの方が良いですね。
Atsushi Ueno
Atsushi Ueno il 2 Ago 2021
もとい、num2strも書式設定ができますね。

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su 文字と文字列 in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!