Dear Stereolabs Support Team,
I am currently working on a project that extensively uses the ZED SDK, with the primary application developed in Python. As the project has evolved, our performance requirements for real-time image processing and AI inference have become increasingly critical. Our testing has consistently demonstrated that porting performance-sensitive components to C++ results in a significant and necessary speed increase.
Instead of undertaking a complete and time-consuming rewrite of the entire project in C++, we are very interested in implementing a hybrid approach. Our goal is to:
- Retain the main application logic, control flow, and user interface in Python.
- Offload the performance-critical sections (such as depth data extraction, positional tracking, and heavy image frame processing) into C++ modules that can be called seamlessly from our Python code.
To achieve this efficiently and robustly, we would like to follow best practices supported by your SDK. Therefore, we have a few specific questions:
- Does Stereolabs provide any official examples or documentation on creating Python Bindings for core ZED SDK functions? For instance, best practices for passing objects like sl::Mat or camera objects between languages.
- Are there specific tools or frameworks you recommend for this interoperability? We are considering options like PyBind11 or Cython and would value your insight on which integrates most smoothly with the ZED SDK’s architecture.
- Are there any known considerations or challenges we should be aware of? This includes aspects like memory management for SDK objects across the language boundary or handling data streams with minimal latency.
We greatly appreciate your technical expertise and support. Your guidance on this matter will be invaluable in helping us optimize our application’s performance while maintaining development efficiency.
Thank you for your time