我有一段代码
imgPath = 'F:\SIFT\images\';
dCell = dir([imgPath '*.jpg']);
在这里,我打开一个目录并获取dCell中jpg类型的所有图像的列表,但我真正想要的不仅仅是jpg,还有其他图像格式,如png或tiff等等,请考虑...请帮助!谢谢
答案 0 :(得分:0)
我认为你必须自己建立阵列:
imgPath = 'F:\SIFT\images\';
dCell = dir([imgPath '*.jpg']);
dCell = {dCell; dir([imgPath '*.gif'])};
dCell = {dCell; dir([imgPath '*.jpg'])};
%etc...
如果上述内容应位于[]
或{}
,即dCell = [dCel; dir([imgPath '*.gif'])];
答案 1 :(得分:0)
假设您的文件夹F:\SIFT\images\
仅包含必需的图像文件,您只需使用:
imgPath = 'F:\SIFT\images\'; %Specifies the directory path as a string.
dCell = dir(imgPath); %Gets all entries in the directory; similar to `dir` command in Windows or the `ls` command in linux.
%By default, the first two output entries of `dir` are `.` and `..` which refer to the current and parent directories respectively.
dCell = dCell(3:end); %Eliminates the default dir entries `.` and `..` by truncating the first two array elements.
现在可以将结果视为:
dCell(1) %Entry corresponding to the first file.
dCell(2) %Entry corresponding to the second file.
等等。
dCell
的每个输出条目都是struct
,其中包含以下字段:
name
date
bytes
isdir
datenum
要获得单个字段,请使用:
dCell.name
等等。
要获取特定输出struct
的单个字段,请使用:
dCell(1).name
dCell(3).date
等等。
有关更多相关信息,您可以尝试help dir
和help struct
。