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

조회 수: 108 (최근 30일)
朋貴 熊田
朋貴 熊田 2021년 8월 2일
댓글: Atsushi Ueno 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!