Intel® Linux RealSense™ SDK
The Linux RealSense™ SDK provides libraries, tools and samples to develop applications using Intel® RealSense™ cameras over librealsense API. The SDK provides functionality of record and playback of camera streams for test and validation.The SDK includes libraries which support the camera stream projection of streams into a common world-space viewpoint, and libraries which enable use of multiple Middleware modules simultaneously for common multi-modal scenarios.
Table of Contents
The library is written in standards-conforming C++11. It is developed and tested on the following platforms:
- Ubuntu 16.04 x64 (GCC 4.9 toolchain)
- Ostro Build 102 - Intel® RealSense™ layers for Yocto build can be found at https://github.com/IntelRealSense/meta-intel-realsense
Supported Languages and Frameworks
API is experimental and not an official Intel product. It is subject to incompatible API changes in future updates. Breaking API changes are noted through release numbers
- Recording and Playback-
The SDK provides recording and playback modules for application developers testing and validation usages. The modules is standalone utilities, which expose camera API, as defined by librealsense, and can replace the calls to the camera from the application. The record module is loading librealsense to access the physical camera, configure it and stream images. The module is saving to file all application operations on the camera and the outputs streams of the camera and motion module. The playback module is supporting files which were recorded using the linux SDK recorder and the windows RSSDK recorder (till version 2016 R2).
- Frame data container -
The SDK provides image container for raw image access, and basic image processing services, such as format conversion, mirror, rotation etc. It is caching the processing output, to optimize multiple requests of the same operation. The SDK provides access to camera and motion sensors output images using a frame container with synchronized images and samples from the relevant streams. The frame container includes all relevant raw buffers, metadata and information required to access the attached images.
- Spatial correlation and projection -
The SDK provides a library which executes spatial correlation and projection functions. It receives the streams intrinsics and extrinsics parameters, as provided by the camera, and the depth image. The library provides: Depth image to color image pixels mapping, and color to depth. Depth / color image pixels (un)projection to/from world coordinates. Create full images:
- uv map (depth to color)
- inverse uv map (color to depth)
- point cloud (same as the corresponding stream)
- color mapped to depth and depth mapped to color (same as the corresponding stream)
- Tools -
- Spatial mapping and projection tool for visualization of mapping features
In order to successfully compile and use the SDK, you should install the following list of dependencies
- librealsense v1.9.4
- gtest (googletest)
How to enable logging in your application
- Install log4cxx.
sudo apt-get install liblog4cxx10 liblog4cxx10-dev
- log is not compiling by default . In order to compile it, uncomment line 17 in sdk/src/utilities/logger/CMakeLists.txt
- Copy “RSLogs” directory to your home directory.
- In ~/RSLogs/, edit rslog.properties file to the output logs files you want to create. Root logger is the logger that always exists, but you may add your own logger. Pay attention to the log level hierarchy.
- Inlude file “log_utils.h” to your source/header files.
- Add “log_utils” to your link libraries (liblog_utils.so)
- Use defines from “log_utils.h” to log, (File name and ine number will be logged automatically) in example: > LOG_DEBUG(“This is my demo DEBUG message number %d with string %s\n”, 1, “HELLO WORLD”);
Copyright 2016 Intel Corporation
Licensed under the Apache License, Version 2.0 (the “License”); you may not use this project except in compliance with the License. You may obtain a copy of the License at
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an “AS IS” BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.