我有一些圖像需要加載和處理。這些圖像命名如下:image1.jpg
,image2.jpg
,image3.jpg
等。當我處理每個圖像時,我想將輸出存儲在一個數組中。這個數組中的索引對應於圖像名稱很重要。例如,數組元素5
中的值應該對應於image5.jpg
。按文件名中的數字順序讀取文件
問題是,當我搜索這些文件並加載它們時,它們會嚴格按字母順序加載,而不是數字加載。所以,因爲我有一個hunder圖像,前幾個要加載的是:image1.jpg
,image10.jpg
,image100.jpg
,image101.jpg
,image102.jpg
等等。因此,數組元素5
將對應於image102.jpg
。
我的問題是:我如何加載文件中的數字順序文件,而不是默認的順序?
這裏是我的代碼來獲取文件名:
my_dir = dir('C:/MyDir');
image_files = {my_dir(~[my_dir.isdir]).name};
disp(image_files);
這給輸出:
'image1.jpg' 'image10.jpg' 'image100.jpg' 'image101.jpg' 'image102.jpg' .....
油滑使用'cellfun',毫無疑問的。 +1但我喜歡'regexp'進行模式匹配。 – chappjc 2014-10-20 02:02:28