Skip to content

Most of Odometry API is missing from Python bindings #22799

New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Closed
3 of 4 tasks
JoeHowse opened this issue Nov 13, 2022 · 1 comment
Closed
3 of 4 tasks

Most of Odometry API is missing from Python bindings #22799

JoeHowse opened this issue Nov 13, 2022 · 1 comment

Comments

@JoeHowse
Copy link
Contributor

System Information

OpenCV Python version: 5.0.0-pre (commit d976272)

Detailed description

OdometryType, OdometrySettings, OdometryFrame, and most methods of Odometry are missing from the Python bindings.

Without OdometrySettings and the related Odometry constructors, there is no way to configure Odometry for most practical use cases. For example, there is no way to set the camera matrix.

Steps to reproduce

The issue is apparent on code review of the 5.x branch, or on building and testing the Python module from this branch.

Issue submission checklist

  • I report the issue, it's not a question
  • I checked the problem with documentation, FAQ, open issues, forum.opencv.org, Stack Overflow, etc and have not found any solution
  • I updated to the latest OpenCV version and the issue is still there
  • There is reproducer code and related data files (videos, images, onnx, etc)
@JoeHowse JoeHowse added the bug label Nov 13, 2022
@asmorkalov asmorkalov added this to the 5.0 milestone Nov 24, 2022
asmorkalov pushed a commit that referenced this issue Dec 12, 2022
Fixes #22799

Replaces #21559 which was taken as a base

Connected PR in contrib: [#3388@contrib](opencv/opencv_contrib#3388)

### Changes
OK, now this is more Odometry-related PR than Volume-related. Anyway,
* `Volume` class gets wrapped
* The same was done for helper classes like `VolumeSettings`, `OdometryFrame` and `OdometrySettings`
* `OdometryFrame` constructor signature changed to more convenient where depth goes on 1st place, RGB image on 2nd.
This works better for depth-only `Odometry` algorithms.
* `OdometryFrame` is checked for amount of pyramid layers inside `Odometry::compute()`
* `Odometry` was fully wrapped + more docs added
* Added Python tests for `Odometry`, `OdometryFrame` and `Volume`
* Added Python sample for `Volume`
* Minor fixes including better var names

### 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] There is a reference to the original bug report and related work
- [x] There is accuracy test, performance test and test data in opencv_extra repository, if applicable
      Patch to opencv_extra has the same branch name.
- [x] The feature is well documented and sample code can be built with the project CMake
@JoeHowse
Copy link
Contributor Author

The missing bindings have been added by #22925, so I am closing this issue.

# for free to join this conversation on GitHub. Already have an account? # to comment
Projects
None yet
Development

No branches or pull requests

3 participants