diff --git a/CMakeLists.txt b/CMakeLists.txt index ec426a6d..0986683c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -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) @@ -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) diff --git a/OrbbecSDK.pc.in b/OrbbecSDK.pc.in index 0de9aee2..8e6cb235 100644 --- a/OrbbecSDK.pc.in +++ b/OrbbecSDK.pc.in @@ -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} \ No newline at end of file +Cflags: -I${includedir} diff --git a/README.md b/README.md index 031d9086..d501a785 100644 --- a/README.md +++ b/README.md @@ -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. @@ -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) diff --git a/README_CN.md b/README_CN.md index d0eed728..0bfdadf1 100644 --- a/README_CN.md +++ b/README_CN.md @@ -6,6 +6,8 @@ Orbbec 3D 相机产品软件开发套件,全面支持 UVC,实现免驱动即 此外,该 SDK 通过内置代码兼容 Orbbec 原有的 OpenNI 协议设备,开发者可以完全迁移到 OrbbecSDK,一套代码即可支持 Orbbec 的新一代产品和老产品。 +如果你是中国的用户,建议使用 Gitee([gitee Repo](https://gitee.com/orbbecdeveloper/OrbbecSDK))。 + ## 本仓库包含内容 * **library** : OrbbecSDK 核心库文件和 C/C++ 头文件。 @@ -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) diff --git a/doc/tutorial/English/OverviewDocument.md b/doc/tutorial/English/OverviewDocument.md index 117d1ce9..9934659b 100644 --- a/doc/tutorial/English/OverviewDocument.md +++ b/doc/tutorial/English/OverviewDocument.md @@ -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: @@ -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. diff --git a/misc/driver/SensorDriver_V4.3.0.22.exe b/misc/driver/SensorDriver_V4.3.0.22.exe index ef796081..10a7436f 100644 Binary files a/misc/driver/SensorDriver_V4.3.0.22.exe and b/misc/driver/SensorDriver_V4.3.0.22.exe differ