2016-08-01 81 views
0

我正在研究使用flavia數據集對不同類型的葉子進行分類的機器學習問題。我有一個數據集文件夾,其中有32個子文件夾,每個文件夾包含相應類的一些圖像。圖像是尺寸爲4096x1的灰度。 如何一次加載所有子文件夾中的所有這些圖像,然後從存儲的像素值中創建一個csv文件?通過在matlab中加載多個圖像創建一個csv文件

回答

0

創建一個包含所有文件名的單元陣列,例如

C{1} = '/path/to/file1.png'; 
C{2} = '/path/to/file2.png'; 

等(有幾種方法可以自動執行此操作,但鑑於我對你的文件結構沒有任何信息,有沒有那麼多的文件,讓我們跳過此步驟。)

然後有for循環

for n = 1 : 32 
    I = imread(C{n}); 
    csvwrite('my_csv_file.csv', I(:).', '-append'); 
end 

PS。 (:).'語法確保每個圖像成爲一行。

+0

其實我有32個子文件夾,每個文件夾都有一個特定的葉子類型的名稱。例如。名爲中國鬱金香的文件夾將有大約60-70幅中國鬱金香圖像。所以像這樣有32個文件夾,每個文件夾包含60-70張圖片。所以這個數據集總共有大約2000個圖像。不可能爲每個圖像單獨創建一個單元陣列。我該如何解決這個問題? – user564650

+0

你可以使用'readdir'來創建單元陣列 –

相關問題