2D图像捕获流程

备注

Zivid SDK 2.9 的2D图像捕获过程发生了显着变化。如需查看早期SDK版本的流程,请更改左上角的知识库版本。

2D捕获API会在采集完成后返回。

跳转到源码

源码

const auto frame2D = camera.capture(settings2D);
跳转到源码

源码

using (var frame2D = camera.Capture(settings2D))
跳转到源码

源码

with camera.capture(settings_2d) as frame_2d:

从Frame2D对象获取图像的方法会在2D图像在CPU内存中可用后返回。此函数调用会造成阻塞,直到处理和复制过程完成。图像对象持有CPU内存中图像数据的句柄。

小技巧

使用 推荐的硬件 来最小化2D图像处理时间。

跳转到源码

源码

const auto image = frame2D.imageRGBA();
跳转到源码

源码

var image = frame2D.ImageRGBA();
跳转到源码

源码

image = frame_2d.image_rgba()

备注

在C++中,类 Zivid::Image 继承自 Zivid::Array2D ,同时还提供一种将图像保存为PNG文件格式的方法。

当图像在CPU内存中可用时,我们可以在机器视觉应用程序中使用它或将其保存到磁盘。

跳转到源码

源码

const auto imageFile = "Image.png";
std::cout << "Saving 2D color image to file: " << imageFile << std::endl;
image.save(imageFile);
跳转到源码

源码

var imageFile = "Image.png";
Console.WriteLine("Saving 2D color image to file: {0}", imageFile);
image.Save(imageFile);
跳转到源码

源码

image_file = "Image.png"
print(f"Saving 2D color image to file: {image_file}")
image.save(image_file)

小技巧

为了优化时间,请在2D捕获API返回后移动机器人或移动场景中的对象。这必须在调用API从Frame2D对象获取图像之前或同时发生。

小心

如果2D捕获的设置中亮度>0,则Zivid One+相机在更改捕获模式(2D 和 3D)时会有时间损失。您可以阅读更多相关的信息 2D和3D切换限制.

版本历史

SDK

变更

2.9.0

捕获(Capture)功能在采集完成后返回,提高了捕获速度。

2.8.0

提高了Zivid 2的捕获速度。