opencv_contrib icon indicating copy to clipboard operation
opencv_contrib copied to clipboard

[Feature Request] Add Python support for SFM – triangulatePoints function

Open FrancescoSpena opened this issue 8 months ago • 4 comments

Describe the feature and motivation

Description:

Currently, OpenCV provides the Structure From Motion (SFM) module only in C++, and there is no official Python binding for it. I have implemented a pure Python version of the cv::sfm::triangulatePoints function, which allows triangulating 3D points from 2D image correspondences and projection matrices. I would like to contribute this function to OpenCV, and I have a few questions regarding the best approach:

Should I create a new sfm module inside opencv_contrib to host this function and possibly other SFM-related utilities in the future? If a new sfm module is not the right approach, where would be the best place to integrate this function? (e.g., calib3d, multiview)? Is there any existing plan to add Python support for SFM in OpenCV?

Proposed Contribution:

  • A Python implementation of triangulatePoints, equivalent to the C++ version in OpenCV.
  • Unit tests to ensure correctness.
  • Documentation and example usage.
  • (If approved) A new sfm module in opencv_contrib to facilitate future additions.

I am open to feedback on the best way to integrate this contribution. Let me know if you need any additional details! 🚀

Additional context

OpenCV Version: Platform: Ubuntu 20.04, Python 3.8.10

FrancescoSpena avatar Mar 27 '25 21:03 FrancescoSpena