@Namespace(value="ARToolKitPlus") @NoOffset @Properties(inherit=ARToolKitPlus.class) public class Tracker extends Pointer
Pointer.CustomDeallocator, Pointer.Deallocator, Pointer.NativeDeallocator, Pointer.ReferenceCounter
Constructor and Description |
---|
Tracker(int imWidth,
int imHeight) |
Tracker(int imWidth,
int imHeight,
int maxImagePatterns,
int pattWidth,
int pattHeight,
int pattSamples,
int maxLoadPatterns) |
Tracker(Pointer p)
Pointer cast constructor.
|
Modifier and Type | Method and Description |
---|---|
void |
activateAutoThreshold(boolean nEnable)
Turns automatic threshold calculation on/off
|
void |
activateBinaryMarker(int nThreshold)
activates binary markers
markers are converted to pure black/white during loading
|
void |
activateVignettingCompensation(boolean nEnable) |
void |
activateVignettingCompensation(boolean nEnable,
int nCorners,
int nLeftRight,
int nTopBottom)
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.
|
int |
arDetectMarker(byte[] dataPtr,
int thresh,
ARMarkerInfo marker_info,
int[] marker_num) |
int |
arDetectMarker(ByteBuffer dataPtr,
int thresh,
ARMarkerInfo marker_info,
IntBuffer marker_num) |
int |
arDetectMarker(BytePointer dataPtr,
int thresh,
ARMarkerInfo marker_info,
IntPointer marker_num) |
int |
arDetectMarker(BytePointer dataPtr,
int thresh,
PointerPointer marker_info,
IntPointer marker_num)
marker detection using tracking history
|
int |
arDetectMarkerLite(byte[] dataPtr,
int thresh,
ARMarkerInfo marker_info,
int[] marker_num) |
int |
arDetectMarkerLite(ByteBuffer dataPtr,
int thresh,
ARMarkerInfo marker_info,
IntBuffer marker_num) |
int |
arDetectMarkerLite(BytePointer dataPtr,
int thresh,
ARMarkerInfo marker_info,
IntPointer marker_num) |
int |
arDetectMarkerLite(BytePointer dataPtr,
int thresh,
PointerPointer marker_info,
IntPointer marker_num)
marker detection without using tracking history
|
int |
arFreePatt(int patno)
frees a pattern from memory
|
float |
arGetTransMat(ARMarkerInfo marker_info,
float[] center,
float width,
float[] conv) |
float |
arGetTransMat(ARMarkerInfo marker_info,
FloatBuffer center,
float width,
FloatBuffer conv) |
float |
arGetTransMat(ARMarkerInfo marker_info,
FloatPointer center,
float width,
FloatPointer conv)
calculates the transformation matrix between camera and the given marker
|
float |
arGetTransMatCont(ARMarkerInfo marker_info,
float[] prev_conv,
float[] center,
float width,
float[] conv) |
float |
arGetTransMatCont(ARMarkerInfo marker_info,
FloatBuffer prev_conv,
FloatBuffer center,
float width,
FloatBuffer conv) |
float |
arGetTransMatCont(ARMarkerInfo marker_info,
FloatPointer prev_conv,
FloatPointer center,
float width,
FloatPointer conv) |
int |
arLoadPatt(byte[] filename) |
int |
arLoadPatt(ByteBuffer filename) |
int |
arLoadPatt(BytePointer filename)
loads a pattern from a file
|
int |
arMultiFreeConfig(ARMultiMarkerInfoT config) |
float |
arMultiGetTransMat(ARMarkerInfo marker_info,
int marker_num,
ARMultiMarkerInfoT config)
calculates the transformation matrix between camera and the given multi-marker config
|
float |
arMultiGetTransMatHull(ARMarkerInfo marker_info,
int marker_num,
ARMultiMarkerInfoT config) |
ARMultiMarkerInfoT |
arMultiReadConfigFile(BytePointer filename) |
ARMultiMarkerInfoT |
arMultiReadConfigFile(String filename) |
static boolean |
calcCameraMatrix(BytePointer nCamParamFile,
float nNear,
float nFar,
float[] nMatrix) |
static boolean |
calcCameraMatrix(BytePointer nCamParamFile,
float nNear,
float nFar,
FloatBuffer nMatrix) |
static boolean |
calcCameraMatrix(BytePointer nCamParamFile,
float nNear,
float nFar,
FloatPointer nMatrix)
Calculates the camera matrix from an ARToolKit camera file.
|
static boolean |
calcCameraMatrix(String nCamParamFile,
float nNear,
float nFar,
float[] nMatrix) |
static boolean |
calcCameraMatrix(String nCamParamFile,
float nNear,
float nFar,
FloatBuffer nMatrix) |
static boolean |
calcCameraMatrix(String nCamParamFile,
float nNear,
float nFar,
FloatPointer nMatrix) |
float |
calcOpenGLMatrixFromMarker(ARMarkerInfo nMarkerInfo,
float[] nPatternCenter,
float nPatternSize,
float[] nOpenGLMatrix) |
float |
calcOpenGLMatrixFromMarker(ARMarkerInfo nMarkerInfo,
FloatBuffer nPatternCenter,
float nPatternSize,
FloatBuffer nOpenGLMatrix) |
float |
calcOpenGLMatrixFromMarker(ARMarkerInfo nMarkerInfo,
FloatPointer nPatternCenter,
float nPatternSize,
FloatPointer nOpenGLMatrix)
Calculates the OpenGL transformation matrix for a specific marker info
|
void |
changeCameraSize(int nWidth,
int nHeight)
Changes the resolution of the camera after the camerafile was already loaded
|
float |
executeMultiMarkerPoseEstimator(ARMarkerInfo marker_info,
int marker_num,
ARMultiMarkerInfoT config)
Calls the pose estimator set with setPoseEstimator() for multi marker tracking
|
float |
executeSingleMarkerPoseEstimator(ARMarkerInfo marker_info,
float[] center,
float width,
float[] conv) |
float |
executeSingleMarkerPoseEstimator(ARMarkerInfo marker_info,
FloatBuffer center,
float width,
FloatBuffer conv) |
float |
executeSingleMarkerPoseEstimator(ARMarkerInfo marker_info,
FloatPointer center,
float width,
FloatPointer conv)
Calls the pose estimator set with setPoseEstimator() for single marker tracking
|
int |
getBitsPerPixel()
Returns the numbber of bits per pixel for the compiled-in pixel format
|
Camera |
getCamera()
Returns the current camera
|
FloatPointer |
getModelViewMatrix()
Returns an opengl-style modelview transformation matrix
|
int |
getNumLoadablePatterns()
Returns the maximum number of patterns that can be loaded
This maximum number of loadable patterns can be set via the
maxLoadPatterns parameter
|
int |
getPixelFormat()
Returns the compiled-in pixel format
|
FloatPointer |
getProjectionMatrix()
Returns an opengl-style projection transformation matrix
|
int |
getThreshold()
Returns the current threshold value.
|
CornerPoint |
getTrackedCorners() |
boolean |
isAutoThresholdActivated()
Returns true if automatic threshold detection is enabled
|
boolean |
loadCameraFile(BytePointer nCamParamFile,
float nNearClip,
float nFarClip)
Loads a camera calibration file and stores data internally
To prevent memory leaks, this method internally deletes an existing camera.
|
boolean |
loadCameraFile(String nCamParamFile,
float nNearClip,
float nFarClip) |
float |
rppGetTransMat(ARMarkerInfo marker_info,
float[] center,
float width,
float[] conv) |
float |
rppGetTransMat(ARMarkerInfo marker_info,
FloatBuffer center,
float width,
FloatBuffer conv) |
float |
rppGetTransMat(ARMarkerInfo marker_info,
FloatPointer center,
float width,
FloatPointer conv) |
float |
rppMultiGetTransMat(ARMarkerInfo marker_info,
int marker_num,
ARMultiMarkerInfoT config) |
void |
setBorderWidth(float nFraction)
Sets a new relative border width.
|
void |
setCamera(Camera nCamera)
Sets a new camera without specifying new near and far clip values
|
void |
setCamera(Camera nCamera,
float nNearClip,
float nFarClip)
Sets a new camera including specifying new near and far clip values
|
void |
setHullMode(int nMode)
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.
|
void |
setImageProcessingMode(int nMode)
Sets an image processing mode (half or full resolution)
Half resolution is faster but less accurate.
|
void |
setLoadUndistLUT(boolean nSet)
Set to true to try loading camera undistortion table from a cache file
On slow platforms (e.g.
|
void |
setMarkerMode(int nMarkerMode)
activate the usage of id-based markers rather than template based markers
Template markers are the classic marker type used in ARToolKit.
|
void |
setNumAutoThresholdRetries(int nNumRetries)
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.
|
boolean |
setPixelFormat(int nFormat)
Sets the pixel format of the camera image
Default format is RGB888 (PIXEL_FORMAT_RGB)
|
boolean |
setPoseEstimator(int nMethod)
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"
|
void |
setThreshold(int nValue)
Sets the threshold value that is used for black/white conversion
|
void |
setUndistortionMode(int nMode)
Changes the undistortion mode
Default value is UNDIST_STD which means that
artoolkit's standard undistortion method is used.
|
address, asBuffer, asByteBuffer, availablePhysicalBytes, calloc, capacity, capacity, close, deallocate, deallocate, deallocateReferences, deallocator, deallocator, equals, fill, formatBytes, free, getDirectBufferAddress, getPointer, getPointer, getPointer, getPointer, hashCode, interruptDeallocatorThread, isNull, isNull, limit, limit, malloc, maxBytes, maxPhysicalBytes, memchr, memcmp, memcpy, memmove, memset, offsetAddress, offsetof, offsetof, parseBytes, physicalBytes, physicalBytesInaccurate, position, position, put, realloc, referenceCount, releaseReference, retainReference, setNull, sizeof, sizeof, toString, totalBytes, totalCount, totalPhysicalBytes, withDeallocator, zero
public Tracker(Pointer p)
Pointer(Pointer)
.public Tracker(int imWidth, int imHeight, int maxImagePatterns, int pattWidth, int pattHeight, int pattSamples, int maxLoadPatterns)
public Tracker(int imWidth, int imHeight)
@Cast(value="bool") public boolean setPixelFormat(@Cast(value="ARToolKitPlus::PIXEL_FORMAT") int nFormat)
@Cast(value="bool") public boolean loadCameraFile(@Cast(value="const char*") BytePointer nCamParamFile, @Cast(value="ARFloat") float nNearClip, @Cast(value="ARFloat") float nFarClip)
@Cast(value="bool") public boolean loadCameraFile(String nCamParamFile, @Cast(value="ARFloat") float nNearClip, @Cast(value="ARFloat") float nFarClip)
public void setLoadUndistLUT(@Cast(value="bool") boolean nSet)
public int arDetectMarker(@Cast(value="const uint8_t*") BytePointer dataPtr, int thresh, @Cast(value="ARToolKitPlus::ARMarkerInfo**") PointerPointer marker_info, IntPointer marker_num)
public int arDetectMarker(@Cast(value="const uint8_t*") BytePointer dataPtr, int thresh, @ByPtrPtr ARMarkerInfo marker_info, IntPointer marker_num)
public int arDetectMarker(@Cast(value="const uint8_t*") ByteBuffer dataPtr, int thresh, @ByPtrPtr ARMarkerInfo marker_info, IntBuffer marker_num)
public int arDetectMarker(@Cast(value="const uint8_t*") byte[] dataPtr, int thresh, @ByPtrPtr ARMarkerInfo marker_info, int[] marker_num)
public int arDetectMarkerLite(@Cast(value="const uint8_t*") BytePointer dataPtr, int thresh, @Cast(value="ARToolKitPlus::ARMarkerInfo**") PointerPointer marker_info, IntPointer marker_num)
public int arDetectMarkerLite(@Cast(value="const uint8_t*") BytePointer dataPtr, int thresh, @ByPtrPtr ARMarkerInfo marker_info, IntPointer marker_num)
public int arDetectMarkerLite(@Cast(value="const uint8_t*") ByteBuffer dataPtr, int thresh, @ByPtrPtr ARMarkerInfo marker_info, IntBuffer marker_num)
public int arDetectMarkerLite(@Cast(value="const uint8_t*") byte[] dataPtr, int thresh, @ByPtrPtr ARMarkerInfo marker_info, int[] marker_num)
@Cast(value="ARFloat") public float arMultiGetTransMat(ARMarkerInfo marker_info, int marker_num, ARMultiMarkerInfoT config)
@Cast(value="ARFloat") public float arMultiGetTransMatHull(ARMarkerInfo marker_info, int marker_num, ARMultiMarkerInfoT config)
@Cast(value="ARFloat") public float arGetTransMat(ARMarkerInfo marker_info, @Cast(value="ARFloat*") FloatPointer center, @Cast(value="ARFloat") float width, @Cast(value="ARFloat(* /*[3]*/ )[4]") FloatPointer conv)
@Cast(value="ARFloat") public float arGetTransMat(ARMarkerInfo marker_info, @Cast(value="ARFloat*") FloatBuffer center, @Cast(value="ARFloat") float width, @Cast(value="ARFloat(* /*[3]*/ )[4]") FloatBuffer conv)
@Cast(value="ARFloat") public float arGetTransMat(ARMarkerInfo marker_info, @Cast(value="ARFloat*") float[] center, @Cast(value="ARFloat") float width, @Cast(value="ARFloat(* /*[3]*/ )[4]") float[] conv)
@Cast(value="ARFloat") public float arGetTransMatCont(ARMarkerInfo marker_info, @Cast(value="ARFloat(* /*[3]*/ )[4]") FloatPointer prev_conv, @Cast(value="ARFloat*") FloatPointer center, @Cast(value="ARFloat") float width, @Cast(value="ARFloat(* /*[3]*/ )[4]") FloatPointer conv)
@Cast(value="ARFloat") public float arGetTransMatCont(ARMarkerInfo marker_info, @Cast(value="ARFloat(* /*[3]*/ )[4]") FloatBuffer prev_conv, @Cast(value="ARFloat*") FloatBuffer center, @Cast(value="ARFloat") float width, @Cast(value="ARFloat(* /*[3]*/ )[4]") FloatBuffer conv)
@Cast(value="ARFloat") public float arGetTransMatCont(ARMarkerInfo marker_info, @Cast(value="ARFloat(* /*[3]*/ )[4]") float[] prev_conv, @Cast(value="ARFloat*") float[] center, @Cast(value="ARFloat") float width, @Cast(value="ARFloat(* /*[3]*/ )[4]") float[] conv)
@Cast(value="ARFloat") public float rppMultiGetTransMat(ARMarkerInfo marker_info, int marker_num, ARMultiMarkerInfoT config)
@Cast(value="ARFloat") public float rppGetTransMat(ARMarkerInfo marker_info, @Cast(value="ARFloat*") FloatPointer center, @Cast(value="ARFloat") float width, @Cast(value="ARFloat(* /*[3]*/ )[4]") FloatPointer conv)
@Cast(value="ARFloat") public float rppGetTransMat(ARMarkerInfo marker_info, @Cast(value="ARFloat*") FloatBuffer center, @Cast(value="ARFloat") float width, @Cast(value="ARFloat(* /*[3]*/ )[4]") FloatBuffer conv)
@Cast(value="ARFloat") public float rppGetTransMat(ARMarkerInfo marker_info, @Cast(value="ARFloat*") float[] center, @Cast(value="ARFloat") float width, @Cast(value="ARFloat(* /*[3]*/ )[4]") float[] conv)
public int arLoadPatt(@Cast(value="char*") BytePointer filename)
public int arLoadPatt(@Cast(value="char*") ByteBuffer filename)
public int arFreePatt(int patno)
public int arMultiFreeConfig(ARMultiMarkerInfoT config)
public ARMultiMarkerInfoT arMultiReadConfigFile(@Cast(value="const char*") BytePointer filename)
public ARMultiMarkerInfoT arMultiReadConfigFile(String filename)
public void activateBinaryMarker(int nThreshold)
public void setMarkerMode(@Cast(value="ARToolKitPlus::MARKER_MODE") int nMarkerMode)
public void activateVignettingCompensation(@Cast(value="bool") boolean nEnable, int nCorners, int nLeftRight, int nTopBottom)
public void activateVignettingCompensation(@Cast(value="bool") boolean nEnable)
@Cast(value="bool") public static boolean calcCameraMatrix(@Cast(value="const char*") BytePointer nCamParamFile, @Cast(value="ARFloat") float nNear, @Cast(value="ARFloat") float nFar, @Cast(value="ARFloat*") FloatPointer nMatrix)
@Cast(value="bool") public static boolean calcCameraMatrix(String nCamParamFile, @Cast(value="ARFloat") float nNear, @Cast(value="ARFloat") float nFar, @Cast(value="ARFloat*") FloatBuffer nMatrix)
@Cast(value="bool") public static boolean calcCameraMatrix(@Cast(value="const char*") BytePointer nCamParamFile, @Cast(value="ARFloat") float nNear, @Cast(value="ARFloat") float nFar, @Cast(value="ARFloat*") float[] nMatrix)
@Cast(value="bool") public static boolean calcCameraMatrix(String nCamParamFile, @Cast(value="ARFloat") float nNear, @Cast(value="ARFloat") float nFar, @Cast(value="ARFloat*") FloatPointer nMatrix)
@Cast(value="bool") public static boolean calcCameraMatrix(@Cast(value="const char*") BytePointer nCamParamFile, @Cast(value="ARFloat") float nNear, @Cast(value="ARFloat") float nFar, @Cast(value="ARFloat*") FloatBuffer nMatrix)
@Cast(value="bool") public static boolean calcCameraMatrix(String nCamParamFile, @Cast(value="ARFloat") float nNear, @Cast(value="ARFloat") float nFar, @Cast(value="ARFloat*") float[] nMatrix)
public void changeCameraSize(int nWidth, int nHeight)
public void setUndistortionMode(@Cast(value="ARToolKitPlus::UNDIST_MODE") int nMode)
@Cast(value="bool") public boolean setPoseEstimator(@Cast(value="ARToolKitPlus::POSE_ESTIMATOR") int nMethod)
public void setHullMode(@Cast(value="ARToolKitPlus::HULL_TRACKING_MODE") int nMode)
public void setBorderWidth(@Cast(value="ARFloat") float nFraction)
public void setThreshold(int nValue)
public int getThreshold()
public void activateAutoThreshold(@Cast(value="bool") boolean nEnable)
@Cast(value="bool") public boolean isAutoThresholdActivated()
public void setNumAutoThresholdRetries(int nNumRetries)
public void setImageProcessingMode(@Cast(value="ARToolKitPlus::IMAGE_PROC_MODE") int nMode)
@Cast(value="const ARFloat*") public FloatPointer getModelViewMatrix()
@Cast(value="const ARFloat*") public FloatPointer getProjectionMatrix()
@Cast(value="ARToolKitPlus::PIXEL_FORMAT") public int getPixelFormat()
public int getBitsPerPixel()
public int getNumLoadablePatterns()
public Camera getCamera()
public void setCamera(Camera nCamera)
public void setCamera(Camera nCamera, @Cast(value="ARFloat") float nNearClip, @Cast(value="ARFloat") float nFarClip)
@Cast(value="ARFloat") public float calcOpenGLMatrixFromMarker(ARMarkerInfo nMarkerInfo, @Cast(value="ARFloat*") FloatPointer nPatternCenter, @Cast(value="ARFloat") float nPatternSize, @Cast(value="ARFloat*") FloatPointer nOpenGLMatrix)
@Cast(value="ARFloat") public float calcOpenGLMatrixFromMarker(ARMarkerInfo nMarkerInfo, @Cast(value="ARFloat*") FloatBuffer nPatternCenter, @Cast(value="ARFloat") float nPatternSize, @Cast(value="ARFloat*") FloatBuffer nOpenGLMatrix)
@Cast(value="ARFloat") public float calcOpenGLMatrixFromMarker(ARMarkerInfo nMarkerInfo, @Cast(value="ARFloat*") float[] nPatternCenter, @Cast(value="ARFloat") float nPatternSize, @Cast(value="ARFloat*") float[] nOpenGLMatrix)
@Cast(value="ARFloat") public float executeSingleMarkerPoseEstimator(ARMarkerInfo marker_info, @Cast(value="ARFloat*") FloatPointer center, @Cast(value="ARFloat") float width, @Cast(value="ARFloat(* /*[3]*/ )[4]") FloatPointer conv)
@Cast(value="ARFloat") public float executeSingleMarkerPoseEstimator(ARMarkerInfo marker_info, @Cast(value="ARFloat*") FloatBuffer center, @Cast(value="ARFloat") float width, @Cast(value="ARFloat(* /*[3]*/ )[4]") FloatBuffer conv)
@Cast(value="ARFloat") public float executeSingleMarkerPoseEstimator(ARMarkerInfo marker_info, @Cast(value="ARFloat*") float[] center, @Cast(value="ARFloat") float width, @Cast(value="ARFloat(* /*[3]*/ )[4]") float[] conv)
@Cast(value="ARFloat") public float executeMultiMarkerPoseEstimator(ARMarkerInfo marker_info, int marker_num, ARMultiMarkerInfoT config)
@StdVector public CornerPoint getTrackedCorners()
Copyright © 2023. All rights reserved.