我在MATLAB
中遇到了以下几行:
m = dir(fullfile(dataset,'*.png'));
m = {m(~[m.isdir]).name};
据我所知,第一行是尝试从目录中获取.png
个文件。但是,试图执行的第二行是什么? isdir
似乎确定输入是目录。这就是我对那部分的新意。但是,尝试执行的线路是什么?
感谢。
答案 0 :(得分:3)
第二行是获取所有不是目录的文件,然后获取相应的名称并将它们存储到单元格数组中
m.isdir
表示它是否是文件夹
~[m.isdir]
将指示从isdir
返回的值是0。m(~[m.isdir])
抓取由上面所做的逻辑索引确定的m中的所有对象m(~[m.isdir]).name
获取所有人的姓名{m(~[m.isdir]).name}
将它们全部存储在单元格数组希望这一步一步的演练有所帮助。
虽然我不确定为什么第二行是必要的,因为fullfile(dataset,'*.png')
应该只返回以.png
结尾的路径,这不是文件夹,我想最好检查一下。< / p>