#include <Tracker.h>
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 Camera * | getCamera () |
Returns the current camera. | |
virtual const ARFloat * | getModelViewMatrix () 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 ARFloat * | getProjectionMatrix () const |
Returns an opengl-style projection transformation matrix. | |
virtual int | getThreshold () const |
Returns the current threshold value. | |
virtual const CornerPoints & | getTrackedCorners () 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 | |
Camera * | arCamera |
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 |
BCH * | bchProcessor |
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 |
ARFloat * | wposL |
ARFloat * | wposR |
Static Protected Attributes | |
static const int | LUM_TABLE_SIZE = 0xffff + 1 |
static int | screenHeight |
static int | screenWidth |
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.
typedef ARFloat(Tracker::* ARToolKitPlus::Tracker::MULTI_POSE_ESTIMATOR_FUNC)(ARMarkerInfo *marker_info, int marker_num, ARMultiMarkerInfoT *config) [protected] |
typedef ARFloat(Tracker::* ARToolKitPlus::Tracker::POSE_ESTIMATOR_FUNC)(ARMarkerInfo *marker_info, ARFloat center[2], ARFloat width, ARFloat conv[3][4]) [protected] |
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] |
virtual void ARToolKitPlus::Tracker::activateAutoThreshold | ( | bool | nEnable | ) | [inline, virtual] |
virtual void ARToolKitPlus::Tracker::activateBinaryMarker | ( | int | nThreshold | ) | [inline, virtual] |
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] |
virtual Camera* ARToolKitPlus::Tracker::getCamera | ( | ) | [inline, virtual] |
virtual const ARFloat* ARToolKitPlus::Tracker::getModelViewMatrix | ( | ) | const [inline, virtual] |
virtual int ARToolKitPlus::Tracker::getNumLoadablePatterns | ( | ) | const [inline, virtual] |
virtual PIXEL_FORMAT ARToolKitPlus::Tracker::getPixelFormat | ( | ) | const [inline, virtual] |
virtual const ARFloat* ARToolKitPlus::Tracker::getProjectionMatrix | ( | ) | const [inline, virtual] |
virtual int ARToolKitPlus::Tracker::getThreshold | ( | ) | const [inline, virtual] |
virtual const CornerPoints& ARToolKitPlus::Tracker::getTrackedCorners | ( | ) | const [inline, virtual] |
virtual bool ARToolKitPlus::Tracker::isAutoThresholdActivated | ( | ) | const [inline, virtual] |
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.
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] |
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.
virtual void ARToolKitPlus::Tracker::setImageProcessingMode | ( | IMAGE_PROC_MODE | nMode | ) | [inline, virtual] |
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'
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.
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] |
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] |
Camera* ARToolKitPlus::Tracker::arCamera [protected] |
int ARToolKitPlus::Tracker::arFittingMode [protected] |
int ARToolKitPlus::Tracker::arGetContour_wx[AR_CHAIN_MAX] [protected] |
int ARToolKitPlus::Tracker::arGetContour_wy[AR_CHAIN_MAX] [protected] |
uint8_t* ARToolKitPlus::Tracker::arImageL [protected] |
int ARToolKitPlus::Tracker::arImageProcMode [protected] |
int ARToolKitPlus::Tracker::arImXsize [protected] |
int ARToolKitPlus::Tracker::arImYsize [protected] |
int ARToolKitPlus::Tracker::arMatchingPCAMode [protected] |
int ARToolKitPlus::Tracker::arTemplateMatchingMode [protected] |
struct ARToolKitPlus::Tracker::AutoThreshold ARToolKitPlus::Tracker::autoThreshold [protected] |
BCH* ARToolKitPlus::Tracker::bchProcessor [protected] |
int ARToolKitPlus::Tracker::binaryMarkerThreshold [protected] |
char* ARToolKitPlus::Tracker::descriptionString [protected] |
unsigned short* ARToolKitPlus::Tracker::DIV_TABLE [protected] |
ARFloat(* ARToolKitPlus::Tracker::epat)[4][EVEC_MAX] [protected] |
ARFloat(* ARToolKitPlus::Tracker::epatBW)[4][EVEC_MAX] [protected] |
std::vector<std::vector<ARFloat> > ARToolKitPlus::Tracker::evec [protected] |
int ARToolKitPlus::Tracker::evec_dim [protected] |
int ARToolKitPlus::Tracker::evec_dimBW [protected] |
std::vector<std::vector<ARFloat> > ARToolKitPlus::Tracker::evecBW [protected] |
int ARToolKitPlus::Tracker::evecBWf [protected] |
int ARToolKitPlus::Tracker::evecf [protected] |
ARFloat ARToolKitPlus::Tracker::gl_cpara[16] [protected] |
ARFloat ARToolKitPlus::Tracker::gl_para[16] [protected] |
int16_t* ARToolKitPlus::Tracker::l_imageL [protected] |
int ARToolKitPlus::Tracker::l_imageL_size [protected] |
int16_t* ARToolKitPlus::Tracker::l_imageR [protected] |
bool ARToolKitPlus::Tracker::loadCachedUndist [protected] |
const int ARToolKitPlus::Tracker::LUM_TABLE_SIZE = 0xffff + 1 [static, protected] |
ARMarkerInfo2* ARToolKitPlus::Tracker::marker_info2 [protected] |
ARMarkerInfo* ARToolKitPlus::Tracker::marker_infoL [protected] |
ARMarkerInfo2* ARToolKitPlus::Tracker::marker_infoTWO [protected] |
MARKER_MODE ARToolKitPlus::Tracker::markerMode [protected] |
const int ARToolKitPlus::Tracker::MAX_IMAGE_PATTERNS [protected] |
const int ARToolKitPlus::Tracker::MAX_LOAD_PATTERNS [protected] |
std::vector<std::vector<std::vector<int> > > ARToolKitPlus::Tracker::pat [protected] |
std::vector<std::vector<std::vector<int> > > ARToolKitPlus::Tracker::patBW [protected] |
int* ARToolKitPlus::Tracker::patf [protected] |
ARFloat(* ARToolKitPlus::Tracker::patpow)[4] [protected] |
ARFloat(* ARToolKitPlus::Tracker::patpowBW)[4] [protected] |
const int ARToolKitPlus::Tracker::PATTERN_HEIGHT [protected] |
int ARToolKitPlus::Tracker::pattern_num [protected] |
const int ARToolKitPlus::Tracker::PATTERN_SAMPLE_NUM [protected] |
const int ARToolKitPlus::Tracker::PATTERN_WIDTH [protected] |
PIXEL_FORMAT ARToolKitPlus::Tracker::pixelFormat [protected] |
int ARToolKitPlus::Tracker::pixelSize [protected] |
ARFloat ARToolKitPlus::Tracker::pos2d[P_MAX][2] [protected] |
ARFloat ARToolKitPlus::Tracker::pos3d[P_MAX][3] [protected] |
POSE_ESTIMATOR ARToolKitPlus::Tracker::poseEstimator [protected] |
arPrevInfo* ARToolKitPlus::Tracker::prev_info [protected] |
int ARToolKitPlus::Tracker::prev_num [protected] |
ARFloat ARToolKitPlus::Tracker::relBorderWidth [protected] |
unsigned char* ARToolKitPlus::Tracker::RGB565_to_LUM8_LUT [protected] |
int ARToolKitPlus::Tracker::screenHeight [static, protected] |
int ARToolKitPlus::Tracker::screenWidth [static, protected] |
std::vector<std::vector<arPrevInfo> > ARToolKitPlus::Tracker::sprev_info [protected] |
int ARToolKitPlus::Tracker::sprev_num[2] [protected] |
int ARToolKitPlus::Tracker::thresh [protected] |
CornerPoints ARToolKitPlus::Tracker::trackedCorners [protected] |
UNDIST_MODE ARToolKitPlus::Tracker::undistMode [protected] |
unsigned int* ARToolKitPlus::Tracker::undistO2ITable [protected] |
struct { ... } ARToolKitPlus::Tracker::vignetting [protected] |
int* ARToolKitPlus::Tracker::wareaL [protected] |
int* ARToolKitPlus::Tracker::wareaR [protected] |
int* ARToolKitPlus::Tracker::wclipL [protected] |
int* ARToolKitPlus::Tracker::wclipR [protected] |
int ARToolKitPlus::Tracker::wlabel_numL [protected] |
int ARToolKitPlus::Tracker::wlabel_numR [protected] |
ARMarkerInfo* ARToolKitPlus::Tracker::wmarker_info [protected] |
int ARToolKitPlus::Tracker::wmarker_num [protected] |
int* ARToolKitPlus::Tracker::work2L [protected] |
int* ARToolKitPlus::Tracker::work2R [protected] |
const int ARToolKitPlus::Tracker::WORK_SIZE [protected] |
int* ARToolKitPlus::Tracker::workL [protected] |
int* ARToolKitPlus::Tracker::workR [protected] |
ARFloat* ARToolKitPlus::Tracker::wposL [protected] |
ARFloat* ARToolKitPlus::Tracker::wposR [protected] |