VPI - Vision Programming Interface

3.1 Release

Brute Force Matcher

Runs a brute force matcher algorithm on descriptors. More...

Functions

VPIStatus vpiSubmitBruteForceMatcher (VPIStream stream, uint64_t backend, VPIArray queryDescriptor, VPIArray referenceDescriptor, VPINormType normType, int32_t maxMatchesPerQuery, VPIArray matches, uint32_t algoFlag)
 Runs a brute force matcher algorithm on descriptors. More...
 

Detailed Description

Runs a brute force matcher algorithm on descriptors.

Brute force matcher uses query descriptors and reference descriptors provided by the user and calculates matches for every query descriptor by determining the closest reference descriptors. The distance calculation metric can be chosen by the user and also the number of matches to be returned per query descriptor.

Function Documentation

◆ vpiSubmitBruteForceMatcher()

VPIStatus vpiSubmitBruteForceMatcher ( VPIStream  stream,
uint64_t  backend,
VPIArray  queryDescriptor,
VPIArray  referenceDescriptor,
VPINormType  normType,
int32_t  maxMatchesPerQuery,
VPIArray  matches,
uint32_t  algoFlag 
)

#include <vpi/algo/BruteForceMatcher.h>

Runs a brute force matcher algorithm on descriptors.

Parameters
[in]streamA stream handle where the operation will be queued into.
[in]backendBackend that will execute the algorithm.
[in]queryDescriptorQuery descriptor array.
  • Must be of type VPI_ARRAY_TYPE_BRIEF_DESCRIPTOR
  • Must not be NULL.
[in]referenceDescriptorInput Descriptor array to be used as refernce for matches.
  • Must be of type VPI_ARRAY_TYPE_BRIEF_DESCRIPTOR
  • Must not be NULL.
[in]normTypeDetermines the type of norm calculation.
[in]maxMatchesPerQueryMaximum number of closest matches per query to be added in the output array.
[out]matchesOutput array.
[in]algoFlagMatches calculation flags.
Return values
VPI_ERROR_INVALID_ARGUMENTstream is NULL.
VPI_ERROR_INVALID_ARGUMENTqueryDescriptor , referenceDescriptor or matches are NULL.
VPI_ERROR_INVALID_ARGUMENTmatches capacity >= queryDescriptor capacity.
VPI_ERROR_INVALID_ARGUMENTalgoFlag not supported.
VPI_ERROR_INVALID_ARGUMENTbackend is invalid or unknown.
VPI_ERROR_INVALID_ARGUMENTqueryDescriptor and referenceDescriptor formats aren't supported.
VPI_ERROR_INVALID_ARGUMENTnormType is not supported.
VPI_ERROR_INVALID_ARGUMENTmatches formats is not supported.
VPI_ERROR_INVALID_ARGUMENTmaxMatchesPerQuery outside valid range.
VPI_ERROR_NOT_IMPLEMENTEDBrute Force Matcher algorithm is not supported by given backend.
VPI_ERROR_INVALID_OPERATIONBackend hardware not available.
VPI_ERROR_INVALID_OPERATIONThe needed backends aren't enabled in stream, queryDescriptor, referenceDescriptor or matches.
VPI_SUCCESSOperation executed successfully.