Add macOS support for Orbbec Gemini330 camera#27930
Conversation
|
@kaingwade Could you test it with camera? |
Also: Astra 2 works; Astra + no. |
Hi, Femto is EOL and G2XL/Astra+ are nearing EOL; future SDKs won’t support these cameras, so this test result is expected, and thanks for testing. |
@asmorkalov What would you suggest? Should we ignore these older models that are already EOL or approaching EOL? The Orbbec SDK v2 will not support them anyway. |
|
@sirudoi Is there some trade-off version of the SDK where both families are supported? As alternative, I propose to have 2 urls for 1.x and 2.x sdk and switch between them over command line. 2.x should be default, of course. |
…EOL cameras and Gemini330
| # OrbbecSDK v2 loads some libraries at runtime. | ||
| file(COPY ${OrbbecSDK_RUNTIME_RESOURCE_FILES} DESTINATION ${CMAKE_BINARY_DIR}/lib) | ||
| endif() | ||
| install(FILES ${OrbbecSDK_DLL_FILES} DESTINATION ${OPENCV_LIB_INSTALL_PATH}) |
There was a problem hiding this comment.
OrbbecSDK_RUNTIME_RESOURCE_FILES need to be installed to OPENCV_LIB_INSTALL_PATH too for OrbbecSDK v2.
There was a problem hiding this comment.
OrbbecSDK_RUNTIME_RESOURCE_FILES need to be installed to OPENCV_LIB_INSTALL_PATH too for OrbbecSDK v2.
Hi, thanks for the heads-up. I’d like to confirm one detail, the OrbbecSDK v2 runtime files have this layout:
extensions/
├── depthengine
│ ├── libdepthengine.so -> libdepthengine.so.2.0
│ └── libdepthengine.so.2.0
├── filters
│ ├── libFilterProcessor.so
│ └── libob_priv_filter.so
├── firmwareupdater
│ └── libfirmwareupdater.so
└── frameprocessor
└── libob_frame_processor.soAs you can see, the v2 runtime is delivered as a directory. Does this structure meet the requirement for installing into OPENCV_LIB_INSTALL_PATH, or is it necessary to force the .so files to be placed directly in that path?
There was a problem hiding this comment.
You can use install(DIRECTORY …) to install the extensions folder as it is. I assume the layout should be preserved for OrbbecSDK v2 to successfully load dll inside it at runtime?
Description of Changes
Adds macOS support for Orbbec Gemini330 in videoio by integrating OrbbecSDK v2. Completes the non-macOS work in #27230.
Motivation
#27230 skipped macOS. On macOS, UVC alone lacks required device controls; OrbbecSDK v2 provides them.
Key Change
Pull Request Readiness Checklist
See details at https://github.com/opencv/opencv/wiki/How_to_contribute#making-a-good-pull-request