2016-10-29 17 views
0

私はmatlabには新しく、画像処理用のガンマ関数を実装したコードを書いています。私は約300枚の写真を「001.jpg」から「300.jpg」に生成し、ffmpegを使ってビデオを作ります。 最後に、私はビデオの結果が必要なだけで、ディレクトリに生成されたすべての写真を削除するコマンドが必要です!それを行う方法はありますか?あなたは現在のディレクトリ内のすべての.jpgのファイルを削除したい場合は、ファイルをフォルダにカレントディレクトリ以外の住んでいる場合matlabディレクトリに番号の付いたファイルを削除する

答えて

1

あなたはあなたができる、ワイルドカード(*

delete('*.jpg') 

deleteコマンドを使用することができますこの方法でディレクトリを指定してください。

folder = '/path/to/my/files'; 
delete(fullfile(folder, '*.jpg')) 

はあなたがに数のファイル名を持っているだけでファイルを、それを制限したい場合は、以下の

Sueverの答えに追加
files = dir('*.jpg'); 
filenames = regexp({files.name}, '^[0-9]+\.jpg$', 'match', 'once'); 
filenames = cellstr(cat(1, filenames{:})); 

delete(filenames{:}) 
+0

フォルダに他の画像がない場合、 'delete( '*。jpg')'はうまく動作します!正規表現は完璧に働いてくれました。ありがとうございました。二番目の行で ''マッチ 'と ''一度' 'が何をするのか説明できますか? –

+0

@AlalehAこれは、一致すると一致(ファイル名)を返し、 'filenames'が削除するファイル名を含むセル配列になるようにします – Suever

0

ような何かを行うことができます(まだコメントすることはできません):
作成している画像の名前を既に知っていると仮定すると、フォルダに「旅行」を保存して、ファイル名のリストを自分で作成して戻すことができます。

for i=1:numOfImages 
filenames(i)={strcat(num2str(i),'.jpg')}; 
end 

delete(filenames{:}) 
関連する問題