逐帧读取文件

时间:2018-08-08 10:00:35

标签: matlab for-loop point-clouds

我有一个包含.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'中读取

我在哪里犯错?

1 个答案:

答案 0 :(得分:1)

使用数据存储区要容易得多,它将为您跟踪所有内容。例如

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

然后您可以使用readreadall(例如

)从文件中读取文件
while hasdata(ds)
    plys = read(ds);
    pcshow(plys)
end

这比您可以实现最佳实现的速度慢一点,但是我更喜欢它,因为它易于实现。

相关问题