0

我正在尝试获取目录中所有 jpeg 文件的路径,包括“fig”。下面的代码获取目录中的所有 jpeg 文件,但不排除任何带有“rft”标签的文件。

base_directory = '/home/user/data/';
directories = dir([base_directory,'/*.jpg']);
filenames = directories;

目录的一个例子是

goblet_fig_2004_03_07.jpg
goblet_rft_2004_03_07.jpg
goblet_fig_2004_11_02.jpg
goblet_rft_2004_11_02.jpg

任何帮助表示赞赏。

帮助后,这是我的完整代码,注意' fig .jpg',是我正在寻找的答案

base_directory = '/home/user/data/';                                
directories = dir([base_directory,'*fig*.jpg']);                             
filenames = directories;                                                   
for fileIndex = 1: length(filenames)  
    image = imread([base_directory,'/',filenames(fileIndex).name]);    
end                                                                                                                        
4

3 回答 3

1

一个简单的答案是这样的:

directories = [dir('*.fig'); dir('*.jpg')]
于 2013-07-22T22:30:07.227 回答
0
filenames = dir('*fig*.jpg')

我已经在 Windows 而不是 Linux 上尝试过,但它应该可以工作。

于 2013-07-22T22:27:17.537 回答
0

例如,您可以尝试使用正则表达式

directories = {'goblet_fig_2004_03_07.jpg'
'goblet_rft_2004_03_07.jpg'
'goblet_fig_2004_11_02.jpg'
'goblet_rft_2004_11_02.jpg'};

directories(~cellfun('isempty',regexp(directories,'fig')))

返回

ans = 

    'goblet_fig_2004_03_07.jpg'
    'goblet_fig_2004_11_02.jpg'

其他功能,例如findstr可能也可以工作。

于 2013-07-22T22:30:10.493 回答