逐帧读取文件

Reading files frame by frame

我有一个包含 .ply 文件的文件夹。我想阅读它们并像动画一样绘制它们。最初我试图读取文件并使用以下代码单独绘制:

testfiledir = 'Files\';
plyfiles = dir(fullfile(testfiledir, '*.ply'));

for k=1:length(plyfiles)
   FileNames = plyfiles(k).name;
   plys=pcread(FileNames);
   pcshow(plys)
end

但是当 运行 脚本出现错误时: Error using pcread (line 51) File "val0.ply" does not exist. Error in read_pcd (line 6) plys=pcread(FileNames);

val0.ply 是我在变量 'plyfiles'

中读取的第一帧

我哪里出错了?

使用数据存储会更容易,并且会为您跟踪所有内容。例如

ds = fileDatastore("Files/","ReadFcn",@pcread,"FileExtensions",".ply");

然后您可以使用 readreadall 从中读取文件,例如

while hasdata(ds)
    plys = read(ds);
    pcshow(plys)
end

它比你能做出最佳实现要慢一些,但我更喜欢它的易用性。