Intel® RealSense™ Cross Platform API
|Linux and OS X|
This project is a cross-platform library (Linux, Windows, Mac) for capturing data from the Intel® RealSense™ F200, SR300, R200, LR200 and the ZR300 cameras. This effort was initiated to better support researchers, creative coders, and app developers in domains such as robotics, virtual reality, and the internet of things. Several often-requested features of RealSense™ devices are implemented in this project, including multi-camera capture.
Developer kits containing the necessary hardware to use this library are available for purchase at this link. This project is separate from the production software stack available in the Intel® RealSense™ SDK, namely that this library only encompasses camera capture functionality without additional computer vision algorithms.
The Intel® RealSense™ Cross Platform API is experimental and not an official Intel product. It is subject to incompatible API changes in future updates.
Table of Contents
- Installation Guides:
- Useful Links
- Compatible Devices
- Compatible Platforms
- Intel RealSense Community - Official support, Q&A and other useful content
- Support Site - Contains content and web ticket capability for 1:1 interaction
- SDK Design Guidelines - Guidelines and tips for designing applications using RealSense cameras
- R200 Datasheet - In-depth information about the R200 camera hardware.
- Intel RealSense Stereoscopic Depth Cameras - A technical paper describing the R200, LR200, SR300 and RS400 in detail. Includes theoretical background, performance expectations, post-processing suggestions, etc.
A comprehensive suite of sample and tutorial applications are provided in the
/examples subdirectory. For new users, it is best to review the tutorial series of apps which are designed to progressively introduce API features.
- C API - With doxygen-style API comments
- To build documentation locally from sources, on Ubuntu run the following commands:
sudo apt-get install doxygen
- What's New?
- Projection APIs - A guide on coordinate systems, calibration information, and projection
- Camera Spec Sheet - A brief overview of R200, F200 and SR300
- Developer Notes - Several informal notes gathered during internal releases
- OpenCV Tutorial - Getting started with librealsense using OpenCV
- Stream Formats - A list of available stream resolutions and pixel formats provided by the supported devices.
- Branching and Releases - Overview of live branches and major releases
- Native streams: depth, color, infrared and fisheye.
- Synthetic streams: rectified images, depth aligned to color and vice versa, etc.
- Intrinsic/extrinsic calibration information.
- Majority of hardware-specific functionality for individual camera generations (UVC XU controls).
- Multi-camera capture across heterogeneous camera architectures (e.g. mix R200 and F200 in same application)
- Motion-tracking sensors acquisition (ZR300 only)
- RealSense R200
- RealSense F200
- RealSense SR300
- RealSense LR200
- RealSense ZR300
The library is written in standards-conforming C++11 and relies only on the C89 ABI for its public interface. It is developed and tested on the following platforms:
- Ubuntu 14.04 and 16.04 LTS (GCC 4.9 toolchain)
- Windows 8.1 and Windows 10 (Visual Studio 2015 Update 2)
- Mac OS X 10.7+ (Clang toolchain)
Developer kits containing the necessary hardware to use this library are available for purchase at this link. In addition, several consumer tablets and laptops with integrated cameras may also function, such as the HP Spectre x2 with R200.
Developer kits require USB 3.0. RealSense™ cameras do not provide backwards compatibility with USB 2.0. Not all USB host chipsets are compatible with this library, although it has been validated with recent generations of the Intel Host Controller chipset. An exhaustive list of incompatible hardware is not presently provided. On x86, a Haswell or newer architecture is recommended.
For small-form factor usages, this library has been demonstrated to work on the following boards:
The library has been integrated with a number of third-party components and operating systems. While most of these projects are not directly supported by the team, they are useful resources for users of this library.
- Robotic Operating System (Intel Supported; R200, F200, SR300 all supported)
- Yocto / WindRiver Linux
- Arch Linux
Additional language bindings (experimental, community maintained):
Excellent blog-series by @teknotus covering the fundamentals of working with RealSense on Linux:
- Intel RealSense camera on Linux
- 3d Camera Controls
- Infrared, calibration, point clouds
- The long road to ubiquitous 3d cameras
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.