2D图像捕获流程
2D捕获API会在采集完成后返回。
const auto frame2D = camera.capture2D(settings);
using (var frame2D = camera.Capture2D(settings))
with camera.capture_2d(settings) as frame_2d:
从Frame2D对象获取图像的方法会在2D图像在CPU内存中可用后返回。此函数调用会造成阻塞,直到处理和复制过程完成。图像对象持有CPU内存中图像数据的句柄。
小技巧
使用 推荐的硬件 来最小化2D图像处理时间。
const auto imageSRGB = frame2D.imageSRGB();
var imageSRGB = frame2D.ImageSRGB();
image_srgb = frame_2d.image_srgb()
It is possible to get the image in different color spaces, as linear RGB (BGRA
and RGBA
) and sRGB (SRGB
).
For more information, see 2D 色彩空间和输出格式.
备注
In C++ and C#, class Zivid::Image
inherits from Zivid::Array2D
and provides, in addition, a method to save the image in PNG file format.
当图像在CPU内存中可用时,我们可以在机器视觉应用程序中使用它或将其保存到磁盘。
const auto imageFile = "ImageSRGB.png";
std::cout << "Saving 2D color image (sRGB color space) to file: " << imageFile << std::endl;
imageSRGB.save(imageFile);
var imageFile = "ImageSRGB.png";
Console.WriteLine("Saving 2D color image (sRGB color space) to file: " + imageFile);
imageSRGB.Save(imageFile);
image_file = "ImageSRGB.png"
print(f"Saving 2D color image (sRGB color space) to file: {image_file}")
image_srgb.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的捕获速度。 |