画像を保存する際に処理で使った変数を保存するファイル名に加えたいです。
img=imread('C:/User/????.bmp');
gussigma=3
gusimg=imgaussfilt(img,gussigma);
imwrite(gusimg,'C:/User/????gussigma????.bmp')%変数gussigmaを使って保存するファイル名に埋め込みたい
ご教授お願い致します。

 Akzeptierte Antwort

Kojiro Saito
Kojiro Saito am 2 Aug. 2021
Bearbeitet: Kojiro Saito am 2 Aug. 2021

1 Stimme

関数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 Kommentare

朋貴 熊田
朋貴 熊田 am 2 Aug. 2021
Kojiro Saito様
迅速な解答ありがとうございます。
Atsushi Ueno
Atsushi Ueno am 2 Aug. 2021
sprintfはどうもMATLABらしからぬと思うのですが、私だけでしょうか。
imwrite(gusimg, ['C:/User/????' num2str(gussigma) '????.bmp']);
やっぱり、使い所によっては(書式設定も自由自在だし)sprintfの方が良いですね。
Atsushi Ueno
Atsushi Ueno am 2 Aug. 2021
もとい、num2strも書式設定ができますね。

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu 文字と文字列 finden Sie in Hilfe-Center und File Exchange

Community Treasure Hunt

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

Start Hunting!