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 Guide
- Compatible Devices
- Compatible Platforms
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
- 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 (Firmware 1.0.72.06 and up)
- RealSense F200 (Firmware 18.104.22.168 and up)
- RealSense SR300 (Firmware 22.214.171.124 and up)
- RealSense LR200 (Firmware 126.96.36.199 and up)
- RealSense ZR300
- Camera Firmware 188.8.131.52 and up
- USB Adapter Board Firmware 184.108.40.206 and up
- Motion Module Firmware 220.127.116.11 and up
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 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):
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.