English | 简体中文
XRPrimer is a fundational library for XR-related algorithms. The XRPrimer provides reusable data structures, efficient operaters and extensible interfaces both in C++ and Python.
- Various camera models and conversion tools (Pinhole, Fisheye, Omni etc.)
- Basic 3D operations (Triangulation, Projection etc.)
- Multi-camera extrinsic calibration tools
- Rendering and visualization tools
It currently supports the following systems.
- Linux
- iOS
If using xrprimer in a Python project, it can be installed by:
pip install xrprimer
If you want to use the latest updates of xrprimer, please refer to Python Installation for detailed installation.
If using xrprimer in a C++ project, please refer to C++ Installation for compilation and test.
The below code is supposed to run successfully upon you finish the installation.
python -c "import xrprimer; print(xrprimer.__version__)"
An example is given below to show how to link xrprimer in C++ projects. More details can be found here.
cmake_minimum_required(VERSION 3.16)
project(sample)
# set path for find XRPrimer package (config mode)
set(XRPrimer_DIR "<package_path>/lib/cmake")
find_package(XRPrimer REQUIRED)
add_executable(sample sample.cpp)
target_link_libraries(sample XRPrimer::xrprimer)
If you face some installation issues, you may first refer to this Frequently Asked Questions.
The license of our codebase is Apache-2.0. Note that this license only applies to code in our library, the dependencies of which are separate and individually licensed. We would like to pay tribute to open-source implementations to which we rely on. Please be aware that using the content of dependencies may affect the license of our codebase. Refer to LICENSE to view the full license.
If you find this project useful in your research, please consider cite:
@misc{xrprimer,
title={OpenXRLab Foundational Library for XR-related Algorithms},
author={XRPrimer Contributors},
howpublished = {\url{https://github.com/openxrlab/xrprimer}},
year={2022}
}
We appreciate all contributions to improve XRPrimer. Please refer to CONTRIBUTING.md for the contributing guideline.
XRPrimer is an open source project that is contributed by researchers and engineers from both the academia and the industry. We appreciate all the contributors who implement their methods or add new features, as well as users who give valuable feedbacks. We wish that the toolbox and benchmark could serve the growing research community by providing a flexible toolkit to reimplement existing methods and develop their own new models.
- XRPrimer: OpenXRLab foundational library for XR-related algorithms.
- XRSLAM: OpenXRLab Visual-inertial SLAM Toolbox and Benchmark.
- XRSfM: OpenXRLab Structure-from-Motion Toolbox and Benchmark.
- XRLocalization: OpenXRLab Visual Localization Toolbox and Server.
- XRMoCap: OpenXRLab Multi-view Motion Capture Toolbox and Benchmark.
- XRMoGen: OpenXRLab Human Motion Generation Toolbox and Benchmark.
- XRNeRF: OpenXRLab Neural Radiance Field (NeRF) Toolbox and Benchmark.