Manual 3D point input: run the workflow once to load the model into the node, then ORBIT to the side you want and LEFT-CLICK the surface to drop an anchor. SHIFT+click an existing marker removes it; drag orbits instead of adding, so the view is free. The points come out in the MODEL's own frame, which is what makes them ride the object once a tracker moves it - feed them to 'CV Project Points (Sequence)' or the 'CV Annotate Model' blueprint.
A plain orbit viewer on purpose: no calibrated camera, no lens distortion, no pose. Those matter when you are matching footage; here you are only pointing at geometry, and a free camera is the fastest way to reach the far side of an object.
The picks live in the 'points' widget as JSON ([[x, y, z], ...]), so they survive a save/reload, can be typed or pasted by hand, and can be diffed. GLB only (Three.js GLTFLoader), same as the calibrated viewer.
By bmad4ever·Created 3 months ago·Updated 2 days ago· 0
CV Annotate Points On Model
model_3d
points_3d
count
◄points[]►
◄axis_conventionOpenCV (Y down, Z into the scene)►
Categoryimage/CV/low-level
Inputs (3)
Name
Type
Default
Description
model_3d
FILE_3D_GLB,FILE_3D_GLTF,FILE_3D
Model to annotate, from a 3D loader node. Use the SAME file you feed 'CV Mesh From 3D Model', or the anchors will refer to different geometry.
points
STRING
[]
The picked anchors as JSON, [[x, y, z], ...], in the coordinates the FILE stores (glTF's Y-up). The viewer writes this as you click; edit it by hand for exact values. Empty or '[]' means no anchors yet - a valid state, not an error.
axis_convention
COMBO
OpenCV (Y down, Z into the scene)
Which convention the OUTPUT is in. Leave it on OpenCV to match 'CV Mesh From 3D Model's default, so the anchors land in the same frame as the mesh a pose was solved against. Mismatch it and the anchors mirror through the object.
Outputs (2)
Name
Type
Description
points_3d
NPARRAY
Nx3 float32 anchors in the model's own frame, in the order they were clicked - so the Nth anchor keeps the Nth caption from 'CV Text To Array'.
count
INT
How many anchors are set. 0 is valid: the node emits an empty (0, 3) array rather than failing, so a graph still executes before you have clicked anything.