2016-04-30 6 views
0

私は10枚の画像から成るフォルダを持っています。変更されたイメージのセットをMATLABの新しいフォルダに保存する方法はありますか?

私はそれぞれにガウスフィルタを適用しようとしています。 ddという名前のフォルダから画像を読み込んだ後、変更した画像をnewfolderに保存したいと思います。しかし、私は画像を見ると空です。

これを正しい方法で実行し、10枚の画像を読み込んでフィルタリングし、変更された10枚の画像を新しいフォルダに保存するにはどうすればよいですか?ここで

は、私がこれまで持っているコードです:

for img = 1:10 
    a = imread(['\dd\',int2str(img),'.pgm']); 

    G = fspecial('gaussian',[3 3],2); 
    Ig = imfilter(a,G,'same'); 

    imshow(Ig); 
    imwrite(Ig, 'Ig.pgm '); % does not work !! 
    save ([ path,'\newfolder\', 'new.pgm'],'Ig');% it save empty image !!! 
end 

答えて

2

saveは、画像を保存するためではありません。代わりに、imwriteを使用します。また、imwriteへの完全なパスを提供し、ここではデータがイメージタイプのダイナミックレンジ全体を確実にカバーするように、mat2grayを使用します。お互いを上書きしないように、各出力イメージに一意の名前が付いていることを確認することも必要です。サイドノートとして

output_filename = fullfile(path, 'newfolder', sprintf('%d_new.pgm', img)); 
imwrite(mat2gray(Ig), output_filename, 'pgm'); 

、あなたは確実にコンピュータとオペレーティングシステム間でフォルダのパスを構築するためにfullfileを使用したいと思います。

+0

スエーヴァーありがとう、それは今働く...私はそれをsloveに2日を過ごした –

関連する問題