Matlab访问目录

时间:2013-03-15 07:43:06

标签: matlab

我想计算我的Ground Truth和Segmentation结果之间的比较,两者都保存在main_folder的不同目录中,我想访问它,但似乎我无法访问其中的数据目录。有人可以帮我解决代码错误吗?

以下是代码:

addpath('main')
currentDir=pwd; % current directory in main_folder 
cases=dir('Casos_img');
interp=1;
ori=1;
ASMvGT=zeros(0,1);
for c=3:size(cases,1)
     caseName=cases(c).name;
     gt_case=[currentDir '\Casos_combine\' cases(c).name]; %'
     % ground truth combined
     [~,~,~,volumeL,volumeR]=load_file(gt_case,0,ori);
     ind= volumeR>0;volumeGT=volumeL;volumeGT(ind)=1;
     [GT1 GT2 GT3]=ind2sub(size(volumeGT),find(volumeGT>0));GT=[GT1 GT2 GT3];

     segm_case=[currentDir '\Casos_img\' cases(c).name]; %'
     [~,~,~,volumeL,volumeR]=load_file(segm_case,0,0);
     ind= volumeR>0;volumeS=volumeL;volumeS(ind)=1;
     [ASM1 ASM2 ASM3]=ind2sub(size(volumeS),find(volumeS>0));ASM=[ASM1 ASM2 ASM3];

     [hd,~]=HausdorffDist(GT,ASM);
     ASMvGT=[ASMvGT;hd];%/numel(volumeGT)];

end
save resultshd ASMvGT

我无法使用load_file函数获取卷,因为当我调试它时,问题是我无法访问目录中的数据。请帮帮我,谢谢你提前。

2 个答案:

答案 0 :(得分:1)

使用chdirfullfile命令创建具有完整路径的文件名。

答案 1 :(得分:0)

使用addpath(genpath("___address of main_folder___"))

将主文件夹的地址放在上面。用上面的行替换代码的第一行。您只写了addpath('main')。因此,它不会添加子文件夹,这就是为什么你可能会收到错误。 genpath创建子文件夹列表,因此如果您合并addpathgenpath,则会添加当前文件夹及其所有子文件夹。