當前位置:首頁 » 文件管理 » matlab讀取文件夾中的所有

matlab讀取文件夾中的所有

發布時間: 2024-06-22 01:40:37

① 怎樣用matlab讀取一個文件夾下的多個子文件夾中的多個jpg圖片,急用啊~~~

這個簡單,參考如下:

imgPath='E:/imageData/';%圖像庫路徑

imgDir=dir([imgPath'*.jpg']);%遍歷所有jpg格式文件

fori=1:length(imgDir)%遍歷結構體就可以一一處理圖片了

img=imread([imgPathimgDir(i).name]);%讀取每張圖片

(1)matlab讀取文件夾中的所有擴展閱讀:

需要先遍歷所有子文件夾,然後依次再遍歷每個子文件夾下的圖片,程序如下。

imgDataPath='E:/imageData/';

imgDataDir=dir(imgDataPath);%遍歷所有文件

fori=1:length(imgDataDir)

if(isequal(imgDataDir(i).name,'.')||...%去除系統自帶的兩個隱文件夾

isequal(imgDataDir(i).name,'..')||...

~imgDataDir(i).isdir)%去除遍歷中不是文件夾的

continue;

end

imgDir=dir([imgDataPathimgDataDir(i).name'/*.jpg']);

forj=1:length(imgDir)%遍歷所有圖片

img=imread([imgDataPathimgDataDir(i).name'/'imgDir(j).name]);

end

end

ImgDir返回一個包含每個圖像名稱、日期、位元組、isdir和datenum的結構。一般情況下,我們只需要用圖片的名稱來完成圖片的遍歷工作

② 用MATLAB如何讀取一個文件夾里的圖片

1、查看圖片所在的位置。

③ 如何使用matlab讀取多層文件夾中的所有數據文件

方法/步驟
獲取第一層文件夾下的所有文件夾以及數據信息結構體。
例如:主路徑是SourcePath
可以通過相對路徑代碼cd(SourcePath);File1NameFormation=dir('*.')獲取當前路徑下所有文件夾信息並且將文件夾信息保存在File1NameFormation中。也可以使用絕對路徑:File1NameFormation=dir('SourcePath\*.');對於需要列出什麼類型的文件可以通過將'*.'改成'*.xxx';其中XXX為類型文件擴展名
對路徑擴展進行計數,循環進行分文件夾讀取
File1Number=numel(File1NameFormation);或者File1Number=size(File1NameFormation,1);通過獲取當前文件夾中有多少層文件夾。
對得到的文件夾通過計數進行循環,進入次文件夾一次繼續讀取文件。
但是這里需要注意的是,如果是文件夾需要從第三個文件夾讀取,因為'.'和'..'一個為當前文件夾一個為上一層文件夾,所以需要從第三個文件讀取,可以通過第二個返回上一層文件夾。
可以發現進入子文件後就進入循環了,返回了第一步。在這里可以整合所有的代碼
cd(SourcePath)
File1NameFormation=dir('*.');
File1Number=numel(File1NameFormation)
for LoopFile1Number=3:File1Number
NowPath=fullfile(SourcePath,File1NameFormation(LoopFile1Number).name
......................
end
回顧整個過程,重復寫的代碼很多,在這里我們可以通過運用遞歸的思維寫一個讀取數據代碼。
這里通過循環來寫讀取文件函數。
function ReadFile(MainPath,FileType,FileLayer)
%%%%%%%%%%%%%%
%MainPath為主路徑,FileType為需要讀取的文件類型,FileLayer為文件類型在哪一層文件下
cd(MainPath);
if(FileLay>=0)
PathFileFormation=dir('*.');
PathNumber=numel(PathFileFormation);
for LoopPathNumer=3:PathNumber
Path=fullfile(MainPath,PathFileFormation(LoopPathNumber).name);
ReadFile(Path,FileType,FileLayer-1)
end
else
PathFileFormation=dir('FileType');
PathNumber=numel(PathFileFormation);
for LoopPathNumer=3:PathNumber
Path=fullfile(MainPath,PathFileFormation(LoopPathNumber).name)
end
end

④ matlab 讀取不同文件夾下不同圖片,進行處理。

不知道你從哪裡找來這么一段代碼,簡單看了一下,這段代碼的功能是,搜索指定文件夾的子目錄中所有擴展名為jpg的文件,並把文件的路徑名保存到jpgpath這樣一個cell數組中,每行代表一個子目錄。

存在以下問題:
1、這段代碼並不包括你所說的拼接圖片的功能。
2、第一個for循環的if語句沒有考慮文件夾中除了子目錄還可能有文件存在,這是一個很愚蠢的錯誤。
3、第二個for循環用來搜索各子目錄中的jpg文件,並把文件的路徑名保存在一個2維cell數組中。這個做法也是比較愚蠢的,因為各子目錄中的jpg文件數量可能相差很多,這種存儲方式不可取。

在現有代碼基礎上改寫實現拼接圖片的功能並不困難,但需要明確一些問題:
1、文件是否有順序問題(按什麼排序)?
2、縱向還是橫向拼接?
3、如果各圖片的寬(或高)不同,怎樣處理?可選的方式至少有以下幾種:
(1)按最大寬度,對於較小寬度的圖片,不足部分以某種顏色填充;
(2)按最大寬度,對於較小寬度的圖片,放大以適應最大寬度(又可區分是否鎖定寬高比);
(3)按最小寬度,對於較大寬度的圖片,剪切多餘的部分(又可細分為保留哪個部分);
(4)按最小寬度,對於較大寬度的圖片,縮小以適應最小寬度。
4、保存的文件怎樣命名、保存在什麼位置?可以考慮與子目錄同名(加上jpg擴展名),存放在所指定的文件夾中(而不是子目錄中)

熱點內容
免費的文件夾加密大師 發布:2024-07-23 03:44:44 瀏覽:451
3位密碼鎖密碼是多少 發布:2024-07-23 03:17:55 瀏覽:209
linuxandroid內核版本 發布:2024-07-23 02:37:24 瀏覽:73
緩存模型導出max 發布:2024-07-23 02:20:53 瀏覽:98
android進程回收 發布:2024-07-23 02:20:52 瀏覽:660
數組打亂php 發布:2024-07-23 02:20:52 瀏覽:66
西安php 發布:2024-07-23 02:16:05 瀏覽:213
無冬腳本 發布:2024-07-23 02:16:04 瀏覽:996
方舟伺服器推薦什麼模式 發布:2024-07-23 02:07:17 瀏覽:390
淘寶支付密碼怎麼改 發布:2024-07-23 02:01:37 瀏覽:927