Skip to content

Conversation

@DuinoDu
Copy link
Collaborator

@DuinoDu DuinoDu commented Nov 5, 2025

Summary

Fix #6.

Details

The root cause was that the Python bindings exposed SpatialML::camera_extrinsics::extrinsics directly (see the old implementation around bindings/spatialmp4.cpp:175), and that field is a cv::Matx<double,4,4>. Pybind11 doesn’t know
how to convert cv::Matx (a fixed-size OpenCV matrix) into a Python object out of the box, so whenever CameraExtrinsics.extrinsics or CameraExtrinsics.as_cvmat() ran, pybind11 couldn’t turn the C++ return value into something Python
understands and raised TypeError: Unregistered type : cv::Matx<double, 4, 4>. Switching the binding to return Eigen matrices—which pybind11 does support—resolved the conversion error.

@DuinoDu DuinoDu merged commit 8f6091f into main Nov 6, 2025
17 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

pybind of CameraExtrinsics.extrinsics

3 participants