Merged
Conversation
6 tasks
42d97fa to
b9dbe13
Compare
69f69e8 to
a0ff116
Compare
d6b393b to
9bf43c3
Compare
asmorkalov
reviewed
Feb 13, 2023
ce709d5 to
ed8a99d
Compare
asmorkalov
reviewed
Feb 14, 2023
ed8a99d to
697b2ec
Compare
be2be26 to
605fbf9
Compare
Contributor
Author
|
I fixed most of the issue (also updated docs, added cpp test). The issue of |
alalek
reviewed
Feb 17, 2023
bc0cb3b to
890522a
Compare
890522a to
4ba06c3
Compare
Merged
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The problem was in python bindings in
void matchImagePoints(InputArrayOfArrays detectedCorners, InputArray detectedIds, OutputArray objPoints, OutputArray imgPoints).detectedCornersmay include aruco marker corners asvector<vector<Point2f>>orvector<Mat>. AnyMatinvector<Mat>must have 4 rows for 4 corners for one marker (one marker has 4 corners).detectedCornersmay include Charuco corners asvector<Point2f>orMat. Python bindings add extra dimension todetectedCornersand thereforevector<Mat>case is additionally processed for charuco corners.Until the PR merge, you can using custom
matchImagePoints():Use sample from #23139 to see problem.
args:
-w=5 -h=7 -sl=0.04 -ml=0.02 -d=10 -v=choriginal.jpg
With fix:

detectedCornersincludes charuco corners in this case. Python bindings add extra dimension todetectedCornersand therefore without fixdetectedCornersprocessed as aruco marker corners andmatchImagePointsreturns bad values:Pull Request Readiness Checklist
See details at https://github.com/opencv/opencv/wiki/How_to_contribute#making-a-good-pull-request
Patch to opencv_extra has the same branch name.