This topic will show you how to work with a pointcloud acquired by a ZividOne+ sensor in CVB in C#.
To do this I created a DLL containing functions to directly convert a Zivid-pointcloud to a CVB-pointcloud.
To use the functionality of the DLL you need also need to add ZividCoreNet.dll and ZividVis3DNET.dll as well Stemmer.Cvb.dll to your references.
Get a Zivid.NET.Frame by acquiring a snapshot with your Zivid sensor or load a saved *.zdf-file frome your harddisc. Information on how to use the ZividSDK can be found here.
After you received you Zivid.NET.Frame you have multiple options with the CVBZividLib.dll. There are multiple functions to get a color image, intensity image and of course a Stemmer.Cvb.Pointcloud from the Zivid.NET.Frame.
An example code on basic functionalitiy on the DLL will be added soon.
Note that the CVBZividLib is only compatible with Zivid SDK 1.8.1 and lower.
Using CVB 13.04.000 and Zivid SDK 2.4.0 will allow you to acquire pointclouds over the multipart acquisition interface of CVB using the Zivid GenTL.
Use the following lines of code to acquire a Zivid multipart composite in CVB:
The following references are required:
using Stemmer.Cvb;
using Stemmer.Cvb.Driver;
Use the DeviceFactory discver to access and open the Zivid over the GenTL.
Note that using a Zivid One+ the discovery will return two devices. One is the Zivid 3D-Camera and one will be the build in camera ofthe Zivid that should not be used. Zivid Two will be detected as one single device.
To acquire an image create and start a composite stream:
var stream = device.GetStream<CompositeStream>(0);
stream.Start();
Composite imgComposite = stream.Wait();
stream.Stop();