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()
可以以不同的模式获取图像,例如 BGRA
或 sRGB
。更多相关信息,请参阅 2D 色彩空间和输出格式 。
备注
在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对象获取图像之前或同时发生。
版本历史
SDK |
变更 |
---|---|
2.12.0 |
Zivid 2+ 上的 2D 采集时间减少了高达 50%。 |
2.11.0 |
添加了对 SRGB 色彩空间的支持。 |
2.9.0 |
捕获(Capture)功能在采集完成后返回,提高了捕获速度。 |
2.8.0 |
提高了Zivid 2的捕获速度。 |