VPI - 视觉编程接口

3.2 版本

暴力匹配器

在描述符上运行暴力匹配器算法。 更多...

函数

VPIStatus vpiSubmitBruteForceMatcher (VPIStream stream, uint64_t backend, VPIArray queryDescriptor, VPIArray referenceDescriptor, VPINormType normType, int32_t maxMatchesPerQuery, VPIArray matches, uint32_t algoFlag)
 在描述符上运行暴力匹配器算法。 更多...
 

详细描述

在描述符上运行暴力匹配器算法。

暴力匹配器使用用户提供的查询描述符和参考描述符,并通过确定最接近的参考描述符来计算每个查询描述符的匹配项。距离计算指标可以由用户选择,以及每个查询描述符要返回的匹配项数量。

函数文档

◆ 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>

在描述符上运行暴力匹配器算法。

参数
[in]stream操作将被排入队列的流句柄。
[in]backend将执行算法的后端。
[in]queryDescriptor查询描述符数组。
  • 必须是 VPI_ARRAY_TYPE_BRIEF_DESCRIPTOR 类型
  • 不能为空。
[in]referenceDescriptor用作匹配参考的输入描述符数组。
  • 必须是 VPI_ARRAY_TYPE_BRIEF_DESCRIPTOR 类型
  • 不能为空。
[in]normType确定范数计算的类型。
[in]maxMatchesPerQuery每个查询要添加到输出数组中的最接近匹配项的最大数量。
[out]matches输出数组。
[in]algoFlag匹配计算标志。
返回值
VPI_ERROR_INVALID_ARGUMENTstream 为 NULL。
VPI_ERROR_INVALID_ARGUMENTqueryDescriptorreferenceDescriptormatches 为 NULL。
VPI_ERROR_INVALID_ARGUMENTmatches 容量 >= queryDescriptor 容量。
VPI_ERROR_INVALID_ARGUMENT不支持 algoFlag
VPI_ERROR_INVALID_ARGUMENTbackend 无效或未知。
VPI_ERROR_INVALID_ARGUMENT不支持 queryDescriptorreferenceDescriptor 格式。
VPI_ERROR_INVALID_ARGUMENT不支持 normType
VPI_ERROR_INVALID_ARGUMENT不支持 matches 格式。
VPI_ERROR_INVALID_ARGUMENTmaxMatchesPerQuery 超出有效范围。
VPI_ERROR_NOT_IMPLEMENTED给定后端不支持暴力匹配器算法。
VPI_ERROR_INVALID_OPERATION后端硬件不可用。
VPI_ERROR_INVALID_OPERATION所需的后端未在 streamqueryDescriptorreferenceDescriptormatches 中启用。
VPI_SUCCESS操作执行成功。