from panda3d.vision import ARToolKit
ARToolKit is a software library for building Augmented Reality (AR) applications. These are applications that involve the overlay of virtual imagery on the real world. It was developed by Dr. Hirokazu Kato. Its ongoing development is being supported by the Human Interface Technology Laboratory (HIT Lab) at the University of Washington, HIT Lab NZ at the University of Canterbury, New Zealand, and ARToolworks, Inc, Seattle. It is available under a GPL license. It is also possible to negotiate other licenses with the copyright holders.
This class is a wrapper around the ARToolKit library.
__init__(param0: ARToolKit) → None¶
make(camera: NodePath, paramfile: Filename, markersize: float) → ARToolKit¶
Create a new ARToolKit instance.
Camera must be the nodepath of a panda camera object. The panda camera’s field of view is initialized to match the field of view of the physical webcam. Each time you call analyze, all marker nodepaths will be moved into a position which is relative to this camera. The marker_size parameter indicates how large you printed the physical markers. You should use the same size units that you wish to use in the panda code.
- Return type
setThreshold(n: float) → None¶
As part of its analysis, the ARToolKit occasionally converts images to black and white by thresholding them. The threshold is set to 0.5 by default, but you can tweak it here.
attachPattern(pattern: Filename, path: NodePath) → None¶
Associates the specified glyph with the specified NodePath. Each time you call analyze, ARToolKit will update the NodePath’s transform. If the node is not visible, its scale will be set to zero.
detachPatterns() → None¶
Dissociates all patterns from all NodePaths.
analyze(tex: Texture, do_flip_texture: bool) → None¶
Analyzes the non-pad region of the specified texture. This causes all attached nodepaths to move. The parameter do_flip_texture is true by default, because Panda’s representation of textures is upside down from ARToolKit. If you already have a texture that’s upside-down, however, you should set it to false.