Obtaining 3d positions (and normals) of extracted cctag markers
wlter opened this issue · comments
Hi,
I would like to use (cctag) markers to uniquely identify a set of positions, which should be a byproduct of the processing chain, if I understand the software correctly.
The scene I'll be working with:
- Physically at least 32 markers are ordered around a semi-sphere, so some will always be occluded in some views.
- Since meshroom supports cctag markers I'd like to go with those.
What I am looking for
- relative positions of the markers in 3d space (together with their unique ID)
- ideally position + normal, but not necessarily
- ideally also with a physical scaling, but no necessarily
What I am not looking for
- I am not looking for the actual photogrammetry result. Don't need the mesh, the texturing or any other features.
A nice bonus would be
- if there's a way to create the sparse reconstruction only from markers (no other features like dpsift etc)
- if there's a way to take into account that each marker is unique
I feel like the software internally already has the info that I am looking for, but I don't know how to get to it.
Would be grateful if someone could help me out :)
You can use the ConvertSfMFormat node to export the cctags as a JSON. Select only the 'structure' export option.
Example output:
{
"landmarkId": "25375",
"descType": "cctag3",
"color": [
"2",
"0",
"0"
],
"X": [
"0",
"1.7763568394002505e-15",
"0"
]
},
{
"landmarkId": "27864",
"descType": "cctag3",
"color": [
"1",
"0",
"0"
],
"X": [
"-6.3424587249755859",
"-9.5071029663085938",
"3.9209086894989014"
]
},
The 'color' key represents the marker ID.
For scaling markers see https://github.com/alicevision/Meshroom/wiki/CCTAG-scaling