libvisiontransfer  6.4.0
Vision Transfer Library 6.4.0

The given library provides functionally for receiving and transmitting image pairs over a computer network. The intended use for this library is to receive output data from Nerian's SceneScan sensor systems. However, the library also provides functionality for transmitting image pairs. It can thus be used for emulating SceneScan when performing systems development, or for transmitting image data to SceneScan when using network image input.

Images can be transferred with a bit depth of either 8 or 12 bits. When receiving 12-bit images, the library inflates the images internally to 16 bits, in order to allow for more efficient processing. Monochrome and RGB images are supported.

When receiving data from SceneScan, the first image of an image pair is typically the rectified image of the left camera, with a bit depth of 8 or 12 bits. The second image is typically a disparity map with subpixel resolution, which is transmitted as a 12-bit image. Each value in the disparity map has to be divided by 16 in order to receive disparities at the correct scale.

There exist three possible ways for receiving and transmitting image pairs:

In order to discover connected devices on the network, the class visiontransfer::DeviceEnumeration can be used, which scans for available devices and returns a list of visiontransfer::DeviceInfo objects. Such a visiontransfer::DeviceInfo object can be used for instantiating visiontransfer::ImageTransfer or visiontransfer::AsyncTransfer.

A separate network protocol is used for reading and writing device parameters. For SceneScan devices, this protocol is implemented by visiontransfer::SceneScanParameters. Any parameters are changed through this protocol will be reset if the device is rebooted or if the user makes a parameter change through the web interface.

The library further includes the class visiontransfer::Reconstruct3D, which can be used for transforming a received disparity map into a set of 3D points.

Available Examples

File name Description
asynctransfer_example.cpp Demonstration of asynchroneous transfers with visiontransfer::AsyncTransfer.
imagetransfer_example.cpp Demonstration of synchroneous transfers with visiontransfer::ImageTransfer.
opencv_example.cpp Shows how to convert an ImagePair to OpenCV images.
parameter_example.cpp Shows how to read and write device parameters.
pcl_example.cpp Shows how to convert a disparity map to a PCL point cloud
server_example.cpp Shows how to create a server that acts like a SceneScan device.

Changelog

Nerian Vision Technologies