ARToolKitPlus::Tracker Class Reference

#include <Tracker.h>

Inheritance diagram for ARToolKitPlus::Tracker:
Inheritance graph
[legend]

List of all members.

Classes

struct  AutoThreshold

Public Member Functions

virtual void activateAutoThreshold (bool nEnable)
 Turns automatic threshold calculation on/off.
virtual void activateBinaryMarker (int nThreshold)
virtual void activateVignettingCompensation (bool nEnable, int nCorners=0, int nLeftRight=0, int nTopBottom=0)
virtual int arDetectMarker (uint8_t *dataPtr, int thresh, ARMarkerInfo **marker_info, int *marker_num)
 marker detection using tracking history
virtual int arDetectMarkerLite (uint8_t *dataPtr, int thresh, ARMarkerInfo **marker_info, int *marker_num)
 marker detection without using tracking history
virtual int arFreePatt (int patno)
 frees a pattern from memory
virtual ARFloat arGetTransMat (ARMarkerInfo *marker_info, ARFloat center[2], ARFloat width, ARFloat conv[3][4])
 calculates the transformation matrix between camera and the given marker
virtual ARFloat arGetTransMatCont (ARMarkerInfo *marker_info, ARFloat prev_conv[3][4], ARFloat center[2], ARFloat width, ARFloat conv[3][4])
virtual int arLoadPatt (char *filename)
 loads a pattern from a file
virtual int arMultiFreeConfig (ARMultiMarkerInfoT *config)
virtual ARFloat arMultiGetTransMat (ARMarkerInfo *marker_info, int marker_num, ARMultiMarkerInfoT *config)
 calculates the transformation matrix between camera and the given multi-marker config
virtual ARFloat arMultiGetTransMatHull (ARMarkerInfo *marker_info, int marker_num, ARMultiMarkerInfoT *config)
virtual ARMultiMarkerInfoT * arMultiReadConfigFile (const char *filename)
virtual ARFloat calcOpenGLMatrixFromMarker (ARMarkerInfo *nMarkerInfo, ARFloat nPatternCenter[2], ARFloat nPatternSize, ARFloat *nOpenGLMatrix)
 Calculates the OpenGL transformation matrix for a specific marker info.
virtual void changeCameraSize (int nWidth, int nHeight)
 Changes the resolution of the camera after the camerafile was already loaded.
virtual ARFloat executeMultiMarkerPoseEstimator (ARMarkerInfo *marker_info, int marker_num, ARMultiMarkerInfoT *config)
 Calls the pose estimator set with setPoseEstimator() for multi marker tracking.
virtual ARFloat executeSingleMarkerPoseEstimator (ARMarkerInfo *marker_info, ARFloat center[2], ARFloat width, ARFloat conv[3][4])
 Calls the pose estimator set with setPoseEstimator() for single marker tracking.
virtual int getBitsPerPixel () const
 Returns the numbber of bits per pixel for the compiled-in pixel format.
virtual CameragetCamera ()
 Returns the current camera.
virtual const ARFloatgetModelViewMatrix () const
 Returns an opengl-style modelview transformation matrix.
virtual int getNumLoadablePatterns () const
virtual PIXEL_FORMAT getPixelFormat () const
 Returns the compiled-in pixel format.
virtual const ARFloatgetProjectionMatrix () const
 Returns an opengl-style projection transformation matrix.
virtual int getThreshold () const
 Returns the current threshold value.
virtual const CornerPointsgetTrackedCorners () const
virtual bool isAutoThresholdActivated () const
 Returns true if automatic threshold detection is enabled.
virtual bool loadCameraFile (const char *nCamParamFile, ARFloat nNearClip, ARFloat nFarClip)
virtual ARFloat rppGetTransMat (ARMarkerInfo *marker_info, ARFloat center[2], ARFloat width, ARFloat conv[3][4])
virtual ARFloat rppMultiGetTransMat (ARMarkerInfo *marker_info, int marker_num, ARMultiMarkerInfoT *config)
virtual void setBorderWidth (ARFloat nFraction)
virtual void setCamera (Camera *nCamera, ARFloat nNearClip, ARFloat nFarClip)
 Sets a new camera including specifying new near and far clip values.
virtual void setCamera (Camera *nCamera)
 Sets a new camera without specifying new near and far clip values.
virtual void setHullMode (HULL_TRACKING_MODE nMode)
virtual void setImageProcessingMode (IMAGE_PROC_MODE nMode)
virtual void setLoadUndistLUT (bool nSet)
virtual void setMarkerMode (MARKER_MODE nMarkerMode)
virtual void setNumAutoThresholdRetries (int nNumRetries)
virtual bool setPixelFormat (PIXEL_FORMAT nFormat)
virtual bool setPoseEstimator (POSE_ESTIMATOR nMethod)
virtual void setThreshold (int nValue)
 Sets the threshold value that is used for black/white conversion.
virtual void setUndistortionMode (UNDIST_MODE nMode)
 Tracker (int imWidth, int imHeight, int maxImagePatterns=8, int pattWidth=6, int pattHeight=6, int pattSamples=6, int maxLoadPatterns=0)
virtual ~Tracker ()

Static Public Member Functions

static bool calcCameraMatrix (const char *nCamParamFile, ARFloat nNear, ARFloat nFar, ARFloat *nMatrix)

Protected Types

typedef int(Tracker::* ARPARAM_UNDIST_FUNC )(Camera *pCam, ARFloat ox, ARFloat oy, ARFloat *ix, ARFloat *iy)
typedef ARFloat(Tracker::* MULTI_POSE_ESTIMATOR_FUNC )(ARMarkerInfo *marker_info, int marker_num, ARMultiMarkerInfoT *config)
typedef ARFloat(Tracker::* POSE_ESTIMATOR_FUNC )(ARMarkerInfo *marker_info, ARFloat center[2], ARFloat width, ARFloat conv[3][4])

Protected Member Functions

int arActivatePatt (int patno)
int arCameraIdeal2Observ_std (Camera *pCam, ARFloat ix, ARFloat iy, ARFloat *ox, ARFloat *oy)
int arCameraObserv2Ideal_LUT (Camera *pCam, ARFloat ox, ARFloat oy, ARFloat *ix, ARFloat *iy)
int arCameraObserv2Ideal_none (Camera *pCam, ARFloat ox, ARFloat oy, ARFloat *ix, ARFloat *iy)
int arCameraObserv2Ideal_std (Camera *pCam, ARFloat ox, ARFloat oy, ARFloat *ix, ARFloat *iy)
int arDeactivatePatt (int patno)
ARMarkerInfo2 * arDetectMarker2 (int16_t *limage, int label_num, int *label_ref, int *warea, ARFloat *wpos, int *wclip, int area_max, int area_min, ARFloat factor, int *marker_num)
int arGetAngle (ARFloat rot[3][3], ARFloat *wa, ARFloat *wb, ARFloat *wc)
int arGetCode (uint8_t *image, int *x_coord, int *y_coord, int *vertex, int *code, int *dir, ARFloat *cf, int thresh)
int arGetContour (int16_t *limage, int *label_ref, int label, int clip[4], ARMarkerInfo2 *marker_infoTWO)
int arGetInitRot (ARMarkerInfo *marker_info, ARFloat cpara[3][4], ARFloat rot[3][3])
int arGetInitRot2 (ARMarkerInfo *marker_info, ARFloat rot[3][3], ARFloat center[2], ARFloat width)
int arGetLine (int x_coord[], int y_coord[], int vertex[], ARFloat line[4][3], ARFloat v[4][2])
ARMarkerInfo * arGetMarkerInfo (uint8_t *image, ARMarkerInfo2 *marker_info2, int *marker_num, int thresh)
int arGetNewMatrix (ARFloat a, ARFloat b, ARFloat c, ARFloat trans[3], ARFloat trans2[3][4], ARFloat cpara[3][4], ARFloat ret[3][4])
int arGetPatt (uint8_t *image, int *x_coord, int *y_coord, int *vertex, uint8_t *ext_pat)
int arGetRot (ARFloat a, ARFloat b, ARFloat c, ARFloat rot[3][3])
ARFloat arGetTransMat3 (ARFloat rot[3][3], ARFloat ppos2d[][2], ARFloat ppos3d[][2], int num, ARFloat conv[3][4], Camera *pCam)
ARFloat arGetTransMat5 (ARFloat rot[3][3], ARFloat ppos2d[][2], ARFloat ppos3d[][3], int num, ARFloat conv[3][4], Camera *pCam)
ARFloat arGetTransMatContSub (ARMarkerInfo *marker_info, ARFloat prev_conv[3][4], ARFloat center[2], ARFloat width, ARFloat conv[3][4])
ARFloat arGetTransMatSub (ARFloat rot[3][3], ARFloat ppos2d[][2], ARFloat pos3d[][3], int num, ARFloat conv[3][4], Camera *pCam)
int arInitCparam (Camera *pCam)
int16_t * arLabeling (uint8_t *image, int thresh, int *label_num, int **area, ARFloat **pos, int **clip, int **label_ref)
int16_t * arLabeling_ABGR (uint8_t *image, int thresh, int *label_num, int **area, ARFloat **pos, int **clip, int **label_ref)
int16_t * arLabeling_BGR (uint8_t *image, int thresh, int *label_num, int **area, ARFloat **pos, int **clip, int **label_ref)
int16_t * arLabeling_LUM (uint8_t *image, int thresh, int *label_num, int **area, ARFloat **pos, int **clip, int **label_ref)
int16_t * arLabeling_RGB (uint8_t *image, int thresh, int *label_num, int **area, ARFloat **pos, int **clip, int **label_ref)
int16_t * arLabeling_RGB565 (uint8_t *image, int thresh, int *label_num, int **area, ARFloat **pos, int **clip, int **label_ref)
ARFloat arModifyMatrix (ARFloat rot[3][3], ARFloat trans[3], ARFloat cpara[3][4], ARFloat vertex[][3], ARFloat pos2d[][2], int num)
ARFloat arModifyMatrix2 (ARFloat rot[3][3], ARFloat trans[3], ARFloat cpara[3][4], ARFloat vertex[][3], ARFloat pos2d[][2], int num)
int arMultiActivate (ARMultiMarkerInfoT *config)
int arMultiDeactivate (ARMultiMarkerInfoT *config)
int bitfield_check_BCH (uint8_t *data, int *code, int *dir, ARFloat *cf, int thresh)
int bitfield_check_simple (uint8_t *data, int *code, int *dir, ARFloat *cf, int thresh)
void buildUndistO2ITable (Camera *pCam)
int check_square (int area, ARMarkerInfo2 *marker_infoTWO, ARFloat factor)
void checkImageBuffer ()
bool checkPixelFormat ()
void checkRGB565LUT ()
void convertTransformationMatrixToOpenGLStyle (ARFloat para[3][4], ARFloat gl_para[16])
int downsamplePattern (uint8_t *data, unsigned char *imgPtr)
void gen_evec (void)
int pattern_match (uint8_t *data, int *code, int *dir, ARFloat *cf)
void setFittingMode (int nWhich)
int verify_markers (ARMarkerInfo *marker_info, int marker_num, ARMultiMarkerInfoT *config)

Static Protected Member Functions

static int arCameraDecomp (Camera *source, Camera *icpara, ARFloat trans[3][4])
static int arCameraDecompMat (ARFloat source[3][4], ARFloat cpara[3][4], ARFloat trans[3][4])
static int arCameraIdeal2Observ (Camera *pCam, ARFloat ix, ARFloat iy, ARFloat *ox, ARFloat *oy)
static int arCameraObserv2Ideal (Camera *pCam, ARFloat ox, ARFloat oy, ARFloat *ix, ARFloat *iy)
static int arMatrixPCA (ARMat *input, ARMat *evec, ARVec *ev, ARVec *mean)
static int arMatrixPCA2 (ARMat *input, ARMat *evec, ARVec *ev)
static int arUtilMatInv (ARFloat s[3][4], ARFloat d[3][4])
static int arUtilMatMul (ARFloat s1[3][4], ARFloat s2[3][4], ARFloat d[3][4])
static bool convertProjectionMatrixToOpenGLStyle (Camera *param, ARFloat gnear, ARFloat gfar, ARFloat m[16])
static bool convertProjectionMatrixToOpenGLStyle2 (ARFloat cparam[3][4], int width, int height, ARFloat gnear, ARFloat gfar, ARFloat m[16])

Protected Attributes

CameraarCamera
ARPARAM_UNDIST_FUNC arCameraObserv2Ideal_func
int arFittingMode
int arGetContour_wx [AR_CHAIN_MAX]
int arGetContour_wy [AR_CHAIN_MAX]
uint8_t * arImageL
int arImageProcMode
int arImXsize
int arImYsize
int arMatchingPCAMode
int arTemplateMatchingMode
struct
ARToolKitPlus::Tracker::AutoThreshold 
autoThreshold
BCHbchProcessor
int binaryMarkerThreshold
char * descriptionString
unsigned short * DIV_TABLE
ARFloat(* epat )[4][EVEC_MAX]
ARFloat(* epatBW )[4][EVEC_MAX]
std::vector< std::vector
< ARFloat > > 
evec
int evec_dim
int evec_dimBW
std::vector< std::vector
< ARFloat > > 
evecBW
int evecBWf
int evecf
ARFloat gl_cpara [16]
ARFloat gl_para [16]
MarkerPoint hullInPoints [MAX_HULL_POINTS]
MarkerPoint hullOutPoints [MAX_HULL_POINTS]
HULL_TRACKING_MODE hullTrackingMode
int16_t * l_imageL
int l_imageL_size
int16_t * l_imageR
bool loadCachedUndist
ARMarkerInfo2 * marker_info2
ARMarkerInfo * marker_infoL
ARMarkerInfo2 * marker_infoTWO
MARKER_MODE markerMode
const int MAX_IMAGE_PATTERNS
const int MAX_LOAD_PATTERNS
std::vector< std::vector
< std::vector< int > > > 
pat
std::vector< std::vector
< std::vector< int > > > 
patBW
int * patf
ARFloat(* patpow )[4]
ARFloat(* patpowBW )[4]
const int PATTERN_HEIGHT
int pattern_num
const int PATTERN_SAMPLE_NUM
const int PATTERN_WIDTH
PIXEL_FORMAT pixelFormat
int pixelSize
ARFloat pos2d [P_MAX][2]
ARFloat pos3d [P_MAX][3]
POSE_ESTIMATOR poseEstimator
arPrevInfo * prev_info
int prev_num
ARFloat relBorderWidth
unsigned char * RGB565_to_LUM8_LUT
std::vector< std::vector
< arPrevInfo > > 
sprev_info
int sprev_num [2]
int thresh
CornerPoints trackedCorners
UNDIST_MODE undistMode
unsigned int * undistO2ITable
struct {
   int   bottomtop
   int   corners
   bool   enabled
   int   leftright
vignetting
int * wareaL
int * wareaR
int * wclipL
int * wclipR
int wlabel_numL
int wlabel_numR
ARMarkerInfo * wmarker_info
int wmarker_num
int * work2L
int * work2R
const int WORK_SIZE
int * workL
int * workR
ARFloatwposL
ARFloatwposR

Static Protected Attributes

static const int LUM_TABLE_SIZE = 0xffff + 1
static int screenHeight
static int screenWidth

Detailed Description

Tracker is the vision core of ARToolKit. Almost all original ARToolKit methods are included here. Exceptions: matrix & vector.

Tracker includes all methods that are needed to create a basic ARToolKit application (e.g. the simple example from the original ARToolKit package)

Application developers should usually prefer using the more high level classes:

Definition at line 48 of file Tracker.h.


Member Typedef Documentation

typedef int(Tracker::* ARToolKitPlus::Tracker::ARPARAM_UNDIST_FUNC)(Camera *pCam, ARFloat ox, ARFloat oy, ARFloat *ix, ARFloat *iy) [protected]

Definition at line 407 of file Tracker.h.

typedef ARFloat(Tracker::* ARToolKitPlus::Tracker::MULTI_POSE_ESTIMATOR_FUNC)(ARMarkerInfo *marker_info, int marker_num, ARMultiMarkerInfoT *config) [protected]

Definition at line 411 of file Tracker.h.

typedef ARFloat(Tracker::* ARToolKitPlus::Tracker::POSE_ESTIMATOR_FUNC)(ARMarkerInfo *marker_info, ARFloat center[2], ARFloat width, ARFloat conv[3][4]) [protected]

Definition at line 409 of file Tracker.h.


Constructor & Destructor Documentation

ARToolKitPlus::Tracker::Tracker ( int  imWidth,
int  imHeight,
int  maxImagePatterns = 8,
int  pattWidth = 6,
int  pattHeight = 6,
int  pattSamples = 6,
int  maxLoadPatterns = 0 
)
virtual ARToolKitPlus::Tracker::~Tracker (  )  [virtual]

Member Function Documentation

virtual void ARToolKitPlus::Tracker::activateAutoThreshold ( bool  nEnable  )  [inline, virtual]

Turns automatic threshold calculation on/off.

Definition at line 192 of file Tracker.h.

virtual void ARToolKitPlus::Tracker::activateBinaryMarker ( int  nThreshold  )  [inline, virtual]

activates binary markers markers are converted to pure black/white during loading

Definition at line 100 of file Tracker.h.

virtual void ARToolKitPlus::Tracker::activateVignettingCompensation ( bool  nEnable,
int  nCorners = 0,
int  nLeftRight = 0,
int  nTopBottom = 0 
) [virtual]

activates the complensation of brightness falloff in the corners of the camera image some cameras have a falloff in brightness at the border of the image, which creates problems with thresholding the image. use this function to set a (linear) adapted threshold value. the threshold value will stay exactly the same at the center but will deviate near to the border. all values specify a difference, not absolute values! nCorners define the falloff a all four corners. nLeftRight defines the falloff at the half y-position at the left and right side of the image. nTopBottom defines the falloff at the half x-position at the top and bottom side of the image. all values between these 9 points (center, 4 corners, left, right, top, bottom) will be interpolated.

int ARToolKitPlus::Tracker::arActivatePatt ( int  patno  )  [protected]
static int ARToolKitPlus::Tracker::arCameraDecomp ( Camera source,
Camera icpara,
ARFloat  trans[3][4] 
) [static, protected]
static int ARToolKitPlus::Tracker::arCameraDecompMat ( ARFloat  source[3][4],
ARFloat  cpara[3][4],
ARFloat  trans[3][4] 
) [static, protected]
static int ARToolKitPlus::Tracker::arCameraIdeal2Observ ( Camera pCam,
ARFloat  ix,
ARFloat  iy,
ARFloat ox,
ARFloat oy 
) [static, protected]
int ARToolKitPlus::Tracker::arCameraIdeal2Observ_std ( Camera pCam,
ARFloat  ix,
ARFloat  iy,
ARFloat ox,
ARFloat oy 
) [protected]
static int ARToolKitPlus::Tracker::arCameraObserv2Ideal ( Camera pCam,
ARFloat  ox,
ARFloat  oy,
ARFloat ix,
ARFloat iy 
) [static, protected]
int ARToolKitPlus::Tracker::arCameraObserv2Ideal_LUT ( Camera pCam,
ARFloat  ox,
ARFloat  oy,
ARFloat ix,
ARFloat iy 
) [protected]
int ARToolKitPlus::Tracker::arCameraObserv2Ideal_none ( Camera pCam,
ARFloat  ox,
ARFloat  oy,
ARFloat ix,
ARFloat iy 
) [protected]
int ARToolKitPlus::Tracker::arCameraObserv2Ideal_std ( Camera pCam,
ARFloat  ox,
ARFloat  oy,
ARFloat ix,
ARFloat iy 
) [protected]
int ARToolKitPlus::Tracker::arDeactivatePatt ( int  patno  )  [protected]
virtual int ARToolKitPlus::Tracker::arDetectMarker ( uint8_t *  dataPtr,
int  thresh,
ARMarkerInfo **  marker_info,
int *  marker_num 
) [virtual]

marker detection using tracking history

ARMarkerInfo2* ARToolKitPlus::Tracker::arDetectMarker2 ( int16_t *  limage,
int  label_num,
int *  label_ref,
int *  warea,
ARFloat wpos,
int *  wclip,
int  area_max,
int  area_min,
ARFloat  factor,
int *  marker_num 
) [protected]
virtual int ARToolKitPlus::Tracker::arDetectMarkerLite ( uint8_t *  dataPtr,
int  thresh,
ARMarkerInfo **  marker_info,
int *  marker_num 
) [virtual]

marker detection without using tracking history

virtual int ARToolKitPlus::Tracker::arFreePatt ( int  patno  )  [virtual]

frees a pattern from memory

int ARToolKitPlus::Tracker::arGetAngle ( ARFloat  rot[3][3],
ARFloat wa,
ARFloat wb,
ARFloat wc 
) [protected]
int ARToolKitPlus::Tracker::arGetCode ( uint8_t *  image,
int *  x_coord,
int *  y_coord,
int *  vertex,
int *  code,
int *  dir,
ARFloat cf,
int  thresh 
) [protected]
int ARToolKitPlus::Tracker::arGetContour ( int16_t *  limage,
int *  label_ref,
int  label,
int  clip[4],
ARMarkerInfo2 *  marker_infoTWO 
) [protected]
int ARToolKitPlus::Tracker::arGetInitRot ( ARMarkerInfo *  marker_info,
ARFloat  cpara[3][4],
ARFloat  rot[3][3] 
) [protected]
int ARToolKitPlus::Tracker::arGetInitRot2 ( ARMarkerInfo *  marker_info,
ARFloat  rot[3][3],
ARFloat  center[2],
ARFloat  width 
) [protected]
int ARToolKitPlus::Tracker::arGetLine ( int  x_coord[],
int  y_coord[],
int  vertex[],
ARFloat  line[4][3],
ARFloat  v[4][2] 
) [protected]
ARMarkerInfo* ARToolKitPlus::Tracker::arGetMarkerInfo ( uint8_t *  image,
ARMarkerInfo2 *  marker_info2,
int *  marker_num,
int  thresh 
) [protected]
int ARToolKitPlus::Tracker::arGetNewMatrix ( ARFloat  a,
ARFloat  b,
ARFloat  c,
ARFloat  trans[3],
ARFloat  trans2[3][4],
ARFloat  cpara[3][4],
ARFloat  ret[3][4] 
) [protected]
int ARToolKitPlus::Tracker::arGetPatt ( uint8_t *  image,
int *  x_coord,
int *  y_coord,
int *  vertex,
uint8_t *  ext_pat 
) [protected]
int ARToolKitPlus::Tracker::arGetRot ( ARFloat  a,
ARFloat  b,
ARFloat  c,
ARFloat  rot[3][3] 
) [protected]
virtual ARFloat ARToolKitPlus::Tracker::arGetTransMat ( ARMarkerInfo *  marker_info,
ARFloat  center[2],
ARFloat  width,
ARFloat  conv[3][4] 
) [virtual]

calculates the transformation matrix between camera and the given marker

ARFloat ARToolKitPlus::Tracker::arGetTransMat3 ( ARFloat  rot[3][3],
ARFloat  ppos2d[][2],
ARFloat  ppos3d[][2],
int  num,
ARFloat  conv[3][4],
Camera pCam 
) [protected]
ARFloat ARToolKitPlus::Tracker::arGetTransMat5 ( ARFloat  rot[3][3],
ARFloat  ppos2d[][2],
ARFloat  ppos3d[][3],
int  num,
ARFloat  conv[3][4],
Camera pCam 
) [protected]
virtual ARFloat ARToolKitPlus::Tracker::arGetTransMatCont ( ARMarkerInfo *  marker_info,
ARFloat  prev_conv[3][4],
ARFloat  center[2],
ARFloat  width,
ARFloat  conv[3][4] 
) [virtual]
ARFloat ARToolKitPlus::Tracker::arGetTransMatContSub ( ARMarkerInfo *  marker_info,
ARFloat  prev_conv[3][4],
ARFloat  center[2],
ARFloat  width,
ARFloat  conv[3][4] 
) [protected]
ARFloat ARToolKitPlus::Tracker::arGetTransMatSub ( ARFloat  rot[3][3],
ARFloat  ppos2d[][2],
ARFloat  pos3d[][3],
int  num,
ARFloat  conv[3][4],
Camera pCam 
) [protected]
int ARToolKitPlus::Tracker::arInitCparam ( Camera pCam  )  [protected]
int16_t* ARToolKitPlus::Tracker::arLabeling ( uint8_t *  image,
int  thresh,
int *  label_num,
int **  area,
ARFloat **  pos,
int **  clip,
int **  label_ref 
) [protected]
int16_t* ARToolKitPlus::Tracker::arLabeling_ABGR ( uint8_t *  image,
int  thresh,
int *  label_num,
int **  area,
ARFloat **  pos,
int **  clip,
int **  label_ref 
) [protected]
int16_t* ARToolKitPlus::Tracker::arLabeling_BGR ( uint8_t *  image,
int  thresh,
int *  label_num,
int **  area,
ARFloat **  pos,
int **  clip,
int **  label_ref 
) [protected]
int16_t* ARToolKitPlus::Tracker::arLabeling_LUM ( uint8_t *  image,
int  thresh,
int *  label_num,
int **  area,
ARFloat **  pos,
int **  clip,
int **  label_ref 
) [protected]
int16_t* ARToolKitPlus::Tracker::arLabeling_RGB ( uint8_t *  image,
int  thresh,
int *  label_num,
int **  area,
ARFloat **  pos,
int **  clip,
int **  label_ref 
) [protected]
int16_t* ARToolKitPlus::Tracker::arLabeling_RGB565 ( uint8_t *  image,
int  thresh,
int *  label_num,
int **  area,
ARFloat **  pos,
int **  clip,
int **  label_ref 
) [protected]
virtual int ARToolKitPlus::Tracker::arLoadPatt ( char *  filename  )  [virtual]

loads a pattern from a file

static int ARToolKitPlus::Tracker::arMatrixPCA ( ARMat input,
ARMat evec,
ARVec ev,
ARVec mean 
) [static, protected]
static int ARToolKitPlus::Tracker::arMatrixPCA2 ( ARMat input,
ARMat evec,
ARVec ev 
) [static, protected]
ARFloat ARToolKitPlus::Tracker::arModifyMatrix ( ARFloat  rot[3][3],
ARFloat  trans[3],
ARFloat  cpara[3][4],
ARFloat  vertex[][3],
ARFloat  pos2d[][2],
int  num 
) [protected]
ARFloat ARToolKitPlus::Tracker::arModifyMatrix2 ( ARFloat  rot[3][3],
ARFloat  trans[3],
ARFloat  cpara[3][4],
ARFloat  vertex[][3],
ARFloat  pos2d[][2],
int  num 
) [protected]
int ARToolKitPlus::Tracker::arMultiActivate ( ARMultiMarkerInfoT *  config  )  [protected]
int ARToolKitPlus::Tracker::arMultiDeactivate ( ARMultiMarkerInfoT *  config  )  [protected]
virtual int ARToolKitPlus::Tracker::arMultiFreeConfig ( ARMultiMarkerInfoT *  config  )  [virtual]
virtual ARFloat ARToolKitPlus::Tracker::arMultiGetTransMat ( ARMarkerInfo *  marker_info,
int  marker_num,
ARMultiMarkerInfoT *  config 
) [virtual]

calculates the transformation matrix between camera and the given multi-marker config

virtual ARFloat ARToolKitPlus::Tracker::arMultiGetTransMatHull ( ARMarkerInfo *  marker_info,
int  marker_num,
ARMultiMarkerInfoT *  config 
) [virtual]
virtual ARMultiMarkerInfoT* ARToolKitPlus::Tracker::arMultiReadConfigFile ( const char *  filename  )  [virtual]
static int ARToolKitPlus::Tracker::arUtilMatInv ( ARFloat  s[3][4],
ARFloat  d[3][4] 
) [static, protected]
static int ARToolKitPlus::Tracker::arUtilMatMul ( ARFloat  s1[3][4],
ARFloat  s2[3][4],
ARFloat  d[3][4] 
) [static, protected]
int ARToolKitPlus::Tracker::bitfield_check_BCH ( uint8_t *  data,
int *  code,
int *  dir,
ARFloat cf,
int  thresh 
) [protected]
int ARToolKitPlus::Tracker::bitfield_check_simple ( uint8_t *  data,
int *  code,
int *  dir,
ARFloat cf,
int  thresh 
) [protected]
void ARToolKitPlus::Tracker::buildUndistO2ITable ( Camera pCam  )  [protected]
static bool ARToolKitPlus::Tracker::calcCameraMatrix ( const char *  nCamParamFile,
ARFloat  nNear,
ARFloat  nFar,
ARFloat nMatrix 
) [static]

Calculates the camera matrix from an ARToolKit camera file. This method retrieves the OpenGL projection matrix that is stored in an ARToolKit camera calibration file. Returns true if loading of the camera file succeeded.

virtual ARFloat ARToolKitPlus::Tracker::calcOpenGLMatrixFromMarker ( ARMarkerInfo *  nMarkerInfo,
ARFloat  nPatternCenter[2],
ARFloat  nPatternSize,
ARFloat nOpenGLMatrix 
) [virtual]

Calculates the OpenGL transformation matrix for a specific marker info.

virtual void ARToolKitPlus::Tracker::changeCameraSize ( int  nWidth,
int  nHeight 
) [virtual]

Changes the resolution of the camera after the camerafile was already loaded.

int ARToolKitPlus::Tracker::check_square ( int  area,
ARMarkerInfo2 *  marker_infoTWO,
ARFloat  factor 
) [protected]
void ARToolKitPlus::Tracker::checkImageBuffer (  )  [protected]
bool ARToolKitPlus::Tracker::checkPixelFormat (  )  [protected]
void ARToolKitPlus::Tracker::checkRGB565LUT (  )  [protected]
static bool ARToolKitPlus::Tracker::convertProjectionMatrixToOpenGLStyle ( Camera param,
ARFloat  gnear,
ARFloat  gfar,
ARFloat  m[16] 
) [static, protected]
static bool ARToolKitPlus::Tracker::convertProjectionMatrixToOpenGLStyle2 ( ARFloat  cparam[3][4],
int  width,
int  height,
ARFloat  gnear,
ARFloat  gfar,
ARFloat  m[16] 
) [static, protected]
void ARToolKitPlus::Tracker::convertTransformationMatrixToOpenGLStyle ( ARFloat  para[3][4],
ARFloat  gl_para[16] 
) [protected]
int ARToolKitPlus::Tracker::downsamplePattern ( uint8_t *  data,
unsigned char *  imgPtr 
) [protected]
virtual ARFloat ARToolKitPlus::Tracker::executeMultiMarkerPoseEstimator ( ARMarkerInfo *  marker_info,
int  marker_num,
ARMultiMarkerInfoT *  config 
) [virtual]

Calls the pose estimator set with setPoseEstimator() for multi marker tracking.

virtual ARFloat ARToolKitPlus::Tracker::executeSingleMarkerPoseEstimator ( ARMarkerInfo *  marker_info,
ARFloat  center[2],
ARFloat  width,
ARFloat  conv[3][4] 
) [virtual]

Calls the pose estimator set with setPoseEstimator() for single marker tracking.

void ARToolKitPlus::Tracker::gen_evec ( void   )  [protected]
virtual int ARToolKitPlus::Tracker::getBitsPerPixel (  )  const [inline, virtual]

Returns the numbber of bits per pixel for the compiled-in pixel format.

Definition at line 241 of file Tracker.h.

virtual Camera* ARToolKitPlus::Tracker::getCamera (  )  [inline, virtual]

Returns the current camera.

Definition at line 255 of file Tracker.h.

virtual const ARFloat* ARToolKitPlus::Tracker::getModelViewMatrix (  )  const [inline, virtual]

Returns an opengl-style modelview transformation matrix.

Definition at line 226 of file Tracker.h.

virtual int ARToolKitPlus::Tracker::getNumLoadablePatterns (  )  const [inline, virtual]

Returns the maximum number of patterns that can be loaded This maximum number of loadable patterns can be set via the maxLoadPatterns parameter

Definition at line 250 of file Tracker.h.

virtual PIXEL_FORMAT ARToolKitPlus::Tracker::getPixelFormat (  )  const [inline, virtual]

Returns the compiled-in pixel format.

Definition at line 236 of file Tracker.h.

virtual const ARFloat* ARToolKitPlus::Tracker::getProjectionMatrix (  )  const [inline, virtual]

Returns an opengl-style projection transformation matrix.

Definition at line 231 of file Tracker.h.

virtual int ARToolKitPlus::Tracker::getThreshold (  )  const [inline, virtual]

Returns the current threshold value.

Definition at line 187 of file Tracker.h.

virtual const CornerPoints& ARToolKitPlus::Tracker::getTrackedCorners (  )  const [inline, virtual]

Definition at line 281 of file Tracker.h.

virtual bool ARToolKitPlus::Tracker::isAutoThresholdActivated (  )  const [inline, virtual]

Returns true if automatic threshold detection is enabled.

Definition at line 197 of file Tracker.h.

virtual bool ARToolKitPlus::Tracker::loadCameraFile ( const char *  nCamParamFile,
ARFloat  nNearClip,
ARFloat  nFarClip 
) [virtual]

Loads a camera calibration file and stores data internally To prevent memory leaks, this method internally deletes an existing camera. If you want to use more than one camera, retrieve the existing camera using getCamera() and call setCamera(NULL); before loading another camera file. On destruction, ARToolKitPlus will only destroy the currently set camera. All other cameras have to be destroyed manually.

int ARToolKitPlus::Tracker::pattern_match ( uint8_t *  data,
int *  code,
int *  dir,
ARFloat cf 
) [protected]
virtual ARFloat ARToolKitPlus::Tracker::rppGetTransMat ( ARMarkerInfo *  marker_info,
ARFloat  center[2],
ARFloat  width,
ARFloat  conv[3][4] 
) [virtual]
virtual ARFloat ARToolKitPlus::Tracker::rppMultiGetTransMat ( ARMarkerInfo *  marker_info,
int  marker_num,
ARMultiMarkerInfoT *  config 
) [virtual]
virtual void ARToolKitPlus::Tracker::setBorderWidth ( ARFloat  nFraction  )  [inline, virtual]

Sets a new relative border width. ARToolKit's default value is 0.25 Take caution that the markers need of course really have thiner borders. Values other than 0.25 have not been tested for regular pattern-based matching, but only for id-encoded markers. It might be that the pattern creation process needs to be updated too.

Definition at line 177 of file Tracker.h.

virtual void ARToolKitPlus::Tracker::setCamera ( Camera nCamera,
ARFloat  nNearClip,
ARFloat  nFarClip 
) [virtual]

Sets a new camera including specifying new near and far clip values.

virtual void ARToolKitPlus::Tracker::setCamera ( Camera nCamera  )  [virtual]

Sets a new camera without specifying new near and far clip values.

void ARToolKitPlus::Tracker::setFittingMode ( int  nWhich  )  [inline, protected]

Definition at line 419 of file Tracker.h.

virtual void ARToolKitPlus::Tracker::setHullMode ( HULL_TRACKING_MODE  nMode  )  [inline, virtual]

If true the alternative hull-algorithm will be used for multi-marker tracking Starting with version 2.2 ARToolKitPlus has a new mode for tracking multi-markers: Instead of using all points (as done by RPP multi-marker tracking) or tracking all markers independently and combine lateron (as done in ARToolKit's standard multi-marker pose estimator), ARToolKitPlus can now use only 4 'good' points of the convex hull to do the pose estimation. If the pose estimator is set to RPP then RPP will be used to track those 4 points. Otherwise, ARToolKit's standard single-marker pose estimator will be used to track the pose of these 4 points.

Definition at line 166 of file Tracker.h.

virtual void ARToolKitPlus::Tracker::setImageProcessingMode ( IMAGE_PROC_MODE  nMode  )  [inline, virtual]

Sets an image processing mode (half or full resolution) Half resolution is faster but less accurate. When using full resolution smaller markers will be detected at a higher accuracy (or even detected at all).

Definition at line 221 of file Tracker.h.

virtual void ARToolKitPlus::Tracker::setLoadUndistLUT ( bool  nSet  )  [inline, virtual]

Set to true to try loading camera undistortion table from a cache file On slow platforms (e.g. Smartphone) creation of the undistortion lookup-table can take quite a while. Consequently caching will speedup the start phase. If set to true and no cache file could be found a new one will be created. The cache file will get the same name as the camera file with the added extension '.LUT'

Definition at line 61 of file Tracker.h.

virtual void ARToolKitPlus::Tracker::setMarkerMode ( MARKER_MODE  nMarkerMode  )  [virtual]

activate the usage of id-based markers rather than template based markers Template markers are the classic marker type used in ARToolKit. Id-based markers directly encode the marker id in the image. Simple markers use 3-times redundancy to increase robustness, while BCH markers use an advanced CRC algorithm to detect and repair marker damages. See arBitFieldPattern.h for more information. In order to use id-based markers, the marker size has to be 6x6, 12x12 or 18x18.

virtual void ARToolKitPlus::Tracker::setNumAutoThresholdRetries ( int  nNumRetries  )  [inline, virtual]

Sets the number of times the threshold is randomized in case no marker was visible (Minimum: 1, Default: 2) Autothreshold requires a visible marker to estime the optimal thresholding value. If no marker is visible ARToolKitPlus randomizes the thresholding value until a marker is found. This function sets the number of times ARToolKitPlus will randomize the threshold value and research for a marker per calc() invokation until it gives up. A value of 2 means that ARToolKitPlus will analyze the image a second time with an other treshold value if it does not find a marker the first time. Each unsuccessful try uses less processing power than a single full successful position estimation.

Definition at line 211 of file Tracker.h.

virtual bool ARToolKitPlus::Tracker::setPixelFormat ( PIXEL_FORMAT  nFormat  )  [virtual]

Sets the pixel format of the camera image Default format is RGB888 (PIXEL_FORMAT_RGB)

virtual bool ARToolKitPlus::Tracker::setPoseEstimator ( POSE_ESTIMATOR  nMethod  )  [virtual]

Changes the Pose Estimation Algorithm POSE_ESTIMATOR_ORIGINAL (default): arGetTransMat() POSE_ESTIMATOR_CONT: original pose estimator with "Cont" POSE_ESTIMATOR_RPP: "Robust Pose Estimation from a Planar Target"

virtual void ARToolKitPlus::Tracker::setThreshold ( int  nValue  )  [inline, virtual]

Sets the threshold value that is used for black/white conversion.

Definition at line 182 of file Tracker.h.

virtual void ARToolKitPlus::Tracker::setUndistortionMode ( UNDIST_MODE  nMode  )  [virtual]

Changes the undistortion mode Default value is UNDIST_STD which means that artoolkit's standard undistortion method is used.

int ARToolKitPlus::Tracker::verify_markers ( ARMarkerInfo *  marker_info,
int  marker_num,
ARMultiMarkerInfoT *  config 
) [protected]

Member Data Documentation

Definition at line 536 of file Tracker.h.

Definition at line 561 of file Tracker.h.

Definition at line 534 of file Tracker.h.

int ARToolKitPlus::Tracker::arGetContour_wx[AR_CHAIN_MAX] [protected]

Definition at line 484 of file Tracker.h.

int ARToolKitPlus::Tracker::arGetContour_wy[AR_CHAIN_MAX] [protected]

Definition at line 485 of file Tracker.h.

uint8_t* ARToolKitPlus::Tracker::arImageL [protected]

Definition at line 542 of file Tracker.h.

Definition at line 535 of file Tracker.h.

Definition at line 538 of file Tracker.h.

Definition at line 538 of file Tracker.h.

Definition at line 540 of file Tracker.h.

Definition at line 539 of file Tracker.h.

Definition at line 584 of file Tracker.h.

Definition at line 467 of file Tracker.h.

Definition at line 579 of file Tracker.h.

Definition at line 579 of file Tracker.h.

Definition at line 575 of file Tracker.h.

unsigned short* ARToolKitPlus::Tracker::DIV_TABLE [protected]

Definition at line 582 of file Tracker.h.

Definition at line 578 of file Tracker.h.

ARFloat(* ARToolKitPlus::Tracker::epat)[4][EVEC_MAX] [protected]

Definition at line 496 of file Tracker.h.

ARFloat(* ARToolKitPlus::Tracker::epatBW)[4][EVEC_MAX] [protected]

Definition at line 500 of file Tracker.h.

std::vector<std::vector<ARFloat> > ARToolKitPlus::Tracker::evec [protected]

Definition at line 495 of file Tracker.h.

Definition at line 497 of file Tracker.h.

Definition at line 501 of file Tracker.h.

std::vector<std::vector<ARFloat> > ARToolKitPlus::Tracker::evecBW [protected]

Definition at line 499 of file Tracker.h.

Definition at line 502 of file Tracker.h.

Definition at line 498 of file Tracker.h.

Definition at line 573 of file Tracker.h.

Definition at line 572 of file Tracker.h.

Definition at line 554 of file Tracker.h.

Definition at line 555 of file Tracker.h.

Definition at line 566 of file Tracker.h.

int16_t* ARToolKitPlus::Tracker::l_imageL [protected]

Definition at line 515 of file Tracker.h.

Definition at line 517 of file Tracker.h.

int16_t* ARToolKitPlus::Tracker::l_imageR [protected]

Definition at line 516 of file Tracker.h.

Definition at line 579 of file Tracker.h.

Definition at line 537 of file Tracker.h.

const int ARToolKitPlus::Tracker::LUM_TABLE_SIZE = 0xffff + 1 [static, protected]

Definition at line 289 of file Tracker.h.

ARMarkerInfo2* ARToolKitPlus::Tracker::marker_info2 [protected]

Definition at line 470 of file Tracker.h.

ARMarkerInfo* ARToolKitPlus::Tracker::marker_infoL [protected]

Definition at line 506 of file Tracker.h.

ARMarkerInfo2* ARToolKitPlus::Tracker::marker_infoTWO [protected]

Definition at line 481 of file Tracker.h.

Definition at line 544 of file Tracker.h.

Definition at line 295 of file Tracker.h.

Definition at line 294 of file Tracker.h.

std::vector<std::vector<std::vector<int> > > ARToolKitPlus::Tracker::pat [protected]

Definition at line 490 of file Tracker.h.

std::vector<std::vector<std::vector<int> > > ARToolKitPlus::Tracker::patBW [protected]

Definition at line 492 of file Tracker.h.

int* ARToolKitPlus::Tracker::patf [protected]

Definition at line 489 of file Tracker.h.

Definition at line 491 of file Tracker.h.

Definition at line 493 of file Tracker.h.

Definition at line 292 of file Tracker.h.

Definition at line 488 of file Tracker.h.

Definition at line 293 of file Tracker.h.

Definition at line 291 of file Tracker.h.

Definition at line 464 of file Tracker.h.

Definition at line 465 of file Tracker.h.

ARFloat ARToolKitPlus::Tracker::pos2d[P_MAX][2] [protected]

Definition at line 510 of file Tracker.h.

ARFloat ARToolKitPlus::Tracker::pos3d[P_MAX][3] [protected]

Definition at line 511 of file Tracker.h.

Definition at line 564 of file Tracker.h.

arPrevInfo* ARToolKitPlus::Tracker::prev_info [protected]

Definition at line 474 of file Tracker.h.

Definition at line 475 of file Tracker.h.

Definition at line 559 of file Tracker.h.

unsigned char* ARToolKitPlus::Tracker::RGB565_to_LUM8_LUT [protected]

Definition at line 546 of file Tracker.h.

int ARToolKitPlus::Tracker::screenHeight [static, protected]

Definition at line 569 of file Tracker.h.

int ARToolKitPlus::Tracker::screenWidth [static, protected]

Definition at line 568 of file Tracker.h.

std::vector<std::vector<arPrevInfo> > ARToolKitPlus::Tracker::sprev_info [protected]

Definition at line 477 of file Tracker.h.

Definition at line 478 of file Tracker.h.

Definition at line 570 of file Tracker.h.

Definition at line 557 of file Tracker.h.

Definition at line 550 of file Tracker.h.

unsigned int* ARToolKitPlus::Tracker::undistO2ITable [protected]

Definition at line 551 of file Tracker.h.

struct { ... } ARToolKitPlus::Tracker::vignetting [protected]

Definition at line 530 of file Tracker.h.

Definition at line 524 of file Tracker.h.

Definition at line 531 of file Tracker.h.

Definition at line 525 of file Tracker.h.

Definition at line 528 of file Tracker.h.

Definition at line 529 of file Tracker.h.

ARMarkerInfo* ARToolKitPlus::Tracker::wmarker_info [protected]

Definition at line 471 of file Tracker.h.

Definition at line 472 of file Tracker.h.

Definition at line 520 of file Tracker.h.

Definition at line 523 of file Tracker.h.

const int ARToolKitPlus::Tracker::WORK_SIZE [protected]

Definition at line 296 of file Tracker.h.

Definition at line 519 of file Tracker.h.

Definition at line 522 of file Tracker.h.

Definition at line 532 of file Tracker.h.

Definition at line 526 of file Tracker.h.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Defines


artoolkitplus
Author(s): Christian Bersch
autogenerated on Fri Jan 11 09:12:20 2013