Hi @laurent.berger ,
to describe this a bit more - I’m working in a visual programming environment TouchDesigner with python as a scripting engine. For a project I have created 3 components:
- a board generator
- a pattern detector
- a camera calibrator
The board creates a class depending on board type (checker, circle, charuco, aruco) with information on the board configuration and the actual aruco board saved as a member .Board
The pattern detector finds the pattern and moves all relevant information into a pattern class. Part of that class is also a .Board
member which get’s the Board’s class assigned.
Hence in the camera calibrator, the Board is fetched via pattern.Board.Board
the board itself is created such with mrkObjPts being the same that are posted in the gist and the mrkIds a list from 0 to 444:
library = aruco.DICT_5X5_1000
aruDict = aruco.getPredefinedDictionary(library)
aruco.Board_create(mrkObjPt, aruDict, mrkIds)
My next steps to move further would be to try to get this going with the regular calibrateCamera
. I can fish out the objPts and imgPts necessary with the found ids, so that shouldn’t be a problem. Still unclear though what I might be doing wrong.
I can’t share the whole code as it’s distributed across multiple classes but perhaps I should write a quick testcase in a single script…
Thanks again
Markus