点云捕获过程
备注
Zivid SDK 2.9 的点云捕获过程发生了显着变化。如需查看早期 SDK 版本的流程,请更改左上角的知识库版本。
捕获(capture )API 将在采集(acquisition )完成后返回。这是相机完成捕获原始图像的时刻。
获取点云的 API 会在点云处理完成之前或完成之时及时返回。这取决于 GPU(供应商和驱动程序)。因此,点云 API 返回后,点云处理可能仍在后台运行。点云对象持有 GPU 内存中点云数据的句柄。
备注
获取点云的 API 不会触发点云处理,这是随同捕获 API 自动发生的。
小技巧
采用 推荐的硬件 以最小化计算时间。
小技巧
为了优化时间,您可以在捕获(capture )API 返回后移动机器人或移动场景中的对象。这可以在调用 API 获取点云之前或同时发生。
我们需要调用 API 将点云从 GPU 内存复制到 CPU 内存。复制功能将阻塞并等到数据可用后再复制。当函数返回时,数据已经在 CPU 内存中并处于可使用的状态。
备注
即使使用带有集成 GPU 的 CPU,数据也会被复制到同一主 RAM 上的不同区域。
当点云在 CPU 内存上可用时,我们即可在机器视觉应用程序中使用它。
有关点云的更多信息,请参阅 点云教程 。
readFrameFileType returns whether a .zdf file contains a 3D Frame or a Frame2D.
This is useful when a file path is given as input and the type is not known in advance.
const auto frameFileType = Zivid::readFrameFileType(dataFile);
std::cout << "Frame file type: " << (frameFileType == Zivid::FrameFileType::frame ? "Frame" : "Frame2D")
<< std::endl;
性能注意事项
阅读 性能注意事项 以了解如何利用 Zivid SDK 优化您的应用以提高点云捕获过程的速度。内容包含:
版本历史
SDK |
变更 |
|---|---|
2.18.0 |
Added |
2.16.0 |
添加了到 点云教程 链接,因为它提供了有关点云对象的更多详细信息。 |
2.12.0 |
使用低端 GPU,启用颜色的捕获时间减少了 10-20%。Zivid 2+ 上的 3D 采集时间减少了约 5%。 |
2.11.0 |
Zivid 2 和 2+ 现在支持 3D➞2D 和 3D➞2D 的并发处理和采集,并且优化了捕获模式之间的切换。 |
2.10.0 |
使用孔洞填充功能且禁用颜色时,捕获速度会得到提高。 |
2.9.0 |
捕获函数在采集完成后返回,提高了捕获速度。 |
2.8.0 |
提高了 Zivid 2 的捕获速度。 |