我已经从here下载了“ NYU Depth V2”数据集和工具箱。工具箱中有一个名为get_synched_frames.m
的脚本。我没有Matlab,因此我尝试在Octave中运行它。不幸的是,它不能按预期工作。
行
% Faster than matlab's Dir function for big directories and slow
% distributed file systems...
files = regexp(ls(sceneDir), '(\s+|\n)', 'split');
仅给予
files =
{
[1,1] = a-1300302776.479149-3987628315.dump
}
但是ls(sceneDir)
显示目录中的所有文件。有人遇到过吗?
答案 0 :(得分:4)
差异可能不在regexp
中,而是在返回值ls
中。捕获ls
的返回值时,它们在Matlab和Octave中的行为不同。 Matlab的ls
返回一个char行向量(单个字符串为char),其中多个文件作为包含嵌入式换行符的多行字符串列出;八度的ls
返回一个二维char数组,每行一个文件。 (IMHO Octave的格式更好;很难以可靠正确的方式解析Matlab的ls
输出。(该正则表达式代码不足。))
您可能只想在Octave中使用它:
files = cellstr(ls(sceneDir));