Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

1.9.x->main update docs and update driver signature #51

Merged
merged 4 commits into from
Feb 5, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 13 additions & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
cmake_minimum_required(VERSION 3.1.15)
project(OrbbecSDK VERSION 1.9.3 LANGUAGES C CXX)
project(OrbbecSDK VERSION 1.9.4 LANGUAGES C CXX)

# Determine host platform
include(${CMAKE_CURRENT_SOURCE_DIR}/cmake/DetermineHostPlatform.cmake)
Expand Down Expand Up @@ -94,6 +94,18 @@ if(${CMAKE_SOURCE_DIR} STREQUAL ${CMAKE_CURRENT_SOURCE_DIR}) # project is used
"${CMAKE_CURRENT_BINARY_DIR}/OrbbecSDKConfigVersion.cmake"
DESTINATION lib/
)
# OrbbecSDK.pc.in
if((UNIX))
configure_file(
"${CMAKE_CURRENT_SOURCE_DIR}/OrbbecSDK.pc.in"
"${CMAKE_CURRENT_BINARY_DIR}/OrbbecSDK.pc"
@ONLY
)
install(FILES
"${CMAKE_CURRENT_BINARY_DIR}/OrbbecSDK.pc"
DESTINATION lib/pkgconfig/
)
endif()

# Uninstall target
include(${CMAKE_CURRENT_SOURCE_DIR}/cmake/UninstallTarget.cmake)
Expand Down
4 changes: 2 additions & 2 deletions OrbbecSDK.pc.in
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,6 @@ includedir=${prefix}/include

Name: OrbbecSDK
Description: OrbbecSDK is a comprehensive library that provides developers with intuitive interfaces to control and manipulate Orbbec cameras seamlessly.
Version: 1.9.4
Version: @PROJECT_VERSION@
Libs: -L${libdir} -lOrbbecSDK
Cflags: -I${includedir}
Cflags: -I${includedir}
4 changes: 3 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,9 @@ The Orbbec 3D camera product software development kit fully supports UVC, enabli

Additionally, this SDK is compatible with Orbbec's original OpenNI protocol devices through built-in code, enabling developers to migrate to Orbbec SDK to support both new and old products with one set of code.


If you are a user in China, it is recommended to use Gitee([gitee Repo](https://gitee.com/orbbecdeveloper/OrbbecSDK)).

## What is included in the repository

* **library** : Orbbec SDK core library files and C/C++ header files.
Expand Down Expand Up @@ -161,4 +164,3 @@ target_link_libraries(${PROJECT_NAME} OrbbecSDK::OrbbecSDK)
* [Orbbec SDK Repo](https://github.com/orbbec/OrbbecSDK)
* [Orbbec Main Page](https://www.orbbec.com/)
* [Orbbec 3D Club](https://3dclub.orbbec3d.com)
* [gitee Repo](https://gitee.com/orbbecdeveloper/OrbbecSDK)
3 changes: 2 additions & 1 deletion README_CN.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@ Orbbec 3D 相机产品软件开发套件,全面支持 UVC,实现免驱动即

此外,该 SDK 通过内置代码兼容 Orbbec 原有的 OpenNI 协议设备,开发者可以完全迁移到 OrbbecSDK,一套代码即可支持 Orbbec 的新一代产品和老产品。

如果你是中国的用户,建议使用 Gitee([gitee Repo](https://gitee.com/orbbecdeveloper/OrbbecSDK))。

## 本仓库包含内容

* **library** : OrbbecSDK 核心库文件和 C/C++ 头文件。
Expand Down Expand Up @@ -147,4 +149,3 @@ target_link_libraries(${PROJECT_NAME} OrbbecSDK::OrbbecSDK)

* [奥比中光主页](https://www.orbbec.com.cn/)
* [3D 视觉开发者社区](https://developer.orbbec.com.cn/)
* [gitee 仓库](https://gitee.com/orbbecdeveloper/OrbbecSDK)
46 changes: 23 additions & 23 deletions doc/tutorial/English/OverviewDocument.md
Original file line number Diff line number Diff line change
@@ -1,26 +1,26 @@
# Overview
Welcome to the Orbbec SDK (hereinafter referred to as "SDK") tutorial! The SDK not only provides a concise high-level API, but also a flexible and comprehensive low-level API to help you use and quickly understand Orbbec 3D cameras in detail.
Welcome to the Orbbec SDK (hereinafter referred to as "SDK") tutorial! The SDK not only provides a concise high-level API, but also a flexible and comprehensive low-level API to help you use and quickly understand Orbbec 3D cameras in detail.

# Features
Orbbec SDK is a cross-platform (Windows, Android, Linux) software development kit that provides device parameter configuration, data stream reading and stream processing for 3D sensing cameras such as Orbbec structured light, binocular, and iToF.

**Core functions:**

- Depth camera access and related parameter settings
- RGB camera access and related parameter settings (eg exposure and white balance)
- Sensor access and related parameter settings (eg gyroscope and accelerometer)
- Frame synchronization and alignment control
- Point cloud data
- Algorithmic capabilities such as filtering
- Multi-OS and Wrapper support.
- Depth camera access and related parameter settings
- RGB camera access and related parameter settings (eg exposure and white balance)
- Sensor access and related parameter settings (eg gyroscope and accelerometer)
- Frame synchronization and alignment control
- Point cloud data
- Algorithmic capabilities such as filtering
- Multi-OS and Wrapper support.

**Highlights:**

SDK design goals: thin + flexible + high scalability.
SDK design goals: thin + flexible + high scalability.

- "Thin": Provides the ability to obtain device data at the minimum level and high performance
- "Flexible": Modular sensor function, flexible combination of different devices
- "Highly Scalable": Supports increasingly diversified devices and systems, and plug-in algorithms for different scenarios
- "Thin": Provides the ability to obtain device data at the minimum level and high performance
- "Flexible": Modular sensor function, flexible combination of different devices
- "Highly Scalable": Supports increasingly diversified devices and systems, and plug-in algorithms for different scenarios

What's included in the SDK:

Expand Down Expand Up @@ -51,50 +51,50 @@ The realization of the core business logic framework.

**Platform abstraction layer**

Cross-platform components shield the implementation of different operating systems and provide a unified access method.
Cross-platform components shield the implementation of different operating systems and provide a unified access method.

**Platform implementation layer**

The driver implementation of each platform.


# SDK Frame Acquisition Sequence Diagram
# SDK Frame Acquisition Sequence Diagram

![OrbbecSDK Get Frame Sequence Diagram](Image/OrbbecSDK-Get-Frame-Sequence-Diagram.png)

Note: The interfaces labeled with numbers are external interfaces, while the ones without numbers are internal interfaces.

# SDK Concepts
# SDK Concepts

**Context**
**Context**

Context which provides a set of settings includes settings such as device state change callbacks, log levels, and more. The Context can access multiple devices.


**Device**
**Device**

One actual hardware device corresponds to one Device object, which is used to obtain relevant information of the device and control its attributes.

**Sensor**
**Sensor**

A Sensor can be understood as a sub-device of the actual device, corresponding to Color Sensor, IR Sensor, Depth Sensor, IMU Sensor, etc. One Device can contain multiple Sensors.

**Stream**
**Stream**

Stream represents a data flow. Generally, a Sensor can output one or more types of data flows, which are composed of a series of time-sequenced Frames. For Stream, StreamProfile is used to describe the configuration of an individual stream.

**Frame**
**Frame**

Represents a frame of data in the Stream, and also contains relevant information about that frame of data, such as timestamp, type, etc.

**FrameSet**
**FrameSet**

Represents a combination of different types of Frames with the same timestamp, such as a combination of Color Frame and Depth Frame.

**Pipeline**
**Pipeline**

The HighLevel corresponding object encapsulates the interface for quick access to the SDK. It has simple functions that allow users to quickly get started and use the SDK.

**Filter**
**Filter**

It mainly refers to some algorithmic processing modules for the composite stream FrameSet, such as point cloud algorithm processing.
Binary file modified misc/driver/SensorDriver_V4.3.0.22.exe
Binary file not shown.