画像をループ処理の中​で、繰​り返し番号つ​きのファ​イル名でデ​ータを保存​するには​どうしたらよ​いです​か?

25 views (last 30 days)
Maya Nakamura
Maya Nakamura on 5 Jul 2018
Commented: Maya Nakamura on 5 Jul 2018
画像をループ処理の中で、繰り返し番号つきのファイル名でデータを保存するにはどうしたらよいですか? imwriteで行うと出力引数が多すぎますとなってしまいます。画像はカラーです。 よろしくお願いいたします。
for g = 1:10
imshow(BW);
stat = regionprops('Table',BW,'Centroid','Area')
mydata = BW;
myfilename = sprintf('colar.jpg',g);
mydata{g} = imwrite(BW,myfilename);
end

Accepted Answer

Kojiro Saito
Kojiro Saito on 5 Jul 2018
Edited: Kojiro Saito on 5 Jul 2018
sprintfで繰り返し番号付きのファイル名を定義してimwriteする方法ではいかがでしょうか。 下記のコードでは繰り返し番号付きのファイル名でimresizeの処理毎にimwriteで画像を作成できます。
A = imread('peppers.png');
for ii=1:10
filename = sprintf('result_%d.png', ii);
B = imresize(A, 1/ii);
imwrite(B, filename)
end
UPDATED
ご質問にコードサンプルが追加されたので回答を更新します。 ファイル名に繰り返し番号を付けるにはsprintfの部分をsprintf('color_%d.jpg', g)にしてみてください。また、imwriteはリターンが無いので、変数に割り当てずにimwriteだけで使ってみてください。上記コードではstatとBWの関連が分からないので、とりあえずファイル名を変えて保存するところだけ変更すべきところを記載します。
myfilename = sprintf('color_%d.jpg', g);
imwrite(BW, myfilename);
  1 Comment
Maya Nakamura
Maya Nakamura on 5 Jul 2018
できました。ありがとうございます。 今後もよろしくお願いいたします。

Sign in to comment.

More Answers (0)

Categories

Find more on 印刷と保存 in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!