Repository Summary
Checkout URI | https://github.com/IntelRealSense/librealsense.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2023-11-15 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Packages
Name | Version |
---|---|
librealsense2 | 2.54.2 |
README
Overview
Intel® RealSense™ SDK 2.0 is a cross-platform library for Intel® RealSense™ depth cameras (D400 & L500 series and the SR300).
:pushpin: For other Intel® RealSense™ devices (F200, R200, LR200 and ZR300), please refer to the latest legacy release.
The SDK allows depth and color streaming, and provides intrinsic and extrinsic calibration information. The library also offers synthetic streams (pointcloud, depth aligned to color and vise-versa), and a built-in support for record and playback of streaming sessions.
Developer kits containing the necessary hardware to use this library are available for purchase at store.intelrealsense.com. Information about the Intel® RealSense™ technology at www.intelrealsense.com
:open_file_folder: Don't have access to a RealSense camera? Check-out sample data
Update on Recent Changes to the RealSense Product Line
Intel has EOLed the LiDAR, Facial Authentication, and Tracking product lines. These products have been discontinued and will no longer be available for new orders.
Intel WILL continue to sell and support stereo products including the following: D410, D415, D430, , D401 ,D450 modules and D415, D435, D435i, D435f, D405, D455, D457 depth cameras. We will also continue the work to support and develop our LibRealSense open source SDK.
In the future, Intel and the RealSense team will focus our new development on advancing innovative technologies that better support our core businesses and IDM 2.0 strategy.
Building librealsense - Using vcpkg
You can download and install librealsense using the vcpkg dependency manager:
git clone https://github.com/Microsoft/vcpkg.git
cd vcpkg
./bootstrap-vcpkg.sh
./vcpkg integrate install
./vcpkg install realsense2
The librealsense port in vcpkg is kept up to date by Microsoft team members and community contributors. If the version is out of date, please create an issue or pull request on the vcpkg repository.
Download and Install
Download - The latest releases including the Intel RealSense SDK, Viewer and Depth Quality tools are available at: latest releases. Please check the release notes for the supported platforms, new features and capabilities, known issues, how to upgrade the Firmware and more.
Install - You can also install or build from source the SDK (on Linux \ Windows \ Mac OS \ Android \ Docker), connect your D400 depth camera and you are ready to start writing your first application.
Support & Issues: If you need product support (e.g. ask a question about / are having problems with the device), please check the FAQ & Troubleshooting section. If not covered there, please search our Closed GitHub Issues page, Community and Support sites. If you still cannot find an answer to your question, please open a new issue.
What’s included in the SDK:
What | Description | Download link |
---|---|---|
Intel® RealSense™ Viewer | With this application, you can quickly access your Intel® RealSense™ Depth Camera to view the depth stream, visualize point clouds, record and playback streams, configure your camera settings, modify advanced controls, enable depth visualization and post processing and much more. | Intel.RealSense.Viewer.exe |
Depth Quality Tool | This application allows you to test the camera’s depth quality, including: standard deviation from plane fit, normalized RMS – the subpixel accuracy, distance accuracy and fill rate. You should be able to easily get and interpret several of the depth quality metrics and record and save the data for offline analysis. | Depth.Quality.Tool.exe |
Debug Tools | Device enumeration, FW logger, etc as can be seen at the tools directory | Included in Intel.RealSense.SDK.exe |
Code Samples | These simple examples demonstrate how to easily use the SDK to include code snippets that access the camera into your applications. Check some of the C++ examples including capture, pointcloud and more and basic C examples | Included in Intel.RealSense.SDK.exe |
Wrappers | Python, C#/.NET API, as well as integration with the following 3rd-party technologies: ROS1, ROS2, LabVIEW, OpenCV, PCL, Unity, Matlab, OpenNI, UnrealEngine4 and more to come. |
Ready to Hack!
Our library offers a high level API for using Intel RealSense depth cameras (in addition to lower level ones). The following snippet shows how to start streaming frames and extracting the depth value of a pixel:
// Create a Pipeline - this serves as a top-level API for streaming and processing frames
rs2::pipeline p;
// Configure and start the pipeline
p.start();
while (true)
{
// Block program until frames arrive
rs2::frameset frames = p.wait_for_frames();
// Try to get a frame of a depth image
rs2::depth_frame depth = frames.get_depth_frame();
// Get the depth frame's dimensions
float width = depth.get_width();
float height = depth.get_height();
// Query the distance from the camera to the object in the center of the image
float dist_to_center = depth.get_distance(width / 2, height / 2);
// Print the distance
std::cout << "The camera is facing an object " << dist_to_center << " meters away \r";
}
For more information on the library, please follow our examples, and read the documentation to learn more.
Contributing
In order to contribute to Intel RealSense SDK, please follow our contribution guidelines.
License
This project is licensed under the Apache License, Version 2.0. Copyright 2018 Intel Corporation
CONTRIBUTING
How to Contribute
This project welcomes third-party code via GitHub pull requests.
You are welcome to propose and discuss enhancements using project issues.
Branching Policy: The
master
branch is considered stable, at all times. Thedevelopment
branch is the one where all contributions must be merged before being promoted to master. If you plan to propose a patch, please commit into thedevelopment
branch, or its own feature branch.
We recommend enabling travis-ci on your fork of librealsense
to make sure the changes compile on all platforms and pass unit-tests.
In addition, please run pr_check.sh
and api_check.sh
under scripts
directory. These scripts verify compliance with project's standards:
- Every example / source file must refer to LICENSE
- Every example / source file must include correct copyright notice
- For indentation we are using spaces and not tabs
- Line-endings must be Unix and not DOS style
- Every API header file must be able to compile as the first included header (no implicit dependencies)
Most common issues can be automatically resolved by running ./pr_check.sh --fix
Please familirize yourself with the Apache License 2.0 before contributing.
Step-by-Step
- Make sure you have
git
andcmake
installed on your system. On Windows we recommend using Git Extensions for git bash. - Run
git clone https://github.com/IntelRealSense/librealsense.git
andcd librealsense
- To align with latest status of the development branch, run:
git fetch origin
git checkout development
git reset --hard origin/development
-
git checkout -b name_of_your_contribution
to create a dedicated branch - Make your changes to the local repository
- Make sure your local git user is updated, or run
git config --global user.email "email@example.com"
andgit config --global user.user "user"
to set it up. This is the user & email that will appear in GitHub history. -
git add -p
to select the changes you wish to add git commit -m "Description of the change"
- Make sure you have a GitHub user and fork librealsense
-
git remote add fork https://github.com/username/librealsense.git
with your GitHubusername
git fetch fork
-
git push fork
to pushname_of_your_contribution
branch to your fork - Go to your fork on GitHub at
https://github.com/username/librealsense
- Click the
New pull request
button - For
base
combo-box selectdevelopment
, since you want to submit a PR to that branch - For
compare
combo-box selectname_of_your_contribution
with your commit - Review your changes and click
Create pull request
- Wait for all automated checks to pass
- The PR will be approved / rejected after review from the team and the community
To continue to new change, goto step 3.
To return to your PR (in order to make more changes):
1. git stash
2. git checkout name_of_your_contribution
3. Repeat items 5-8 from the previous list
4. git push fork
The pull request will be automatically updated
Comment about the Wrappers
It is very time consuming (and often impossible) for a single developer to test contributed functionality using all of the supported wrappers. There is no expectation of adding new functionality to all of the wrappers. One noteable exception is maintaining parity of public enumerations. Without strict maintanance it is easy for these lists to go out of sync and this can have serious runtime consequences.
For example, when adding new value to rs2_option
enum, please also add it to:
1. The list of Matlab options under wrappers/matlab/option.m
2. The list of options for Unreal Engine integration
3. The list of options in the C# wrapper - wrappers/csharp/Intel.RealSense/Types/Enums/Option.cs
4. The list of Java options used for Android integration - wrappers/android/librealsense/src/main/java/com/intel/realsense/librealsense/Option.java
5. The list of options in the python wrapper
Once all are updated travis-ci will give clear indication that each of the wrappers is still passing compilation.
Repository Summary
Checkout URI | https://github.com/IntelRealSense/librealsense.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2023-11-15 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Packages
Name | Version |
---|---|
librealsense2 | 2.54.2 |
README
Overview
Intel® RealSense™ SDK 2.0 is a cross-platform library for Intel® RealSense™ depth cameras (D400 & L500 series and the SR300).
:pushpin: For other Intel® RealSense™ devices (F200, R200, LR200 and ZR300), please refer to the latest legacy release.
The SDK allows depth and color streaming, and provides intrinsic and extrinsic calibration information. The library also offers synthetic streams (pointcloud, depth aligned to color and vise-versa), and a built-in support for record and playback of streaming sessions.
Developer kits containing the necessary hardware to use this library are available for purchase at store.intelrealsense.com. Information about the Intel® RealSense™ technology at www.intelrealsense.com
:open_file_folder: Don't have access to a RealSense camera? Check-out sample data
Update on Recent Changes to the RealSense Product Line
Intel has EOLed the LiDAR, Facial Authentication, and Tracking product lines. These products have been discontinued and will no longer be available for new orders.
Intel WILL continue to sell and support stereo products including the following: D410, D415, D430, , D401 ,D450 modules and D415, D435, D435i, D435f, D405, D455, D457 depth cameras. We will also continue the work to support and develop our LibRealSense open source SDK.
In the future, Intel and the RealSense team will focus our new development on advancing innovative technologies that better support our core businesses and IDM 2.0 strategy.
Building librealsense - Using vcpkg
You can download and install librealsense using the vcpkg dependency manager:
git clone https://github.com/Microsoft/vcpkg.git
cd vcpkg
./bootstrap-vcpkg.sh
./vcpkg integrate install
./vcpkg install realsense2
The librealsense port in vcpkg is kept up to date by Microsoft team members and community contributors. If the version is out of date, please create an issue or pull request on the vcpkg repository.
Download and Install
Download - The latest releases including the Intel RealSense SDK, Viewer and Depth Quality tools are available at: latest releases. Please check the release notes for the supported platforms, new features and capabilities, known issues, how to upgrade the Firmware and more.
Install - You can also install or build from source the SDK (on Linux \ Windows \ Mac OS \ Android \ Docker), connect your D400 depth camera and you are ready to start writing your first application.
Support & Issues: If you need product support (e.g. ask a question about / are having problems with the device), please check the FAQ & Troubleshooting section. If not covered there, please search our Closed GitHub Issues page, Community and Support sites. If you still cannot find an answer to your question, please open a new issue.
What’s included in the SDK:
What | Description | Download link |
---|---|---|
Intel® RealSense™ Viewer | With this application, you can quickly access your Intel® RealSense™ Depth Camera to view the depth stream, visualize point clouds, record and playback streams, configure your camera settings, modify advanced controls, enable depth visualization and post processing and much more. | Intel.RealSense.Viewer.exe |
Depth Quality Tool | This application allows you to test the camera’s depth quality, including: standard deviation from plane fit, normalized RMS – the subpixel accuracy, distance accuracy and fill rate. You should be able to easily get and interpret several of the depth quality metrics and record and save the data for offline analysis. | Depth.Quality.Tool.exe |
Debug Tools | Device enumeration, FW logger, etc as can be seen at the tools directory | Included in Intel.RealSense.SDK.exe |
Code Samples | These simple examples demonstrate how to easily use the SDK to include code snippets that access the camera into your applications. Check some of the C++ examples including capture, pointcloud and more and basic C examples | Included in Intel.RealSense.SDK.exe |
Wrappers | Python, C#/.NET API, as well as integration with the following 3rd-party technologies: ROS1, ROS2, LabVIEW, OpenCV, PCL, Unity, Matlab, OpenNI, UnrealEngine4 and more to come. |
Ready to Hack!
Our library offers a high level API for using Intel RealSense depth cameras (in addition to lower level ones). The following snippet shows how to start streaming frames and extracting the depth value of a pixel:
// Create a Pipeline - this serves as a top-level API for streaming and processing frames
rs2::pipeline p;
// Configure and start the pipeline
p.start();
while (true)
{
// Block program until frames arrive
rs2::frameset frames = p.wait_for_frames();
// Try to get a frame of a depth image
rs2::depth_frame depth = frames.get_depth_frame();
// Get the depth frame's dimensions
float width = depth.get_width();
float height = depth.get_height();
// Query the distance from the camera to the object in the center of the image
float dist_to_center = depth.get_distance(width / 2, height / 2);
// Print the distance
std::cout << "The camera is facing an object " << dist_to_center << " meters away \r";
}
For more information on the library, please follow our examples, and read the documentation to learn more.
Contributing
In order to contribute to Intel RealSense SDK, please follow our contribution guidelines.
License
This project is licensed under the Apache License, Version 2.0. Copyright 2018 Intel Corporation
CONTRIBUTING
How to Contribute
This project welcomes third-party code via GitHub pull requests.
You are welcome to propose and discuss enhancements using project issues.
Branching Policy: The
master
branch is considered stable, at all times. Thedevelopment
branch is the one where all contributions must be merged before being promoted to master. If you plan to propose a patch, please commit into thedevelopment
branch, or its own feature branch.
We recommend enabling travis-ci on your fork of librealsense
to make sure the changes compile on all platforms and pass unit-tests.
In addition, please run pr_check.sh
and api_check.sh
under scripts
directory. These scripts verify compliance with project's standards:
- Every example / source file must refer to LICENSE
- Every example / source file must include correct copyright notice
- For indentation we are using spaces and not tabs
- Line-endings must be Unix and not DOS style
- Every API header file must be able to compile as the first included header (no implicit dependencies)
Most common issues can be automatically resolved by running ./pr_check.sh --fix
Please familirize yourself with the Apache License 2.0 before contributing.
Step-by-Step
- Make sure you have
git
andcmake
installed on your system. On Windows we recommend using Git Extensions for git bash. - Run
git clone https://github.com/IntelRealSense/librealsense.git
andcd librealsense
- To align with latest status of the development branch, run:
git fetch origin
git checkout development
git reset --hard origin/development
-
git checkout -b name_of_your_contribution
to create a dedicated branch - Make your changes to the local repository
- Make sure your local git user is updated, or run
git config --global user.email "email@example.com"
andgit config --global user.user "user"
to set it up. This is the user & email that will appear in GitHub history. -
git add -p
to select the changes you wish to add git commit -m "Description of the change"
- Make sure you have a GitHub user and fork librealsense
-
git remote add fork https://github.com/username/librealsense.git
with your GitHubusername
git fetch fork
-
git push fork
to pushname_of_your_contribution
branch to your fork - Go to your fork on GitHub at
https://github.com/username/librealsense
- Click the
New pull request
button - For
base
combo-box selectdevelopment
, since you want to submit a PR to that branch - For
compare
combo-box selectname_of_your_contribution
with your commit - Review your changes and click
Create pull request
- Wait for all automated checks to pass
- The PR will be approved / rejected after review from the team and the community
To continue to new change, goto step 3.
To return to your PR (in order to make more changes):
1. git stash
2. git checkout name_of_your_contribution
3. Repeat items 5-8 from the previous list
4. git push fork
The pull request will be automatically updated
Comment about the Wrappers
It is very time consuming (and often impossible) for a single developer to test contributed functionality using all of the supported wrappers. There is no expectation of adding new functionality to all of the wrappers. One noteable exception is maintaining parity of public enumerations. Without strict maintanance it is easy for these lists to go out of sync and this can have serious runtime consequences.
For example, when adding new value to rs2_option
enum, please also add it to:
1. The list of Matlab options under wrappers/matlab/option.m
2. The list of options for Unreal Engine integration
3. The list of options in the C# wrapper - wrappers/csharp/Intel.RealSense/Types/Enums/Option.cs
4. The list of Java options used for Android integration - wrappers/android/librealsense/src/main/java/com/intel/realsense/librealsense/Option.java
5. The list of options in the python wrapper
Once all are updated travis-ci will give clear indication that each of the wrappers is still passing compilation.
Repository Summary
Checkout URI | https://github.com/IntelRealSense/librealsense.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2023-11-15 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Packages
Name | Version |
---|---|
librealsense2 | 2.54.2 |
README
Overview
Intel® RealSense™ SDK 2.0 is a cross-platform library for Intel® RealSense™ depth cameras (D400 & L500 series and the SR300).
:pushpin: For other Intel® RealSense™ devices (F200, R200, LR200 and ZR300), please refer to the latest legacy release.
The SDK allows depth and color streaming, and provides intrinsic and extrinsic calibration information. The library also offers synthetic streams (pointcloud, depth aligned to color and vise-versa), and a built-in support for record and playback of streaming sessions.
Developer kits containing the necessary hardware to use this library are available for purchase at store.intelrealsense.com. Information about the Intel® RealSense™ technology at www.intelrealsense.com
:open_file_folder: Don't have access to a RealSense camera? Check-out sample data
Update on Recent Changes to the RealSense Product Line
Intel has EOLed the LiDAR, Facial Authentication, and Tracking product lines. These products have been discontinued and will no longer be available for new orders.
Intel WILL continue to sell and support stereo products including the following: D410, D415, D430, , D401 ,D450 modules and D415, D435, D435i, D435f, D405, D455, D457 depth cameras. We will also continue the work to support and develop our LibRealSense open source SDK.
In the future, Intel and the RealSense team will focus our new development on advancing innovative technologies that better support our core businesses and IDM 2.0 strategy.
Building librealsense - Using vcpkg
You can download and install librealsense using the vcpkg dependency manager:
git clone https://github.com/Microsoft/vcpkg.git
cd vcpkg
./bootstrap-vcpkg.sh
./vcpkg integrate install
./vcpkg install realsense2
The librealsense port in vcpkg is kept up to date by Microsoft team members and community contributors. If the version is out of date, please create an issue or pull request on the vcpkg repository.
Download and Install
Download - The latest releases including the Intel RealSense SDK, Viewer and Depth Quality tools are available at: latest releases. Please check the release notes for the supported platforms, new features and capabilities, known issues, how to upgrade the Firmware and more.
Install - You can also install or build from source the SDK (on Linux \ Windows \ Mac OS \ Android \ Docker), connect your D400 depth camera and you are ready to start writing your first application.
Support & Issues: If you need product support (e.g. ask a question about / are having problems with the device), please check the FAQ & Troubleshooting section. If not covered there, please search our Closed GitHub Issues page, Community and Support sites. If you still cannot find an answer to your question, please open a new issue.
What’s included in the SDK:
What | Description | Download link |
---|---|---|
Intel® RealSense™ Viewer | With this application, you can quickly access your Intel® RealSense™ Depth Camera to view the depth stream, visualize point clouds, record and playback streams, configure your camera settings, modify advanced controls, enable depth visualization and post processing and much more. | Intel.RealSense.Viewer.exe |
Depth Quality Tool | This application allows you to test the camera’s depth quality, including: standard deviation from plane fit, normalized RMS – the subpixel accuracy, distance accuracy and fill rate. You should be able to easily get and interpret several of the depth quality metrics and record and save the data for offline analysis. | Depth.Quality.Tool.exe |
Debug Tools | Device enumeration, FW logger, etc as can be seen at the tools directory | Included in Intel.RealSense.SDK.exe |
Code Samples | These simple examples demonstrate how to easily use the SDK to include code snippets that access the camera into your applications. Check some of the C++ examples including capture, pointcloud and more and basic C examples | Included in Intel.RealSense.SDK.exe |
Wrappers | Python, C#/.NET API, as well as integration with the following 3rd-party technologies: ROS1, ROS2, LabVIEW, OpenCV, PCL, Unity, Matlab, OpenNI, UnrealEngine4 and more to come. |
Ready to Hack!
Our library offers a high level API for using Intel RealSense depth cameras (in addition to lower level ones). The following snippet shows how to start streaming frames and extracting the depth value of a pixel:
// Create a Pipeline - this serves as a top-level API for streaming and processing frames
rs2::pipeline p;
// Configure and start the pipeline
p.start();
while (true)
{
// Block program until frames arrive
rs2::frameset frames = p.wait_for_frames();
// Try to get a frame of a depth image
rs2::depth_frame depth = frames.get_depth_frame();
// Get the depth frame's dimensions
float width = depth.get_width();
float height = depth.get_height();
// Query the distance from the camera to the object in the center of the image
float dist_to_center = depth.get_distance(width / 2, height / 2);
// Print the distance
std::cout << "The camera is facing an object " << dist_to_center << " meters away \r";
}
For more information on the library, please follow our examples, and read the documentation to learn more.
Contributing
In order to contribute to Intel RealSense SDK, please follow our contribution guidelines.
License
This project is licensed under the Apache License, Version 2.0. Copyright 2018 Intel Corporation
CONTRIBUTING
How to Contribute
This project welcomes third-party code via GitHub pull requests.
You are welcome to propose and discuss enhancements using project issues.
Branching Policy: The
master
branch is considered stable, at all times. Thedevelopment
branch is the one where all contributions must be merged before being promoted to master. If you plan to propose a patch, please commit into thedevelopment
branch, or its own feature branch.
We recommend enabling travis-ci on your fork of librealsense
to make sure the changes compile on all platforms and pass unit-tests.
In addition, please run pr_check.sh
and api_check.sh
under scripts
directory. These scripts verify compliance with project's standards:
- Every example / source file must refer to LICENSE
- Every example / source file must include correct copyright notice
- For indentation we are using spaces and not tabs
- Line-endings must be Unix and not DOS style
- Every API header file must be able to compile as the first included header (no implicit dependencies)
Most common issues can be automatically resolved by running ./pr_check.sh --fix
Please familirize yourself with the Apache License 2.0 before contributing.
Step-by-Step
- Make sure you have
git
andcmake
installed on your system. On Windows we recommend using Git Extensions for git bash. - Run
git clone https://github.com/IntelRealSense/librealsense.git
andcd librealsense
- To align with latest status of the development branch, run:
git fetch origin
git checkout development
git reset --hard origin/development
-
git checkout -b name_of_your_contribution
to create a dedicated branch - Make your changes to the local repository
- Make sure your local git user is updated, or run
git config --global user.email "email@example.com"
andgit config --global user.user "user"
to set it up. This is the user & email that will appear in GitHub history. -
git add -p
to select the changes you wish to add git commit -m "Description of the change"
- Make sure you have a GitHub user and fork librealsense
-
git remote add fork https://github.com/username/librealsense.git
with your GitHubusername
git fetch fork
-
git push fork
to pushname_of_your_contribution
branch to your fork - Go to your fork on GitHub at
https://github.com/username/librealsense
- Click the
New pull request
button - For
base
combo-box selectdevelopment
, since you want to submit a PR to that branch - For
compare
combo-box selectname_of_your_contribution
with your commit - Review your changes and click
Create pull request
- Wait for all automated checks to pass
- The PR will be approved / rejected after review from the team and the community
To continue to new change, goto step 3.
To return to your PR (in order to make more changes):
1. git stash
2. git checkout name_of_your_contribution
3. Repeat items 5-8 from the previous list
4. git push fork
The pull request will be automatically updated
Comment about the Wrappers
It is very time consuming (and often impossible) for a single developer to test contributed functionality using all of the supported wrappers. There is no expectation of adding new functionality to all of the wrappers. One noteable exception is maintaining parity of public enumerations. Without strict maintanance it is easy for these lists to go out of sync and this can have serious runtime consequences.
For example, when adding new value to rs2_option
enum, please also add it to:
1. The list of Matlab options under wrappers/matlab/option.m
2. The list of options for Unreal Engine integration
3. The list of options in the C# wrapper - wrappers/csharp/Intel.RealSense/Types/Enums/Option.cs
4. The list of Java options used for Android integration - wrappers/android/librealsense/src/main/java/com/intel/realsense/librealsense/Option.java
5. The list of options in the python wrapper
Once all are updated travis-ci will give clear indication that each of the wrappers is still passing compilation.
Repository Summary
Checkout URI | https://github.com/IntelRealSense/librealsense.git |
VCS Type | git |
VCS Version | ros2debian |
Last Updated | 2020-07-20 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Packages
Name | Version |
---|---|
librealsense2 | 2.34.0 |
README
Overview
Intel® RealSense™ SDK 2.0 is a cross-platform library for Intel® RealSense™ depth cameras (D400 series and the SR300) and the T265 tracking camera.
:pushpin: For other Intel® RealSense™ devices (F200, R200, LR200 and ZR300), please refer to the latest legacy release.
The SDK allows depth and color streaming, and provides intrinsic and extrinsic calibration information. The library also offers synthetic streams (pointcloud, depth aligned to color and vise-versa), and a built-in support for record and playback of streaming sessions.
Developer kits containing the necessary hardware to use this library are available for purchase at store.intelrealsense.com. Information about the Intel® RealSense™ technology at www.intelrealsense.com
:open_file_folder: Don't have access to a RealSense camera? Check-out sample data
Building librealsense - Using vcpkg
You can download and install librealsense using the vcpkg dependency manager:
git clone https://github.com/Microsoft/vcpkg.git
cd vcpkg
./bootstrap-vcpkg.sh
./vcpkg integrate install
./vcpkg install realsense2
The librealsense port in vcpkg is kept up to date by Microsoft team members and community contributors. If the version is out of date, please create an issue or pull request on the vcpkg repository.
Download and Install
Download - The latest releases including the Intel RealSense SDK, Viewer and Depth Quality tools are available at: latest releases. Please check the release notes for the supported platforms, new features and capabilities, known issues, how to upgrade the Firmware and more.
Install - You can also install or build from source the SDK (on Linux \ Windows \ Mac OS \ Android), connect your D400 depth camera and you are ready to start writing your first application.
Support & Issues: If you need product support (e.g. ask a question about / are having problems with the device), please check the FAQ & Troubleshooting section. If not covered there, please search our Closed GitHub Issues page, Community and Support sites. If you still cannot find an answer to your question, please open a new issue.
What’s included in the SDK:
What | Description | Download link |
---|---|---|
Intel® RealSense™ Viewer | With this application, you can quickly access your Intel® RealSense™ Depth Camera to view the depth stream, visualize point clouds, record and playback streams, configure your camera settings, modify advanced controls, enable depth visualization and post processing and much more. | Intel.RealSense.Viewer.exe |
Depth Quality Tool | This application allows you to test the camera’s depth quality, including: standard deviation from plane fit, normalized RMS – the subpixel accuracy, distance accuracy and fill rate. You should be able to easily get and interpret several of the depth quality metrics and record and save the data for offline analysis. | Depth.Quality.Tool.exe |
Debug Tools | Device enumeration, FW logger, etc as can be seen at the tools directory | Included in Intel.RealSense.SDK.exe |
Code Samples | These simple examples demonstrate how to easily use the SDK to include code snippets that access the camera into your applications. Check some of the C++ examples including capture, pointcloud and more and basic C examples | Included in Intel.RealSense.SDK.exe |
Wrappers | Python, C#/.NET, Node.js API, as well as integration with the following 3rd-party technologies: ROS, ROS2, LabVIEW, OpenCV, PCL, Unity, Matlab, OpenNI, UnrealEngine4 and more to come. |
Ready to Hack!
Our library offers a high level API for using Intel RealSense depth cameras (in addition to lower level ones). The following snippet shows how to start streaming frames and extracting the depth value of a pixel:
// Create a Pipeline - this serves as a top-level API for streaming and processing frames
rs2::pipeline p;
// Configure and start the pipeline
p.start();
while (true)
{
// Block program until frames arrive
rs2::frameset frames = p.wait_for_frames();
// Try to get a frame of a depth image
rs2::depth_frame depth = frames.get_depth_frame();
// Get the depth frame's dimensions
float width = depth.get_width();
float height = depth.get_height();
// Query the distance from the camera to the object in the center of the image
float dist_to_center = depth.get_distance(width / 2, height / 2);
// Print the distance
std::cout << "The camera is facing an object " << dist_to_center << " meters away \r";
}
For more information on the library, please follow our examples, and read the documentation to learn more.
Contributing
In order to contribute to Intel RealSense SDK, please follow our contribution guidelines.
License
This project is licensed under the Apache License, Version 2.0. Copyright 2018 Intel Corporation
CONTRIBUTING
How to Contribute
This project welcomes third-party code via GitHub pull requests.
You are welcome to propose and discuss enhancements using project issues.
Branching Policy: The
master
branch is considered stable, at all times. Thedevelopment
branch is the one where all contributions must be merged before being promoted to master. If you plan to propose a patch, please commit into thedevelopment
branch, or its own feature branch.
We recommend enabling travis-ci on your fork of librealsense
to make sure the changes compile on all platforms and pass unit-tests.
In addition, please run pr_check.sh
and api_check.sh
under scripts
directory. These scripts verify compliance with project's standards:
- Every example / source file must refer to LICENSE
- Every example / source file must include correct copyright notice
- For indentation we are using spaces and not tabs
- Line-endings must be Unix and not DOS style
- Every API header file must be able to compile as the first included header (no implicit dependencies)
Most common issues can be automatically resolved by running ./pr_check.sh --fix
Please familirize yourself with the Apache License 2.0 before contributing.
Step-by-Step
- Make sure you have
git
andcmake
installed on your system. On Windows we recommend using Git Extensions for git bash. - Run
git clone https://github.com/IntelRealSense/librealsense.git
andcd librealsense
- To align with latest status of the development branch, run:
git fetch origin
git checkout development
git reset --hard origin/development
-
git checkout -b name_of_your_contribution
to create a dedicated branch - Make your changes to the local repository
- Make sure your local git user is updated, or run
git config --global user.email "email@example.com"
andgit config --global user.user "user"
to set it up. This is the user & email that will appear in GitHub history. -
git add -p
to select the changes you wish to add git commit -m "Description of the change"
- Make sure you have a GitHub user and fork librealsense
-
git remote add fork https://github.com/username/librealsense.git
with your GitHubusername
git fetch fork
-
git push fork
to pushname_of_your_contribution
branch to your fork - Go to your fork on GitHub at
https://github.com/username/librealsense
- Click the
New pull request
button - For
base
combo-box selectdevelopment
, since you want to submit a PR to that branch - For
compare
combo-box selectname_of_your_contribution
with your commit - Review your changes and click
Create pull request
- Wait for all automated checks to pass
- The PR will be approved / rejected after review from the team and the community
To continue to new change, goto step 3.
To return to your PR (in order to make more changes):
1. git stash
2. git checkout name_of_your_contribution
3. Repeat items 5-8 from the previous list
4. git push fork
The pull request will be automatically updated
Comment about the Wrappers
It is very time consuming (and often impossible) for a single developer to test contributed functionality using all of the supported wrappers. There is no expectation of adding new functionality to all of the wrappers. One noteable exception is maintaining parity of public enumerations. Without strict maintanance it is easy for these lists to go out of sync and this can have serious runtime consequences.
For example, when adding new value to rs2_option
enum, please also add it to:
1. The list of Matlab options under wrappers/matlab/option.m
2. The list of Node.js options here, here and here
3. The list of options for Unreal Engine integration
4. The list of options in the C# wrapper - wrappers/csharp/Intel.RealSense/Types/Enums/Option.cs
5. The list of Java options used for Android integration - wrappers/android/librealsense/src/main/java/com/intel/realsense/librealsense/Option.java
6. The list of options in the python wrapper
Once all are updated travis-ci will give clear indication that each of the wrappers is still passing compilation.
Repository Summary
Checkout URI | https://github.com/IntelRealSense/librealsense.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2023-11-15 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Packages
Name | Version |
---|---|
librealsense2 | 2.54.2 |
README
Overview
Intel® RealSense™ SDK 2.0 is a cross-platform library for Intel® RealSense™ depth cameras (D400 & L500 series and the SR300).
:pushpin: For other Intel® RealSense™ devices (F200, R200, LR200 and ZR300), please refer to the latest legacy release.
The SDK allows depth and color streaming, and provides intrinsic and extrinsic calibration information. The library also offers synthetic streams (pointcloud, depth aligned to color and vise-versa), and a built-in support for record and playback of streaming sessions.
Developer kits containing the necessary hardware to use this library are available for purchase at store.intelrealsense.com. Information about the Intel® RealSense™ technology at www.intelrealsense.com
:open_file_folder: Don't have access to a RealSense camera? Check-out sample data
Update on Recent Changes to the RealSense Product Line
Intel has EOLed the LiDAR, Facial Authentication, and Tracking product lines. These products have been discontinued and will no longer be available for new orders.
Intel WILL continue to sell and support stereo products including the following: D410, D415, D430, , D401 ,D450 modules and D415, D435, D435i, D435f, D405, D455, D457 depth cameras. We will also continue the work to support and develop our LibRealSense open source SDK.
In the future, Intel and the RealSense team will focus our new development on advancing innovative technologies that better support our core businesses and IDM 2.0 strategy.
Building librealsense - Using vcpkg
You can download and install librealsense using the vcpkg dependency manager:
git clone https://github.com/Microsoft/vcpkg.git
cd vcpkg
./bootstrap-vcpkg.sh
./vcpkg integrate install
./vcpkg install realsense2
The librealsense port in vcpkg is kept up to date by Microsoft team members and community contributors. If the version is out of date, please create an issue or pull request on the vcpkg repository.
Download and Install
Download - The latest releases including the Intel RealSense SDK, Viewer and Depth Quality tools are available at: latest releases. Please check the release notes for the supported platforms, new features and capabilities, known issues, how to upgrade the Firmware and more.
Install - You can also install or build from source the SDK (on Linux \ Windows \ Mac OS \ Android \ Docker), connect your D400 depth camera and you are ready to start writing your first application.
Support & Issues: If you need product support (e.g. ask a question about / are having problems with the device), please check the FAQ & Troubleshooting section. If not covered there, please search our Closed GitHub Issues page, Community and Support sites. If you still cannot find an answer to your question, please open a new issue.
What’s included in the SDK:
What | Description | Download link |
---|---|---|
Intel® RealSense™ Viewer | With this application, you can quickly access your Intel® RealSense™ Depth Camera to view the depth stream, visualize point clouds, record and playback streams, configure your camera settings, modify advanced controls, enable depth visualization and post processing and much more. | Intel.RealSense.Viewer.exe |
Depth Quality Tool | This application allows you to test the camera’s depth quality, including: standard deviation from plane fit, normalized RMS – the subpixel accuracy, distance accuracy and fill rate. You should be able to easily get and interpret several of the depth quality metrics and record and save the data for offline analysis. | Depth.Quality.Tool.exe |
Debug Tools | Device enumeration, FW logger, etc as can be seen at the tools directory | Included in Intel.RealSense.SDK.exe |
Code Samples | These simple examples demonstrate how to easily use the SDK to include code snippets that access the camera into your applications. Check some of the C++ examples including capture, pointcloud and more and basic C examples | Included in Intel.RealSense.SDK.exe |
Wrappers | Python, C#/.NET API, as well as integration with the following 3rd-party technologies: ROS1, ROS2, LabVIEW, OpenCV, PCL, Unity, Matlab, OpenNI, UnrealEngine4 and more to come. |
Ready to Hack!
Our library offers a high level API for using Intel RealSense depth cameras (in addition to lower level ones). The following snippet shows how to start streaming frames and extracting the depth value of a pixel:
// Create a Pipeline - this serves as a top-level API for streaming and processing frames
rs2::pipeline p;
// Configure and start the pipeline
p.start();
while (true)
{
// Block program until frames arrive
rs2::frameset frames = p.wait_for_frames();
// Try to get a frame of a depth image
rs2::depth_frame depth = frames.get_depth_frame();
// Get the depth frame's dimensions
float width = depth.get_width();
float height = depth.get_height();
// Query the distance from the camera to the object in the center of the image
float dist_to_center = depth.get_distance(width / 2, height / 2);
// Print the distance
std::cout << "The camera is facing an object " << dist_to_center << " meters away \r";
}
For more information on the library, please follow our examples, and read the documentation to learn more.
Contributing
In order to contribute to Intel RealSense SDK, please follow our contribution guidelines.
License
This project is licensed under the Apache License, Version 2.0. Copyright 2018 Intel Corporation
CONTRIBUTING
How to Contribute
This project welcomes third-party code via GitHub pull requests.
You are welcome to propose and discuss enhancements using project issues.
Branching Policy: The
master
branch is considered stable, at all times. Thedevelopment
branch is the one where all contributions must be merged before being promoted to master. If you plan to propose a patch, please commit into thedevelopment
branch, or its own feature branch.
We recommend enabling travis-ci on your fork of librealsense
to make sure the changes compile on all platforms and pass unit-tests.
In addition, please run pr_check.sh
and api_check.sh
under scripts
directory. These scripts verify compliance with project's standards:
- Every example / source file must refer to LICENSE
- Every example / source file must include correct copyright notice
- For indentation we are using spaces and not tabs
- Line-endings must be Unix and not DOS style
- Every API header file must be able to compile as the first included header (no implicit dependencies)
Most common issues can be automatically resolved by running ./pr_check.sh --fix
Please familirize yourself with the Apache License 2.0 before contributing.
Step-by-Step
- Make sure you have
git
andcmake
installed on your system. On Windows we recommend using Git Extensions for git bash. - Run
git clone https://github.com/IntelRealSense/librealsense.git
andcd librealsense
- To align with latest status of the development branch, run:
git fetch origin
git checkout development
git reset --hard origin/development
-
git checkout -b name_of_your_contribution
to create a dedicated branch - Make your changes to the local repository
- Make sure your local git user is updated, or run
git config --global user.email "email@example.com"
andgit config --global user.user "user"
to set it up. This is the user & email that will appear in GitHub history. -
git add -p
to select the changes you wish to add git commit -m "Description of the change"
- Make sure you have a GitHub user and fork librealsense
-
git remote add fork https://github.com/username/librealsense.git
with your GitHubusername
git fetch fork
-
git push fork
to pushname_of_your_contribution
branch to your fork - Go to your fork on GitHub at
https://github.com/username/librealsense
- Click the
New pull request
button - For
base
combo-box selectdevelopment
, since you want to submit a PR to that branch - For
compare
combo-box selectname_of_your_contribution
with your commit - Review your changes and click
Create pull request
- Wait for all automated checks to pass
- The PR will be approved / rejected after review from the team and the community
To continue to new change, goto step 3.
To return to your PR (in order to make more changes):
1. git stash
2. git checkout name_of_your_contribution
3. Repeat items 5-8 from the previous list
4. git push fork
The pull request will be automatically updated
Comment about the Wrappers
It is very time consuming (and often impossible) for a single developer to test contributed functionality using all of the supported wrappers. There is no expectation of adding new functionality to all of the wrappers. One noteable exception is maintaining parity of public enumerations. Without strict maintanance it is easy for these lists to go out of sync and this can have serious runtime consequences.
For example, when adding new value to rs2_option
enum, please also add it to:
1. The list of Matlab options under wrappers/matlab/option.m
2. The list of options for Unreal Engine integration
3. The list of options in the C# wrapper - wrappers/csharp/Intel.RealSense/Types/Enums/Option.cs
4. The list of Java options used for Android integration - wrappers/android/librealsense/src/main/java/com/intel/realsense/librealsense/Option.java
5. The list of options in the python wrapper
Once all are updated travis-ci will give clear indication that each of the wrappers is still passing compilation.
Repository Summary
Checkout URI | https://github.com/IntelRealSense/librealsense.git |
VCS Type | git |
VCS Version | ros2debian |
Last Updated | 2020-07-20 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Packages
Name | Version |
---|---|
librealsense2 | 2.34.0 |
README
Overview
Intel® RealSense™ SDK 2.0 is a cross-platform library for Intel® RealSense™ depth cameras (D400 series and the SR300) and the T265 tracking camera.
:pushpin: For other Intel® RealSense™ devices (F200, R200, LR200 and ZR300), please refer to the latest legacy release.
The SDK allows depth and color streaming, and provides intrinsic and extrinsic calibration information. The library also offers synthetic streams (pointcloud, depth aligned to color and vise-versa), and a built-in support for record and playback of streaming sessions.
Developer kits containing the necessary hardware to use this library are available for purchase at store.intelrealsense.com. Information about the Intel® RealSense™ technology at www.intelrealsense.com
:open_file_folder: Don't have access to a RealSense camera? Check-out sample data
Building librealsense - Using vcpkg
You can download and install librealsense using the vcpkg dependency manager:
git clone https://github.com/Microsoft/vcpkg.git
cd vcpkg
./bootstrap-vcpkg.sh
./vcpkg integrate install
./vcpkg install realsense2
The librealsense port in vcpkg is kept up to date by Microsoft team members and community contributors. If the version is out of date, please create an issue or pull request on the vcpkg repository.
Download and Install
Download - The latest releases including the Intel RealSense SDK, Viewer and Depth Quality tools are available at: latest releases. Please check the release notes for the supported platforms, new features and capabilities, known issues, how to upgrade the Firmware and more.
Install - You can also install or build from source the SDK (on Linux \ Windows \ Mac OS \ Android), connect your D400 depth camera and you are ready to start writing your first application.
Support & Issues: If you need product support (e.g. ask a question about / are having problems with the device), please check the FAQ & Troubleshooting section. If not covered there, please search our Closed GitHub Issues page, Community and Support sites. If you still cannot find an answer to your question, please open a new issue.
What’s included in the SDK:
What | Description | Download link |
---|---|---|
Intel® RealSense™ Viewer | With this application, you can quickly access your Intel® RealSense™ Depth Camera to view the depth stream, visualize point clouds, record and playback streams, configure your camera settings, modify advanced controls, enable depth visualization and post processing and much more. | Intel.RealSense.Viewer.exe |
Depth Quality Tool | This application allows you to test the camera’s depth quality, including: standard deviation from plane fit, normalized RMS – the subpixel accuracy, distance accuracy and fill rate. You should be able to easily get and interpret several of the depth quality metrics and record and save the data for offline analysis. | Depth.Quality.Tool.exe |
Debug Tools | Device enumeration, FW logger, etc as can be seen at the tools directory | Included in Intel.RealSense.SDK.exe |
Code Samples | These simple examples demonstrate how to easily use the SDK to include code snippets that access the camera into your applications. Check some of the C++ examples including capture, pointcloud and more and basic C examples | Included in Intel.RealSense.SDK.exe |
Wrappers | Python, C#/.NET, Node.js API, as well as integration with the following 3rd-party technologies: ROS, ROS2, LabVIEW, OpenCV, PCL, Unity, Matlab, OpenNI, UnrealEngine4 and more to come. |
Ready to Hack!
Our library offers a high level API for using Intel RealSense depth cameras (in addition to lower level ones). The following snippet shows how to start streaming frames and extracting the depth value of a pixel:
// Create a Pipeline - this serves as a top-level API for streaming and processing frames
rs2::pipeline p;
// Configure and start the pipeline
p.start();
while (true)
{
// Block program until frames arrive
rs2::frameset frames = p.wait_for_frames();
// Try to get a frame of a depth image
rs2::depth_frame depth = frames.get_depth_frame();
// Get the depth frame's dimensions
float width = depth.get_width();
float height = depth.get_height();
// Query the distance from the camera to the object in the center of the image
float dist_to_center = depth.get_distance(width / 2, height / 2);
// Print the distance
std::cout << "The camera is facing an object " << dist_to_center << " meters away \r";
}
For more information on the library, please follow our examples, and read the documentation to learn more.
Contributing
In order to contribute to Intel RealSense SDK, please follow our contribution guidelines.
License
This project is licensed under the Apache License, Version 2.0. Copyright 2018 Intel Corporation
CONTRIBUTING
How to Contribute
This project welcomes third-party code via GitHub pull requests.
You are welcome to propose and discuss enhancements using project issues.
Branching Policy: The
master
branch is considered stable, at all times. Thedevelopment
branch is the one where all contributions must be merged before being promoted to master. If you plan to propose a patch, please commit into thedevelopment
branch, or its own feature branch.
We recommend enabling travis-ci on your fork of librealsense
to make sure the changes compile on all platforms and pass unit-tests.
In addition, please run pr_check.sh
and api_check.sh
under scripts
directory. These scripts verify compliance with project's standards:
- Every example / source file must refer to LICENSE
- Every example / source file must include correct copyright notice
- For indentation we are using spaces and not tabs
- Line-endings must be Unix and not DOS style
- Every API header file must be able to compile as the first included header (no implicit dependencies)
Most common issues can be automatically resolved by running ./pr_check.sh --fix
Please familirize yourself with the Apache License 2.0 before contributing.
Step-by-Step
- Make sure you have
git
andcmake
installed on your system. On Windows we recommend using Git Extensions for git bash. - Run
git clone https://github.com/IntelRealSense/librealsense.git
andcd librealsense
- To align with latest status of the development branch, run:
git fetch origin
git checkout development
git reset --hard origin/development
-
git checkout -b name_of_your_contribution
to create a dedicated branch - Make your changes to the local repository
- Make sure your local git user is updated, or run
git config --global user.email "email@example.com"
andgit config --global user.user "user"
to set it up. This is the user & email that will appear in GitHub history. -
git add -p
to select the changes you wish to add git commit -m "Description of the change"
- Make sure you have a GitHub user and fork librealsense
-
git remote add fork https://github.com/username/librealsense.git
with your GitHubusername
git fetch fork
-
git push fork
to pushname_of_your_contribution
branch to your fork - Go to your fork on GitHub at
https://github.com/username/librealsense
- Click the
New pull request
button - For
base
combo-box selectdevelopment
, since you want to submit a PR to that branch - For
compare
combo-box selectname_of_your_contribution
with your commit - Review your changes and click
Create pull request
- Wait for all automated checks to pass
- The PR will be approved / rejected after review from the team and the community
To continue to new change, goto step 3.
To return to your PR (in order to make more changes):
1. git stash
2. git checkout name_of_your_contribution
3. Repeat items 5-8 from the previous list
4. git push fork
The pull request will be automatically updated
Comment about the Wrappers
It is very time consuming (and often impossible) for a single developer to test contributed functionality using all of the supported wrappers. There is no expectation of adding new functionality to all of the wrappers. One noteable exception is maintaining parity of public enumerations. Without strict maintanance it is easy for these lists to go out of sync and this can have serious runtime consequences.
For example, when adding new value to rs2_option
enum, please also add it to:
1. The list of Matlab options under wrappers/matlab/option.m
2. The list of Node.js options here, here and here
3. The list of options for Unreal Engine integration
4. The list of options in the C# wrapper - wrappers/csharp/Intel.RealSense/Types/Enums/Option.cs
5. The list of Java options used for Android integration - wrappers/android/librealsense/src/main/java/com/intel/realsense/librealsense/Option.java
6. The list of options in the python wrapper
Once all are updated travis-ci will give clear indication that each of the wrappers is still passing compilation.
Repository Summary
Checkout URI | https://github.com/IntelRealSense/librealsense.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2023-11-15 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Packages
Name | Version |
---|---|
librealsense2 | 2.54.2 |
README
Overview
Intel® RealSense™ SDK 2.0 is a cross-platform library for Intel® RealSense™ depth cameras (D400 & L500 series and the SR300).
:pushpin: For other Intel® RealSense™ devices (F200, R200, LR200 and ZR300), please refer to the latest legacy release.
The SDK allows depth and color streaming, and provides intrinsic and extrinsic calibration information. The library also offers synthetic streams (pointcloud, depth aligned to color and vise-versa), and a built-in support for record and playback of streaming sessions.
Developer kits containing the necessary hardware to use this library are available for purchase at store.intelrealsense.com. Information about the Intel® RealSense™ technology at www.intelrealsense.com
:open_file_folder: Don't have access to a RealSense camera? Check-out sample data
Update on Recent Changes to the RealSense Product Line
Intel has EOLed the LiDAR, Facial Authentication, and Tracking product lines. These products have been discontinued and will no longer be available for new orders.
Intel WILL continue to sell and support stereo products including the following: D410, D415, D430, , D401 ,D450 modules and D415, D435, D435i, D435f, D405, D455, D457 depth cameras. We will also continue the work to support and develop our LibRealSense open source SDK.
In the future, Intel and the RealSense team will focus our new development on advancing innovative technologies that better support our core businesses and IDM 2.0 strategy.
Building librealsense - Using vcpkg
You can download and install librealsense using the vcpkg dependency manager:
git clone https://github.com/Microsoft/vcpkg.git
cd vcpkg
./bootstrap-vcpkg.sh
./vcpkg integrate install
./vcpkg install realsense2
The librealsense port in vcpkg is kept up to date by Microsoft team members and community contributors. If the version is out of date, please create an issue or pull request on the vcpkg repository.
Download and Install
Download - The latest releases including the Intel RealSense SDK, Viewer and Depth Quality tools are available at: latest releases. Please check the release notes for the supported platforms, new features and capabilities, known issues, how to upgrade the Firmware and more.
Install - You can also install or build from source the SDK (on Linux \ Windows \ Mac OS \ Android \ Docker), connect your D400 depth camera and you are ready to start writing your first application.
Support & Issues: If you need product support (e.g. ask a question about / are having problems with the device), please check the FAQ & Troubleshooting section. If not covered there, please search our Closed GitHub Issues page, Community and Support sites. If you still cannot find an answer to your question, please open a new issue.
What’s included in the SDK:
What | Description | Download link |
---|---|---|
Intel® RealSense™ Viewer | With this application, you can quickly access your Intel® RealSense™ Depth Camera to view the depth stream, visualize point clouds, record and playback streams, configure your camera settings, modify advanced controls, enable depth visualization and post processing and much more. | Intel.RealSense.Viewer.exe |
Depth Quality Tool | This application allows you to test the camera’s depth quality, including: standard deviation from plane fit, normalized RMS – the subpixel accuracy, distance accuracy and fill rate. You should be able to easily get and interpret several of the depth quality metrics and record and save the data for offline analysis. | Depth.Quality.Tool.exe |
Debug Tools | Device enumeration, FW logger, etc as can be seen at the tools directory | Included in Intel.RealSense.SDK.exe |
Code Samples | These simple examples demonstrate how to easily use the SDK to include code snippets that access the camera into your applications. Check some of the C++ examples including capture, pointcloud and more and basic C examples | Included in Intel.RealSense.SDK.exe |
Wrappers | Python, C#/.NET API, as well as integration with the following 3rd-party technologies: ROS1, ROS2, LabVIEW, OpenCV, PCL, Unity, Matlab, OpenNI, UnrealEngine4 and more to come. |
Ready to Hack!
Our library offers a high level API for using Intel RealSense depth cameras (in addition to lower level ones). The following snippet shows how to start streaming frames and extracting the depth value of a pixel:
// Create a Pipeline - this serves as a top-level API for streaming and processing frames
rs2::pipeline p;
// Configure and start the pipeline
p.start();
while (true)
{
// Block program until frames arrive
rs2::frameset frames = p.wait_for_frames();
// Try to get a frame of a depth image
rs2::depth_frame depth = frames.get_depth_frame();
// Get the depth frame's dimensions
float width = depth.get_width();
float height = depth.get_height();
// Query the distance from the camera to the object in the center of the image
float dist_to_center = depth.get_distance(width / 2, height / 2);
// Print the distance
std::cout << "The camera is facing an object " << dist_to_center << " meters away \r";
}
For more information on the library, please follow our examples, and read the documentation to learn more.
Contributing
In order to contribute to Intel RealSense SDK, please follow our contribution guidelines.
License
This project is licensed under the Apache License, Version 2.0. Copyright 2018 Intel Corporation
CONTRIBUTING
How to Contribute
This project welcomes third-party code via GitHub pull requests.
You are welcome to propose and discuss enhancements using project issues.
Branching Policy: The
master
branch is considered stable, at all times. Thedevelopment
branch is the one where all contributions must be merged before being promoted to master. If you plan to propose a patch, please commit into thedevelopment
branch, or its own feature branch.
We recommend enabling travis-ci on your fork of librealsense
to make sure the changes compile on all platforms and pass unit-tests.
In addition, please run pr_check.sh
and api_check.sh
under scripts
directory. These scripts verify compliance with project's standards:
- Every example / source file must refer to LICENSE
- Every example / source file must include correct copyright notice
- For indentation we are using spaces and not tabs
- Line-endings must be Unix and not DOS style
- Every API header file must be able to compile as the first included header (no implicit dependencies)
Most common issues can be automatically resolved by running ./pr_check.sh --fix
Please familirize yourself with the Apache License 2.0 before contributing.
Step-by-Step
- Make sure you have
git
andcmake
installed on your system. On Windows we recommend using Git Extensions for git bash. - Run
git clone https://github.com/IntelRealSense/librealsense.git
andcd librealsense
- To align with latest status of the development branch, run:
git fetch origin
git checkout development
git reset --hard origin/development
-
git checkout -b name_of_your_contribution
to create a dedicated branch - Make your changes to the local repository
- Make sure your local git user is updated, or run
git config --global user.email "email@example.com"
andgit config --global user.user "user"
to set it up. This is the user & email that will appear in GitHub history. -
git add -p
to select the changes you wish to add git commit -m "Description of the change"
- Make sure you have a GitHub user and fork librealsense
-
git remote add fork https://github.com/username/librealsense.git
with your GitHubusername
git fetch fork
-
git push fork
to pushname_of_your_contribution
branch to your fork - Go to your fork on GitHub at
https://github.com/username/librealsense
- Click the
New pull request
button - For
base
combo-box selectdevelopment
, since you want to submit a PR to that branch - For
compare
combo-box selectname_of_your_contribution
with your commit - Review your changes and click
Create pull request
- Wait for all automated checks to pass
- The PR will be approved / rejected after review from the team and the community
To continue to new change, goto step 3.
To return to your PR (in order to make more changes):
1. git stash
2. git checkout name_of_your_contribution
3. Repeat items 5-8 from the previous list
4. git push fork
The pull request will be automatically updated
Comment about the Wrappers
It is very time consuming (and often impossible) for a single developer to test contributed functionality using all of the supported wrappers. There is no expectation of adding new functionality to all of the wrappers. One noteable exception is maintaining parity of public enumerations. Without strict maintanance it is easy for these lists to go out of sync and this can have serious runtime consequences.
For example, when adding new value to rs2_option
enum, please also add it to:
1. The list of Matlab options under wrappers/matlab/option.m
2. The list of options for Unreal Engine integration
3. The list of options in the C# wrapper - wrappers/csharp/Intel.RealSense/Types/Enums/Option.cs
4. The list of Java options used for Android integration - wrappers/android/librealsense/src/main/java/com/intel/realsense/librealsense/Option.java
5. The list of options in the python wrapper
Once all are updated travis-ci will give clear indication that each of the wrappers is still passing compilation.
Repository Summary
Checkout URI | https://github.com/IntelRealSense/librealsense.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2023-11-15 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Packages
Name | Version |
---|---|
librealsense2 | 2.54.2 |
README
Overview
Intel® RealSense™ SDK 2.0 is a cross-platform library for Intel® RealSense™ depth cameras (D400 & L500 series and the SR300).
:pushpin: For other Intel® RealSense™ devices (F200, R200, LR200 and ZR300), please refer to the latest legacy release.
The SDK allows depth and color streaming, and provides intrinsic and extrinsic calibration information. The library also offers synthetic streams (pointcloud, depth aligned to color and vise-versa), and a built-in support for record and playback of streaming sessions.
Developer kits containing the necessary hardware to use this library are available for purchase at store.intelrealsense.com. Information about the Intel® RealSense™ technology at www.intelrealsense.com
:open_file_folder: Don't have access to a RealSense camera? Check-out sample data
Update on Recent Changes to the RealSense Product Line
Intel has EOLed the LiDAR, Facial Authentication, and Tracking product lines. These products have been discontinued and will no longer be available for new orders.
Intel WILL continue to sell and support stereo products including the following: D410, D415, D430, , D401 ,D450 modules and D415, D435, D435i, D435f, D405, D455, D457 depth cameras. We will also continue the work to support and develop our LibRealSense open source SDK.
In the future, Intel and the RealSense team will focus our new development on advancing innovative technologies that better support our core businesses and IDM 2.0 strategy.
Building librealsense - Using vcpkg
You can download and install librealsense using the vcpkg dependency manager:
git clone https://github.com/Microsoft/vcpkg.git
cd vcpkg
./bootstrap-vcpkg.sh
./vcpkg integrate install
./vcpkg install realsense2
The librealsense port in vcpkg is kept up to date by Microsoft team members and community contributors. If the version is out of date, please create an issue or pull request on the vcpkg repository.
Download and Install
Download - The latest releases including the Intel RealSense SDK, Viewer and Depth Quality tools are available at: latest releases. Please check the release notes for the supported platforms, new features and capabilities, known issues, how to upgrade the Firmware and more.
Install - You can also install or build from source the SDK (on Linux \ Windows \ Mac OS \ Android \ Docker), connect your D400 depth camera and you are ready to start writing your first application.
Support & Issues: If you need product support (e.g. ask a question about / are having problems with the device), please check the FAQ & Troubleshooting section. If not covered there, please search our Closed GitHub Issues page, Community and Support sites. If you still cannot find an answer to your question, please open a new issue.
What’s included in the SDK:
What | Description | Download link |
---|---|---|
Intel® RealSense™ Viewer | With this application, you can quickly access your Intel® RealSense™ Depth Camera to view the depth stream, visualize point clouds, record and playback streams, configure your camera settings, modify advanced controls, enable depth visualization and post processing and much more. | Intel.RealSense.Viewer.exe |
Depth Quality Tool | This application allows you to test the camera’s depth quality, including: standard deviation from plane fit, normalized RMS – the subpixel accuracy, distance accuracy and fill rate. You should be able to easily get and interpret several of the depth quality metrics and record and save the data for offline analysis. | Depth.Quality.Tool.exe |
Debug Tools | Device enumeration, FW logger, etc as can be seen at the tools directory | Included in Intel.RealSense.SDK.exe |
Code Samples | These simple examples demonstrate how to easily use the SDK to include code snippets that access the camera into your applications. Check some of the C++ examples including capture, pointcloud and more and basic C examples | Included in Intel.RealSense.SDK.exe |
Wrappers | Python, C#/.NET API, as well as integration with the following 3rd-party technologies: ROS1, ROS2, LabVIEW, OpenCV, PCL, Unity, Matlab, OpenNI, UnrealEngine4 and more to come. |
Ready to Hack!
Our library offers a high level API for using Intel RealSense depth cameras (in addition to lower level ones). The following snippet shows how to start streaming frames and extracting the depth value of a pixel:
// Create a Pipeline - this serves as a top-level API for streaming and processing frames
rs2::pipeline p;
// Configure and start the pipeline
p.start();
while (true)
{
// Block program until frames arrive
rs2::frameset frames = p.wait_for_frames();
// Try to get a frame of a depth image
rs2::depth_frame depth = frames.get_depth_frame();
// Get the depth frame's dimensions
float width = depth.get_width();
float height = depth.get_height();
// Query the distance from the camera to the object in the center of the image
float dist_to_center = depth.get_distance(width / 2, height / 2);
// Print the distance
std::cout << "The camera is facing an object " << dist_to_center << " meters away \r";
}
For more information on the library, please follow our examples, and read the documentation to learn more.
Contributing
In order to contribute to Intel RealSense SDK, please follow our contribution guidelines.
License
This project is licensed under the Apache License, Version 2.0. Copyright 2018 Intel Corporation
CONTRIBUTING
How to Contribute
This project welcomes third-party code via GitHub pull requests.
You are welcome to propose and discuss enhancements using project issues.
Branching Policy: The
master
branch is considered stable, at all times. Thedevelopment
branch is the one where all contributions must be merged before being promoted to master. If you plan to propose a patch, please commit into thedevelopment
branch, or its own feature branch.
We recommend enabling travis-ci on your fork of librealsense
to make sure the changes compile on all platforms and pass unit-tests.
In addition, please run pr_check.sh
and api_check.sh
under scripts
directory. These scripts verify compliance with project's standards:
- Every example / source file must refer to LICENSE
- Every example / source file must include correct copyright notice
- For indentation we are using spaces and not tabs
- Line-endings must be Unix and not DOS style
- Every API header file must be able to compile as the first included header (no implicit dependencies)
Most common issues can be automatically resolved by running ./pr_check.sh --fix
Please familirize yourself with the Apache License 2.0 before contributing.
Step-by-Step
- Make sure you have
git
andcmake
installed on your system. On Windows we recommend using Git Extensions for git bash. - Run
git clone https://github.com/IntelRealSense/librealsense.git
andcd librealsense
- To align with latest status of the development branch, run:
git fetch origin
git checkout development
git reset --hard origin/development
-
git checkout -b name_of_your_contribution
to create a dedicated branch - Make your changes to the local repository
- Make sure your local git user is updated, or run
git config --global user.email "email@example.com"
andgit config --global user.user "user"
to set it up. This is the user & email that will appear in GitHub history. -
git add -p
to select the changes you wish to add git commit -m "Description of the change"
- Make sure you have a GitHub user and fork librealsense
-
git remote add fork https://github.com/username/librealsense.git
with your GitHubusername
git fetch fork
-
git push fork
to pushname_of_your_contribution
branch to your fork - Go to your fork on GitHub at
https://github.com/username/librealsense
- Click the
New pull request
button - For
base
combo-box selectdevelopment
, since you want to submit a PR to that branch - For
compare
combo-box selectname_of_your_contribution
with your commit - Review your changes and click
Create pull request
- Wait for all automated checks to pass
- The PR will be approved / rejected after review from the team and the community
To continue to new change, goto step 3.
To return to your PR (in order to make more changes):
1. git stash
2. git checkout name_of_your_contribution
3. Repeat items 5-8 from the previous list
4. git push fork
The pull request will be automatically updated
Comment about the Wrappers
It is very time consuming (and often impossible) for a single developer to test contributed functionality using all of the supported wrappers. There is no expectation of adding new functionality to all of the wrappers. One noteable exception is maintaining parity of public enumerations. Without strict maintanance it is easy for these lists to go out of sync and this can have serious runtime consequences.
For example, when adding new value to rs2_option
enum, please also add it to:
1. The list of Matlab options under wrappers/matlab/option.m
2. The list of options for Unreal Engine integration
3. The list of options in the C# wrapper - wrappers/csharp/Intel.RealSense/Types/Enums/Option.cs
4. The list of Java options used for Android integration - wrappers/android/librealsense/src/main/java/com/intel/realsense/librealsense/Option.java
5. The list of options in the python wrapper
Once all are updated travis-ci will give clear indication that each of the wrappers is still passing compilation.
Repository Summary
Checkout URI | https://github.com/IntelRealSense/librealsense.git |
VCS Type | git |
VCS Version | legacy |
Last Updated | 2020-03-12 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Packages
Name | Version |
---|---|
librealsense | 1.12.1 |
README
Intel® RealSense™ Cross Platform API
Platform | Build Status |
---|---|
Linux and OS X | |
Windows |
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
- Documentation
- Functionality
- Compatible Devices
- Compatible Platforms
- Integrations
- License
Useful Links
- 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.
Documentation
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
doxygen doc/Doxygen_API/Doxyfile
- 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
Functionality
- 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)
Compatible Devices
- RealSense R200
- RealSense F200
- RealSense SR300
- RealSense LR200
- RealSense ZR300
Compatible Platforms
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)
- Ostro
Hardware Requirements
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: * Intel Compute Stick, BOXSTK1AW32SCR * MinnowBoard Max * Kangaroo MD2B * UP Board * Intel Joule
Integrations
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
Community Contributions
Additional language bindings (experimental, community maintained): * Python * Java (generated by JavaCPP)
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
License
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
http://www.apache.org/licenses/LICENSE-2.0
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.
CONTRIBUTING
How to Contribute
This project welcomes third-party code via GitHub pull requests.
Repository Summary
Checkout URI | https://github.com/IntelRealSense/librealsense.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2023-11-15 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Packages
Name | Version |
---|---|
librealsense2 | 2.54.2 |
README
Overview
Intel® RealSense™ SDK 2.0 is a cross-platform library for Intel® RealSense™ depth cameras (D400 & L500 series and the SR300).
:pushpin: For other Intel® RealSense™ devices (F200, R200, LR200 and ZR300), please refer to the latest legacy release.
The SDK allows depth and color streaming, and provides intrinsic and extrinsic calibration information. The library also offers synthetic streams (pointcloud, depth aligned to color and vise-versa), and a built-in support for record and playback of streaming sessions.
Developer kits containing the necessary hardware to use this library are available for purchase at store.intelrealsense.com. Information about the Intel® RealSense™ technology at www.intelrealsense.com
:open_file_folder: Don't have access to a RealSense camera? Check-out sample data
Update on Recent Changes to the RealSense Product Line
Intel has EOLed the LiDAR, Facial Authentication, and Tracking product lines. These products have been discontinued and will no longer be available for new orders.
Intel WILL continue to sell and support stereo products including the following: D410, D415, D430, , D401 ,D450 modules and D415, D435, D435i, D435f, D405, D455, D457 depth cameras. We will also continue the work to support and develop our LibRealSense open source SDK.
In the future, Intel and the RealSense team will focus our new development on advancing innovative technologies that better support our core businesses and IDM 2.0 strategy.
Building librealsense - Using vcpkg
You can download and install librealsense using the vcpkg dependency manager:
git clone https://github.com/Microsoft/vcpkg.git
cd vcpkg
./bootstrap-vcpkg.sh
./vcpkg integrate install
./vcpkg install realsense2
The librealsense port in vcpkg is kept up to date by Microsoft team members and community contributors. If the version is out of date, please create an issue or pull request on the vcpkg repository.
Download and Install
Download - The latest releases including the Intel RealSense SDK, Viewer and Depth Quality tools are available at: latest releases. Please check the release notes for the supported platforms, new features and capabilities, known issues, how to upgrade the Firmware and more.
Install - You can also install or build from source the SDK (on Linux \ Windows \ Mac OS \ Android \ Docker), connect your D400 depth camera and you are ready to start writing your first application.
Support & Issues: If you need product support (e.g. ask a question about / are having problems with the device), please check the FAQ & Troubleshooting section. If not covered there, please search our Closed GitHub Issues page, Community and Support sites. If you still cannot find an answer to your question, please open a new issue.
What’s included in the SDK:
What | Description | Download link |
---|---|---|
Intel® RealSense™ Viewer | With this application, you can quickly access your Intel® RealSense™ Depth Camera to view the depth stream, visualize point clouds, record and playback streams, configure your camera settings, modify advanced controls, enable depth visualization and post processing and much more. | Intel.RealSense.Viewer.exe |
Depth Quality Tool | This application allows you to test the camera’s depth quality, including: standard deviation from plane fit, normalized RMS – the subpixel accuracy, distance accuracy and fill rate. You should be able to easily get and interpret several of the depth quality metrics and record and save the data for offline analysis. | Depth.Quality.Tool.exe |
Debug Tools | Device enumeration, FW logger, etc as can be seen at the tools directory | Included in Intel.RealSense.SDK.exe |
Code Samples | These simple examples demonstrate how to easily use the SDK to include code snippets that access the camera into your applications. Check some of the C++ examples including capture, pointcloud and more and basic C examples | Included in Intel.RealSense.SDK.exe |
Wrappers | Python, C#/.NET API, as well as integration with the following 3rd-party technologies: ROS1, ROS2, LabVIEW, OpenCV, PCL, Unity, Matlab, OpenNI, UnrealEngine4 and more to come. |
Ready to Hack!
Our library offers a high level API for using Intel RealSense depth cameras (in addition to lower level ones). The following snippet shows how to start streaming frames and extracting the depth value of a pixel:
// Create a Pipeline - this serves as a top-level API for streaming and processing frames
rs2::pipeline p;
// Configure and start the pipeline
p.start();
while (true)
{
// Block program until frames arrive
rs2::frameset frames = p.wait_for_frames();
// Try to get a frame of a depth image
rs2::depth_frame depth = frames.get_depth_frame();
// Get the depth frame's dimensions
float width = depth.get_width();
float height = depth.get_height();
// Query the distance from the camera to the object in the center of the image
float dist_to_center = depth.get_distance(width / 2, height / 2);
// Print the distance
std::cout << "The camera is facing an object " << dist_to_center << " meters away \r";
}
For more information on the library, please follow our examples, and read the documentation to learn more.
Contributing
In order to contribute to Intel RealSense SDK, please follow our contribution guidelines.
License
This project is licensed under the Apache License, Version 2.0. Copyright 2018 Intel Corporation
CONTRIBUTING
How to Contribute
This project welcomes third-party code via GitHub pull requests.
You are welcome to propose and discuss enhancements using project issues.
Branching Policy: The
master
branch is considered stable, at all times. Thedevelopment
branch is the one where all contributions must be merged before being promoted to master. If you plan to propose a patch, please commit into thedevelopment
branch, or its own feature branch.
We recommend enabling travis-ci on your fork of librealsense
to make sure the changes compile on all platforms and pass unit-tests.
In addition, please run pr_check.sh
and api_check.sh
under scripts
directory. These scripts verify compliance with project's standards:
- Every example / source file must refer to LICENSE
- Every example / source file must include correct copyright notice
- For indentation we are using spaces and not tabs
- Line-endings must be Unix and not DOS style
- Every API header file must be able to compile as the first included header (no implicit dependencies)
Most common issues can be automatically resolved by running ./pr_check.sh --fix
Please familirize yourself with the Apache License 2.0 before contributing.
Step-by-Step
- Make sure you have
git
andcmake
installed on your system. On Windows we recommend using Git Extensions for git bash. - Run
git clone https://github.com/IntelRealSense/librealsense.git
andcd librealsense
- To align with latest status of the development branch, run:
git fetch origin
git checkout development
git reset --hard origin/development
-
git checkout -b name_of_your_contribution
to create a dedicated branch - Make your changes to the local repository
- Make sure your local git user is updated, or run
git config --global user.email "email@example.com"
andgit config --global user.user "user"
to set it up. This is the user & email that will appear in GitHub history. -
git add -p
to select the changes you wish to add git commit -m "Description of the change"
- Make sure you have a GitHub user and fork librealsense
-
git remote add fork https://github.com/username/librealsense.git
with your GitHubusername
git fetch fork
-
git push fork
to pushname_of_your_contribution
branch to your fork - Go to your fork on GitHub at
https://github.com/username/librealsense
- Click the
New pull request
button - For
base
combo-box selectdevelopment
, since you want to submit a PR to that branch - For
compare
combo-box selectname_of_your_contribution
with your commit - Review your changes and click
Create pull request
- Wait for all automated checks to pass
- The PR will be approved / rejected after review from the team and the community
To continue to new change, goto step 3.
To return to your PR (in order to make more changes):
1. git stash
2. git checkout name_of_your_contribution
3. Repeat items 5-8 from the previous list
4. git push fork
The pull request will be automatically updated
Comment about the Wrappers
It is very time consuming (and often impossible) for a single developer to test contributed functionality using all of the supported wrappers. There is no expectation of adding new functionality to all of the wrappers. One noteable exception is maintaining parity of public enumerations. Without strict maintanance it is easy for these lists to go out of sync and this can have serious runtime consequences.
For example, when adding new value to rs2_option
enum, please also add it to:
1. The list of Matlab options under wrappers/matlab/option.m
2. The list of options for Unreal Engine integration
3. The list of options in the C# wrapper - wrappers/csharp/Intel.RealSense/Types/Enums/Option.cs
4. The list of Java options used for Android integration - wrappers/android/librealsense/src/main/java/com/intel/realsense/librealsense/Option.java
5. The list of options in the python wrapper
Once all are updated travis-ci will give clear indication that each of the wrappers is still passing compilation.
Repository Summary
Checkout URI | https://github.com/IntelRealSense/librealsense.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2023-11-15 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Packages
Name | Version |
---|---|
librealsense2 | 2.54.2 |
README
Overview
Intel® RealSense™ SDK 2.0 is a cross-platform library for Intel® RealSense™ depth cameras (D400 & L500 series and the SR300).
:pushpin: For other Intel® RealSense™ devices (F200, R200, LR200 and ZR300), please refer to the latest legacy release.
The SDK allows depth and color streaming, and provides intrinsic and extrinsic calibration information. The library also offers synthetic streams (pointcloud, depth aligned to color and vise-versa), and a built-in support for record and playback of streaming sessions.
Developer kits containing the necessary hardware to use this library are available for purchase at store.intelrealsense.com. Information about the Intel® RealSense™ technology at www.intelrealsense.com
:open_file_folder: Don't have access to a RealSense camera? Check-out sample data
Update on Recent Changes to the RealSense Product Line
Intel has EOLed the LiDAR, Facial Authentication, and Tracking product lines. These products have been discontinued and will no longer be available for new orders.
Intel WILL continue to sell and support stereo products including the following: D410, D415, D430, , D401 ,D450 modules and D415, D435, D435i, D435f, D405, D455, D457 depth cameras. We will also continue the work to support and develop our LibRealSense open source SDK.
In the future, Intel and the RealSense team will focus our new development on advancing innovative technologies that better support our core businesses and IDM 2.0 strategy.
Building librealsense - Using vcpkg
You can download and install librealsense using the vcpkg dependency manager:
git clone https://github.com/Microsoft/vcpkg.git
cd vcpkg
./bootstrap-vcpkg.sh
./vcpkg integrate install
./vcpkg install realsense2
The librealsense port in vcpkg is kept up to date by Microsoft team members and community contributors. If the version is out of date, please create an issue or pull request on the vcpkg repository.
Download and Install
Download - The latest releases including the Intel RealSense SDK, Viewer and Depth Quality tools are available at: latest releases. Please check the release notes for the supported platforms, new features and capabilities, known issues, how to upgrade the Firmware and more.
Install - You can also install or build from source the SDK (on Linux \ Windows \ Mac OS \ Android \ Docker), connect your D400 depth camera and you are ready to start writing your first application.
Support & Issues: If you need product support (e.g. ask a question about / are having problems with the device), please check the FAQ & Troubleshooting section. If not covered there, please search our Closed GitHub Issues page, Community and Support sites. If you still cannot find an answer to your question, please open a new issue.
What’s included in the SDK:
What | Description | Download link |
---|---|---|
Intel® RealSense™ Viewer | With this application, you can quickly access your Intel® RealSense™ Depth Camera to view the depth stream, visualize point clouds, record and playback streams, configure your camera settings, modify advanced controls, enable depth visualization and post processing and much more. | Intel.RealSense.Viewer.exe |
Depth Quality Tool | This application allows you to test the camera’s depth quality, including: standard deviation from plane fit, normalized RMS – the subpixel accuracy, distance accuracy and fill rate. You should be able to easily get and interpret several of the depth quality metrics and record and save the data for offline analysis. | Depth.Quality.Tool.exe |
Debug Tools | Device enumeration, FW logger, etc as can be seen at the tools directory | Included in Intel.RealSense.SDK.exe |
Code Samples | These simple examples demonstrate how to easily use the SDK to include code snippets that access the camera into your applications. Check some of the C++ examples including capture, pointcloud and more and basic C examples | Included in Intel.RealSense.SDK.exe |
Wrappers | Python, C#/.NET API, as well as integration with the following 3rd-party technologies: ROS1, ROS2, LabVIEW, OpenCV, PCL, Unity, Matlab, OpenNI, UnrealEngine4 and more to come. |
Ready to Hack!
Our library offers a high level API for using Intel RealSense depth cameras (in addition to lower level ones). The following snippet shows how to start streaming frames and extracting the depth value of a pixel:
// Create a Pipeline - this serves as a top-level API for streaming and processing frames
rs2::pipeline p;
// Configure and start the pipeline
p.start();
while (true)
{
// Block program until frames arrive
rs2::frameset frames = p.wait_for_frames();
// Try to get a frame of a depth image
rs2::depth_frame depth = frames.get_depth_frame();
// Get the depth frame's dimensions
float width = depth.get_width();
float height = depth.get_height();
// Query the distance from the camera to the object in the center of the image
float dist_to_center = depth.get_distance(width / 2, height / 2);
// Print the distance
std::cout << "The camera is facing an object " << dist_to_center << " meters away \r";
}
For more information on the library, please follow our examples, and read the documentation to learn more.
Contributing
In order to contribute to Intel RealSense SDK, please follow our contribution guidelines.
License
This project is licensed under the Apache License, Version 2.0. Copyright 2018 Intel Corporation
CONTRIBUTING
How to Contribute
This project welcomes third-party code via GitHub pull requests.
You are welcome to propose and discuss enhancements using project issues.
Branching Policy: The
master
branch is considered stable, at all times. Thedevelopment
branch is the one where all contributions must be merged before being promoted to master. If you plan to propose a patch, please commit into thedevelopment
branch, or its own feature branch.
We recommend enabling travis-ci on your fork of librealsense
to make sure the changes compile on all platforms and pass unit-tests.
In addition, please run pr_check.sh
and api_check.sh
under scripts
directory. These scripts verify compliance with project's standards:
- Every example / source file must refer to LICENSE
- Every example / source file must include correct copyright notice
- For indentation we are using spaces and not tabs
- Line-endings must be Unix and not DOS style
- Every API header file must be able to compile as the first included header (no implicit dependencies)
Most common issues can be automatically resolved by running ./pr_check.sh --fix
Please familirize yourself with the Apache License 2.0 before contributing.
Step-by-Step
- Make sure you have
git
andcmake
installed on your system. On Windows we recommend using Git Extensions for git bash. - Run
git clone https://github.com/IntelRealSense/librealsense.git
andcd librealsense
- To align with latest status of the development branch, run:
git fetch origin
git checkout development
git reset --hard origin/development
-
git checkout -b name_of_your_contribution
to create a dedicated branch - Make your changes to the local repository
- Make sure your local git user is updated, or run
git config --global user.email "email@example.com"
andgit config --global user.user "user"
to set it up. This is the user & email that will appear in GitHub history. -
git add -p
to select the changes you wish to add git commit -m "Description of the change"
- Make sure you have a GitHub user and fork librealsense
-
git remote add fork https://github.com/username/librealsense.git
with your GitHubusername
git fetch fork
-
git push fork
to pushname_of_your_contribution
branch to your fork - Go to your fork on GitHub at
https://github.com/username/librealsense
- Click the
New pull request
button - For
base
combo-box selectdevelopment
, since you want to submit a PR to that branch - For
compare
combo-box selectname_of_your_contribution
with your commit - Review your changes and click
Create pull request
- Wait for all automated checks to pass
- The PR will be approved / rejected after review from the team and the community
To continue to new change, goto step 3.
To return to your PR (in order to make more changes):
1. git stash
2. git checkout name_of_your_contribution
3. Repeat items 5-8 from the previous list
4. git push fork
The pull request will be automatically updated
Comment about the Wrappers
It is very time consuming (and often impossible) for a single developer to test contributed functionality using all of the supported wrappers. There is no expectation of adding new functionality to all of the wrappers. One noteable exception is maintaining parity of public enumerations. Without strict maintanance it is easy for these lists to go out of sync and this can have serious runtime consequences.
For example, when adding new value to rs2_option
enum, please also add it to:
1. The list of Matlab options under wrappers/matlab/option.m
2. The list of options for Unreal Engine integration
3. The list of options in the C# wrapper - wrappers/csharp/Intel.RealSense/Types/Enums/Option.cs
4. The list of Java options used for Android integration - wrappers/android/librealsense/src/main/java/com/intel/realsense/librealsense/Option.java
5. The list of options in the python wrapper
Once all are updated travis-ci will give clear indication that each of the wrappers is still passing compilation.