画像をループ処理の中で、繰り返し番号つきのファイル名でデータを保存するにはどうしたらよいですか?
14 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Maya Nakamura
le 5 Juil 2018
Commenté : Maya Nakamura
le 5 Juil 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
0 commentaires
Réponse acceptée
Kojiro Saito
le 5 Juil 2018
Modifié(e) : Kojiro Saito
le 5 Juil 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);
Plus de réponses (0)
Voir également
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!