1
0
mirror of https://github.com/opencv/opencv.git synced 2026-07-29 23:33:05 +04:00
Files
sirudoi 881774d872 Merge pull request #27930 from sirudoi:4.x
Add macOS support for Orbbec Gemini330 camera #27930

### Description of Changes
Adds macOS support for Orbbec Gemini330 in videoio by integrating OrbbecSDK v2. Completes the non-macOS work in [#27230](https://github.com/opencv/opencv/pull/27230).

#### Motivation

[#27230](https://github.com/opencv/opencv/pull/27230) skipped macOS. On macOS, UVC alone lacks required device controls; OrbbecSDK v2 provides them.

#### Key Change
 - macOS: fetch/link OrbbecSDK v2.5.5 (replaces v1.9.4).
 - videoio (macOS): switch OrbbecSDK API usage from v1 to v2.

### Pull Request Readiness Checklist

See details at https://github.com/opencv/opencv/wiki/How_to_contribute#making-a-good-pull-request

- [x] I agree to contribute to the project under Apache 2 License.
- [x] To the best of my knowledge, the proposed patch is not based on a code under GPL or another license that is incompatible with OpenCV
- [x] The PR is proposed to the proper branch
- [x] The feature is well documented and sample code can be built with the project CMake
2025-11-07 10:36:11 +03:00

34 lines
1.5 KiB
CMake

ocv_update(ORBBEC_SDK_VERSION "2")
ocv_update(ORBBEC_SDK_DOWNLOAD_DIR "${OpenCV_BINARY_DIR}/3rdparty/orbbecsdk")
function(download_orbbec_sdk root_var)
if(ORBBEC_SDK_VERSION STREQUAL "1")
set(ORBBEC_SDK_FILE_HASH_CMAKE "e7566fa915a1b0c02640df41891916fe")
set(ORBBEC_SDK_GIT_TAG "1.9.4")
add_definitions(-DORBBEC_SDK_VERSION_MAJOR=1)
elseif(ORBBEC_SDK_VERSION STREQUAL "2")
set(ORBBEC_SDK_FILE_HASH_CMAKE "d828ac15618a56b9ae325bada8676e28")
set(ORBBEC_SDK_GIT_TAG "2.5.5")
add_definitions(-DORBBEC_SDK_VERSION_MAJOR=2)
else()
message(STATUS "Unsupported OrbbecSDK version: ${ORBBEC_SDK_VERSION}, use default version 2")
set(ORBBEC_SDK_FILE_HASH_CMAKE "d828ac15618a56b9ae325bada8676e28")
set(ORBBEC_SDK_GIT_TAG "2.5.5")
add_definitions(-DORBBEC_SDK_VERSION_MAJOR=2)
endif()
ocv_download(FILENAME "v${ORBBEC_SDK_GIT_TAG}.tar.gz"
HASH ${ORBBEC_SDK_FILE_HASH_CMAKE}
URL "https://github.com/orbbec/OrbbecSDK/archive/refs/tags/v${ORBBEC_SDK_GIT_TAG}/"
DESTINATION_DIR ${ORBBEC_SDK_DOWNLOAD_DIR}
ID OrbbecSDK
STATUS res
UNPACK RELATIVE_URL
)
if(${res})
message(STATUS "OrbbecSDK downloaded to: ${ORBBEC_SDK_DOWNLOAD_DIR}")
set(${root_var} "${ORBBEC_SDK_DOWNLOAD_DIR}/OrbbecSDK-${ORBBEC_SDK_GIT_TAG}" PARENT_SCOPE)
else()
message(FATAL_ERROR "Failed to download OrbbecSDK")
endif()
endfunction()