Intel® RealSense™ Cross Platform API
Intel Realsense Cross-platform API
|
RS400 is the newest in the series of stereo-based RealSense devices. It is provided in a number distinct models, all sharing the same depth-from-stereo ASIC. The models differ in optics, global vs. rolling shutter, and the projector capabilities. In addition, different use-cases may introduce different lighting conditions, aim at different range, etc... As a result, depth-from-stereo algorithm in the hardware has to be able to adjust to vastly different stereo input images. To achieve this goal, RS400 ASIC provides an extended set of controls aimed at advanced users, allowing to fine-tune the depth generation process. (and some other like color-correction) Advanced mode hardware APIs are designed to be safe, in the sense that the user can't brick the device. You always have the option to exit advanced mode, and fall back to default mode of operation. However, while tinkering with the advanced controls, depth quality and stream frame-rate are not guarantied. You are making changes on your own risk.
To build advanced mode APIs in addition to librealsense, you need to configure cmake
with the following additional parameter: -DBUILD_RS400_EXTRAS=true
. For example: cmake .. -DBUILD_EXAMPLES=true -DBUILD_RS400_EXTRAS=true
You will need one of the following compilers (or newer) for JSON support:
Once the library is built, navigate to the output folder (./build/rs400/examples from librealsense folder on Linux) and run rs400-advanced-mode-sample
:
This application allows you to adjust various controls live and load existing presets (you can drag & drop JSON file into the application)
At the moment, RS400 advanced mode produces single library rs400-advanced-mode
(.so / .dll) dependent on librealsense. This library provides C wrappers for the various controls:
(see ./rs400/examples/c-sample.c)
In addition, you can use advanced mode functionality in your C++ application without linking with any additional dependencies by just including rs400_advanced_mode/rs400_advanced_mode.hpp
(under /rs400/include
):
It is recommended to set advanced mode controls when not streaming.