Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

Family-based charuco board generation #1726

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

DevonRD
Copy link
Contributor

@DevonRD DevonRD commented Jan 14, 2025

Implements:
#1606

This provides some support for generating charuco calibration boards for the selected config. At the moment there is only row/col size of 8x8, and I am unsure if or how we should allow for dynamic generation based on configured row/col size. For now, at least we can have 8x8 in all families readily available without backend work and prevent misleading board generation behavior. Example of generated file names:
image

Side fix: A few rendering/spacing issues in calibration view (e.g. showing tag family, marker size, and old opencv pattern when not on charuco board, assuming the current code is correct in assuming they shouldn't be there), and lighter red text on input error.
image

Disclaimer: I have not yet tested calibrating using these generated images, however I used the same script that was used to make the original that is currently in the code for 4x4 family. Comes directly from opencv library.

@DevonRD DevonRD requested a review from a team as a code owner January 14, 2025 09:51
@Juniormunk
Copy link
Contributor

It seems like the best way to do dynamic generation is using the backend. I know others have said otherwise before, but its not that simple.

@Juniormunk
Copy link
Contributor

This needs some docs explaining the different families and what is special about them. Is there a real reason to give the user more than 4x4?

@DevonRD
Copy link
Contributor Author

DevonRD commented Jan 15, 2025

This needs some docs explaining the different families and what is special about them. Is there a real reason to give the user more than 4x4?

A better question is if there is a real reason to only give them 4x4 when we explicitly support three others. If we support those four families, we should provide boards for those four families imo, even if row/col is not adjustable yet. As the user mentioned in the issue, it is misleading to only generate one board style regardless of tag family setting.

I also don't think we should necessarily and urgently be responsible for explaining all that, I'm sure there are better resources for learning about the differences

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.

2 participants