All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
Loading...
Searching...
No Matches
Image Target Feature

Classes

struct  VuImageTargetConfig
 Configuration for Image Target using a database target. More...
 
struct  VuImageTargetFileConfig
 Configuration for Image Target using a File input. More...
 
struct  VuImageTargetBufferConfig
 Configuration for creating an Image Target using an image buffer. More...
 
struct  VuImageTargetObservationTargetInfo
 Target info for an Image Target from its respective observation. More...
 

Enumerations

enum  VuImageTargetCreationError : int32_t {
  VU_IMAGE_TARGET_CREATION_ERROR_NONE = 0x0 ,
  VU_IMAGE_TARGET_CREATION_ERROR_INTERNAL = 0x1 ,
  VU_IMAGE_TARGET_CREATION_ERROR_AUTOACTIVATION_FAILED = 0x2 ,
  VU_IMAGE_TARGET_CREATION_ERROR_DATABASE_LOAD_ERROR = 0x3 ,
  VU_IMAGE_TARGET_CREATION_ERROR_INVALID_TARGET_NAME = 0x4 ,
  VU_IMAGE_TARGET_CREATION_ERROR_TARGET_NOT_FOUND ,
  VU_IMAGE_TARGET_CREATION_ERROR_INVALID_SCALE = 0x6 ,
  VU_IMAGE_TARGET_CREATION_ERROR_DATABASE_XML_REQUIRED
}
 Configuration error for Image Target creation. More...
 
enum  VuImageTargetBufferCreationError : int32_t {
  VU_IMAGE_TARGET_BUFFER_CREATION_ERROR_NONE = 0x0 ,
  VU_IMAGE_TARGET_BUFFER_CREATION_ERROR_INTERNAL = 0x1 ,
  VU_IMAGE_TARGET_BUFFER_CREATION_ERROR_AUTOACTIVATION_FAILED = 0x2 ,
  VU_IMAGE_TARGET_BUFFER_CREATION_ERROR_FEATURE_NOT_SUPPORTED = 0x3 ,
  VU_IMAGE_TARGET_BUFFER_CREATION_ERROR_INVALID_DATA = 0x4 ,
  VU_IMAGE_TARGET_BUFFER_CREATION_ERROR_INVALID_FORMAT ,
  VU_IMAGE_TARGET_BUFFER_CREATION_ERROR_INVALID_SIZE = 0x6 ,
  VU_IMAGE_TARGET_BUFFER_CREATION_ERROR_INVALID_TARGET_WIDTH = 0x7 ,
  VU_IMAGE_TARGET_BUFFER_CREATION_ERROR_INVALID_TARGET_NAME = 0x8
}
 Configuration error for Image Target creation with buffer config. More...
 
enum  VuImageTargetFileCreationError : int32_t {
  VU_IMAGE_TARGET_FILE_CREATION_ERROR_NONE = 0x0 ,
  VU_IMAGE_TARGET_FILE_CREATION_ERROR_INTERNAL = 0x1 ,
  VU_IMAGE_TARGET_FILE_CREATION_ERROR_AUTOACTIVATION_FAILED = 0x2 ,
  VU_IMAGE_TARGET_FILE_CREATION_ERROR_FEATURE_NOT_SUPPORTED = 0x3 ,
  VU_IMAGE_TARGET_FILE_CREATION_ERROR_FILE_LOAD_ERROR = 0x4 ,
  VU_IMAGE_TARGET_FILE_CREATION_ERROR_INVALID_TARGET_WIDTH = 0x5 ,
  VU_IMAGE_TARGET_FILE_CREATION_ERROR_INVALID_TARGET_NAME = 0x6
}
 Configuration error for Image Target creation with file config. More...
 
enum  VuImageTargetObservationStatusInfo : int32_t {
  VU_IMAGE_TARGET_OBSERVATION_STATUS_INFO_NORMAL ,
  VU_IMAGE_TARGET_OBSERVATION_STATUS_INFO_NOT_OBSERVED ,
  VU_IMAGE_TARGET_OBSERVATION_STATUS_INFO_RELOCALIZING
}
 Status info for the pose of Image Target observations. More...
 
enum  { VU_OBSERVER_IMAGE_TARGET_TYPE = 0x1 }
 
enum  { VU_OBSERVATION_IMAGE_TARGET_TYPE = 0x1 }
 

Functions

VuImageTargetConfig vuImageTargetConfigDefault ()
 Default Image Target configuration.
 
VuImageTargetFileConfig vuImageTargetFileConfigDefault ()
 Default Image Target file configuration.
 
VuImageTargetBufferConfig vuImageTargetBufferConfigDefault ()
 Configuration for an Image Target using a Cloud Image Target observation.
 
VuResult vuEngineCreateImageTargetObserver (VuEngine *engine, VuObserver **observer, const VuImageTargetConfig *config, VuImageTargetCreationError *errorCode)
 Create an Image Target observer from database.
 
VuResult vuEngineCreateImageTargetObserverFromFileConfig (VuEngine *engine, VuObserver **observer, const VuImageTargetFileConfig *config, VuImageTargetFileCreationError *errorCode)
 Create an Image Target observer from file configuration.
 
VuResult vuEngineCreateImageTargetObserverFromBufferConfig (VuEngine *engine, VuObserver **observer, const VuImageTargetBufferConfig *config, VuImageTargetBufferCreationError *errorCode)
 Create an Image Target observer from buffer configuration.
 
VuResult vuEngineGetImageTargetObservers (const VuEngine *engine, VuObserverList *observerList)
 Get all Image Target observers.
 
VuResult vuImageTargetObserverGetTargetUniqueId (const VuObserver *observer, const char **targetId)
 Get the unique ID associated to an Image Target from its respective observer.
 
VuResult vuImageTargetObserverGetTargetName (const VuObserver *observer, const char **targetName)
 Get the name associated to an Image Target from its respective observer.
 
VuResult vuImageTargetObserverGetAABB (const VuObserver *observer, VuAABB *bbox)
 Get the axis-aligned bounding box associated to an Image Target from its respective observer, relative to the target's frame of reference.
 
VuResult vuImageTargetObserverGetTargetSize (const VuObserver *observer, VuVector2F *size)
 Get the size in meters associated with an Image Target from its respective observer.
 
VuResult vuImageTargetObserverSetTargetScale (VuObserver *observer, float scale)
 Re-scale the size of an Image Target via its respective observer.
 
VuResult vuImageTargetObserverGetTargetPoseOffset (const VuObserver *observer, VuMatrix44F *poseOffset)
 Get the pose transformation offset associated with an Image Target from its respective observer.
 
VuResult vuImageTargetObserverSetTargetPoseOffset (VuObserver *observer, const VuMatrix44F *poseOffset)
 Set the pose transformation offset associated with an Image Target via its respective observer.
 
VuResult vuImageTargetObserverSetTrackingOptimization (VuObserver *observer, VuTrackingOptimization optimization)
 Set the tracking optimization of the target associated to the Image Target observer.
 
VuResult vuImageTargetObserverGetTrackingOptimization (const VuObserver *observer, VuTrackingOptimization *optimization)
 Get the tracking optimization of the target associated to the Image Target observer.
 
VuResult vuEngineSetMaximumSimultaneousTrackedImages (VuEngine *engine, int32_t maxNumberOfTargets)
 Set the maximum number of image-based targets tracked at the same time.
 
VuResult vuEngineGetMaximumSimultaneousTrackedImages (const VuEngine *engine, int32_t *maxNumberOfTargets)
 Get the maximum number of image-based targets tracked at the same time.
 
VuResult vuStateGetImageTargetObservations (const VuState *state, VuObservationList *list)
 Get all Image Target observations.
 
VuResult vuImageTargetObservationGetTargetInfo (const VuObservation *observation, VuImageTargetObservationTargetInfo *targetInfo)
 Get target info associated with an Image Target observation.
 
VuResult vuImageTargetObservationGetStatusInfo (const VuObservation *observation, VuImageTargetObservationStatusInfo *statusInfo)
 Get status info associated to the pose status of an Image Target observation.
 

Detailed Description

Enumeration Type Documentation

◆ VuImageTargetCreationError

Configuration error for Image Target creation.

Enumerator
VU_IMAGE_TARGET_CREATION_ERROR_NONE 

No error.

VU_IMAGE_TARGET_CREATION_ERROR_INTERNAL 

An internal error occurred during observer creation.

VU_IMAGE_TARGET_CREATION_ERROR_AUTOACTIVATION_FAILED 

Observer auto-activation failed.

VU_IMAGE_TARGET_CREATION_ERROR_DATABASE_LOAD_ERROR 

Could not find database file or read data from it (potentially unknown or corrupted file)

VU_IMAGE_TARGET_CREATION_ERROR_INVALID_TARGET_NAME 

Invalid target name.

VU_IMAGE_TARGET_CREATION_ERROR_TARGET_NOT_FOUND 

Target with the specified name AND matching target type for this observer not found in database.

VU_IMAGE_TARGET_CREATION_ERROR_INVALID_SCALE 

Invalid value passed to the scale parameter.

VU_IMAGE_TARGET_CREATION_ERROR_DATABASE_XML_REQUIRED 

The Image Target could not be loaded from the DAT file directly, because the database only supports loading from the database XML file. Only Image Target databases created for Vuforia 10.15 and newer support loading from the DAT file directly. Older databases must still be loaded via the database XML file.

◆ VuImageTargetBufferCreationError

Configuration error for Image Target creation with buffer config.

Enumerator
VU_IMAGE_TARGET_BUFFER_CREATION_ERROR_NONE 

No error.

VU_IMAGE_TARGET_BUFFER_CREATION_ERROR_INTERNAL 

An internal error occurred during observer creation.

VU_IMAGE_TARGET_BUFFER_CREATION_ERROR_AUTOACTIVATION_FAILED 

Observer auto-activation failed.

VU_IMAGE_TARGET_BUFFER_CREATION_ERROR_FEATURE_NOT_SUPPORTED 

Feature not supported without a Vuforia license.

VU_IMAGE_TARGET_BUFFER_CREATION_ERROR_INVALID_DATA 

Invalid pixel data buffer pointer.

VU_IMAGE_TARGET_BUFFER_CREATION_ERROR_INVALID_FORMAT 

Invalid pixel format. Supported formats are VU_IMAGE_PIXEL_FORMAT_GRAYSCALE, VU_IMAGE_PIXEL_FORMAT_RGB888 and VU_IMAGE_PIXEL_FORMAT_RGBA8888

VU_IMAGE_TARGET_BUFFER_CREATION_ERROR_INVALID_SIZE 

Invalid pixel buffer size.

VU_IMAGE_TARGET_BUFFER_CREATION_ERROR_INVALID_TARGET_WIDTH 

Invalid target width value.

VU_IMAGE_TARGET_BUFFER_CREATION_ERROR_INVALID_TARGET_NAME 

Invalid target name.

◆ VuImageTargetFileCreationError

Configuration error for Image Target creation with file config.

Enumerator
VU_IMAGE_TARGET_FILE_CREATION_ERROR_NONE 

No error.

VU_IMAGE_TARGET_FILE_CREATION_ERROR_INTERNAL 

An internal error occurred while creating the observer.

VU_IMAGE_TARGET_FILE_CREATION_ERROR_AUTOACTIVATION_FAILED 

An error occurred while auto-activating the observer.

VU_IMAGE_TARGET_FILE_CREATION_ERROR_FEATURE_NOT_SUPPORTED 

Feature not supported without a Vuforia license.

VU_IMAGE_TARGET_FILE_CREATION_ERROR_FILE_LOAD_ERROR 

Could not find image file or read data from it (potentially unknown or corrupted file)

VU_IMAGE_TARGET_FILE_CREATION_ERROR_INVALID_TARGET_WIDTH 

Invalid target width value.

VU_IMAGE_TARGET_FILE_CREATION_ERROR_INVALID_TARGET_NAME 

Invalid target name.

◆ VuImageTargetObservationStatusInfo

Status info for the pose of Image Target observations.

Provides further information on the pose status reported as part of VuPoseInfo. The status info is retrieved with vuImageTargetObservationGetStatusInfo.

Note
All enum values defined by VuObservationPoseStatus may be reported as part of an Image Target observation.
See also
VuPoseInfo
VuObservationPoseStatus
vuObservationHasPoseInfo
vuObservationGetPoseInfo
vuStateGetObservationsWithPoseInfo
vuImageTargetObservationGetStatusInfo
Enumerator
VU_IMAGE_TARGET_OBSERVATION_STATUS_INFO_NORMAL 

Tracking is working normally. Reported for VU_OBSERVATION_POSE_STATUS_TRACKED or VU_OBSERVATION_POSE_STATUS_EXTENDED_TRACKED.

VU_IMAGE_TARGET_OBSERVATION_STATUS_INFO_NOT_OBSERVED 

Target is not observed. Reported for VU_OBSERVATION_POSE_STATUS_NO_POSE.

VU_IMAGE_TARGET_OBSERVATION_STATUS_INFO_RELOCALIZING 

The tracking system is currently relocalizing. Reported for VU_OBSERVATION_POSE_STATUS_LIMITED.

◆ anonymous enum

anonymous enum
Enumerator
VU_OBSERVER_IMAGE_TARGET_TYPE 

Type identifier for Image Target observers.

◆ anonymous enum

anonymous enum
Enumerator
VU_OBSERVATION_IMAGE_TARGET_TYPE 

Type identifier for Image Target observations.

Function Documentation

◆ vuImageTargetConfigDefault()

VuImageTargetConfig vuImageTargetConfigDefault ( )

Default Image Target configuration.

Note
Use this function to initialize the VuImageTargetConfig data structure with default values.

◆ vuImageTargetFileConfigDefault()

VuImageTargetFileConfig vuImageTargetFileConfigDefault ( )

Default Image Target file configuration.

Note
Use this function to initialize the VuImageTargetFileConfig data structure with default values.

◆ vuImageTargetBufferConfigDefault()

VuImageTargetBufferConfig vuImageTargetBufferConfigDefault ( )

Configuration for an Image Target using a Cloud Image Target observation.

Note
Use this function to initialize the VuImageTargetBufferConfig data structure with default values.

◆ vuEngineCreateImageTargetObserver()

VuResult vuEngineCreateImageTargetObserver ( VuEngine * engine,
VuObserver ** observer,
const VuImageTargetConfig * config,
VuImageTargetCreationError * errorCode )

Create an Image Target observer from database.

Note
Note that loading the database may take a significant amount of time, it is therefore recommended that this method is not called on the main/UI thread.

◆ vuEngineCreateImageTargetObserverFromFileConfig()

VuResult vuEngineCreateImageTargetObserverFromFileConfig ( VuEngine * engine,
VuObserver ** observer,
const VuImageTargetFileConfig * config,
VuImageTargetFileCreationError * errorCode )

Create an Image Target observer from file configuration.

Note
Images with width or height bigger than 2048 pixels are not supported.

◆ vuEngineCreateImageTargetObserverFromBufferConfig()

VuResult vuEngineCreateImageTargetObserverFromBufferConfig ( VuEngine * engine,
VuObserver ** observer,
const VuImageTargetBufferConfig * config,
VuImageTargetBufferCreationError * errorCode )

Create an Image Target observer from buffer configuration.

Note
Images with width or height bigger than 2048 pixels are not supported.

◆ vuImageTargetObserverGetTargetPoseOffset()

VuResult vuImageTargetObserverGetTargetPoseOffset ( const VuObserver * observer,
VuMatrix44F * poseOffset )

Get the pose transformation offset associated with an Image Target from its respective observer.

Note
The pose offset is represented as a pose matrix using the OpenGL convention.

◆ vuImageTargetObserverSetTargetPoseOffset()

VuResult vuImageTargetObserverSetTargetPoseOffset ( VuObserver * observer,
const VuMatrix44F * poseOffset )

Set the pose transformation offset associated with an Image Target via its respective observer.

Note
The pose offset is represented as a pose matrix using the OpenGL convention.

◆ vuImageTargetObserverSetTrackingOptimization()

VuResult vuImageTargetObserverSetTrackingOptimization ( VuObserver * observer,
VuTrackingOptimization optimization )

Set the tracking optimization of the target associated to the Image Target observer.

This setting modifies the internal target tracking parameters to optimize the tracking quality and robustness.

Note
Only VU_TRACKING_OPTIMIZATION_DEFAULT and VU_TRACKING_OPTIMIZATION_AR_CONTROLLER are allowed. This function will fail if VU_TRACKING_OPTIMIZATION_LOW_FEATURE_OBJECTS is provided.
This operation will reset any tracking operation for the Image Target observer. It is recommended to use this function before starting the Vuforia Engine.

◆ vuEngineSetMaximumSimultaneousTrackedImages()

VuResult vuEngineSetMaximumSimultaneousTrackedImages ( VuEngine * engine,
int32_t maxNumberOfTargets )

Set the maximum number of image-based targets tracked at the same time.

Note
This setting tells Vuforia how many targets based on image tracking shall be processed at most at the same time. For instance, if an app never requires tracking more than 2 targets, then this value should be set to 2. This setting controls Image Targets, Cylinder Targets, Multi-Targets and VuMarks. The default value is 1.

◆ vuImageTargetObservationGetStatusInfo()

VuResult vuImageTargetObservationGetStatusInfo ( const VuObservation * observation,
VuImageTargetObservationStatusInfo * statusInfo )

Get status info associated to the pose status of an Image Target observation.

The status info is intended to be used in combination with VuObservationPoseStatus retrieved via vuObservationGetPoseInfo.