估计源和目标关键点之间的变换。 更多...
数据结构 | |
| struct | VPIConstrainedHomography2DConfig |
| 保存约束 2D 单应变换的配置。 更多... | |
| union | VPITransformConfig |
| 变换参数。 更多... | |
| struct | VPITransformEstimatorParams |
| 用于调整变换估计器算法的参数。 更多... | |
枚举 | |
| enum | VPITransformType |
| 支持的变换类型。 更多... | |
| enum | VPITransfomEstimationMethod |
| 变换估计方法。 更多... | |
函数 | |
| VPIStatus | vpiCreateTransformEstimator (uint64_t backends, int32_t maxKeypoints, VPIPayload *payload) |
| 为 vpiSubmitTransformEstimator 创建负载。 更多... | |
| VPIStatus | vpiInitTransformEstimatorParams (VPITransformType type, VPITransformEstimatorParams *params) |
| 使用给定变换类型的默认值初始化 VPITransformEstimatorParams。 更多... | |
| VPIStatus | vpiSubmitTransformEstimator (VPIStream stream, uint64_t backend, VPIPayload payload, VPIArray srcKeypoints, VPIArray tgtKeypoints, VPIArray matches, VPIArray outTransform, VPIArray outInliers, const VPITransformEstimatorParams *params) |
| 向流提交 变换估计器 操作。 更多... | |
估计源和目标关键点之间的变换。
有关更多详细信息和使用示例,请参阅 变换估计器。
| struct VPIConstrainedHomography2DConfig |
保存约束 2D 单应变换的配置。
定义于文件 TransformEstimator.h 的第 104 行。
VPIConstrainedHomography2DConfig 的协作图| union VPITransformConfig |
变换参数。
定义于文件 TransformEstimator.h 的第 178 行。
VPITransformConfig 的协作图| 数据字段 | ||
|---|---|---|
| VPIConstrainedHomography2DConfig | constrainedHomography2D | |
| struct VPITransformEstimatorParams |
用于调整变换估计器算法的参数。
定义于文件 TransformEstimator.h 的第 193 行。
VPITransformEstimatorParams 的协作图| 数据字段 | ||
|---|---|---|
| VPITransfomEstimationMethod | method | 用于变换估计的方法。 |
| int32_t | solverMaxIterations | 非线性求解器应采取的最大迭代次数。 |
| int32_t | ransacMaxIterations | RANSAC 的最大迭代次数。 |
| float | ransacReprojErrorTolerance | 点被视为内点的最大允许重投影误差。 |
| float | ransacConfidenceLevel | 点被视为内点的最大允许重投影误差。 |
| int32_t | ransacSeed | 要使用的随机数种子。 |
| int32_t | maxRefinementIterations | 模型细化步骤的最大迭代次数。 传递 0 以跳过细化。 当变换不是仿射变换时,通常需要这样做。 |
| VPITransformType | xftype | 要估计的变换类型。 |
| VPITransformConfig | xfcfg | 变换配置,例如可信边界等。 |
| enum VPITransformType |
#include <vpi/algo/TransformEstimator.h>
支持的变换类型。
| 枚举器 | |
|---|---|
| VPI_XFORM_CONSTRAINED_HOMOGRAPHY_2D | 表示约束 2D 单应变换。 |
定义于文件 TransformEstimator.h 的第 171 行。
#include <vpi/algo/TransformEstimator.h>
变换估计方法。
| 枚举器 | |
|---|---|
| VPI_XFORM_ESTIM_METHOD_REGULAR | 使用最小二乘法最小化方法。 |
| VPI_XFORM_ESTIM_METHOD_RANSAC | 使用 RANSAC 和最小二乘法的鲁棒估计。 |
定义于文件 TransformEstimator.h 的第 184 行。
| VPIStatus vpiCreateTransformEstimator | ( | uint64_t | backends, |
| int32_t | maxKeypoints, | ||
| VPIPayload * | payload | ||
| ) |
#include <vpi/algo/TransformEstimator.h>
为 vpiSubmitTransformEstimator 创建负载。
| [in] | backends | 将执行算法的 VPI 后端。
|
| [in] | maxKeypoints | 处理的最大关键点数。
|
| [out] | payload | 指向接收创建句柄的负载变量的指针。 |
| VPI_ERROR_INVALID_ARGUMENT | payload 为 NULL。 |
| VPI_ERROR_INVALID_ARGUMENT | maxKeypints 超出有效范围。 |
| VPI_ERROR_INVALID_ARGUMENT | backend 指的是无效的后端。 |
| VPI_ERROR_NOT_IMPLEMENTED | 给定后端不支持变换估计器算法。 |
| VPI_ERROR_INVALID_CONTEXT | 当前上下文已被销毁。 |
| VPI_ERROR_INVALID_OPERATION | 后端在当前上下文中未启用。 |
| VPI_ERROR_OUT_OF_MEMORY | 无法分配所需的资源。 |
| VPI_SUCCESS | 操作执行成功。 |
| VPIStatus vpiInitTransformEstimatorParams | ( | VPITransformType | type, |
| VPITransformEstimatorParams * | params | ||
| ) |
#include <vpi/algo/TransformEstimator.h>
使用给定变换类型的默认值初始化 VPITransformEstimatorParams。
默认值删除所有参数约束。 它设置以下参数
| [in] | type | 要将结构初始化为的变换类型。 |
| [in,out] | params | 指向要初始化的结构的指针。
|
| VPI_ERROR_INVALID_ARGUMENT | params 为 NULL。 |
| VPI_ERROR_INVALID_ARGUMENT | 变换类型不被接受。 |
| VPI_SUCCESS | 操作执行成功。 |
| VPIStatus vpiSubmitTransformEstimator | ( | VPIStream | stream, |
| uint64_t | backend, | ||
| VPIPayload | payload, | ||
| VPIArray | srcKeypoints, | ||
| VPIArray | tgtKeypoints, | ||
| VPIArray | matches, | ||
| VPIArray | outTransform, | ||
| VPIArray | outInliers, | ||
| const VPITransformEstimatorParams * | params | ||
| ) |
#include <vpi/algo/TransformEstimator.h>
向流提交 变换估计器 操作。
| [in] | stream | 操作将被排队的流。
| ||||
| [in] | backend | 将执行算法的后端。
| ||||
| [in] | payload | 使用 vpiCreateTransformEstimator 创建的负载。
| ||||
| [in] | srcKeypoints | 源关键点。 它定义了一组关键点,估计的变换将应用于这些关键点。
| ||||
| [in] | tgtKeypoints | 目标关键点。 它定义了一组关键点,这些关键点是将变换应用于源关键点的结果。
| ||||
| [in] | matches | 源关键点和目标关键点之间的对应关系。 如果不为 NULL,则对于 matches 中的每个第 i 个元素,对应关系由下式给出
| ||||
| [out] | outTransform | 将在其中写入估计的变换。 数组的类型指定要估计的变换类型。
| ||||
| [out] | outInliers | 内点匹配的索引。 可选,如果不需要,则传递 NULL。
| ||||
| [in] | params | 指定要估计的变换参数的参数。 如果为 NULL,将对输出变换数组类型给出的变换执行无约束估计。 如果不为 NULL,则以下限制适用
|
| VPI_ERROR_INVALID_ARGUMENT | stream 为 NULL。 |
| VPI_ERROR_INVALID_ARGUMENT | payload 为 NULL。 |
| VPI_ERROR_INVALID_ARGUMENT | srcKeypoints 或 tgtKeypoints 为 NULL。 |
| VPI_ERROR_INVALID_ARGUMENT | outTransform 为 NULL。 |
| VPI_ERROR_INVALID_ARGUMENT | backend 无效或未知。 |
| VPI_ERROR_INVALID_ARGUMENT | srcKeypoints、tgtKeypoints 不一致。 |
| VPI_ERROR_INVALID_ARGUMENT | 变换类型与输出变换数组类型不一致。 |
| VPI_ERROR_INVALID_ARRAY_TYPE | srcKeypoints、tgtKeypoints、matches 或 outInliers 的数组类型不正确。 |
| VPI_ERROR_NOT_IMPLEMENTED | 给定后端不支持变换估计器算法。 |
| VPI_ERROR_INVALID_OPERATION | 后端硬件不可用。 |
| VPI_ERROR_INVALID_OPERATION | 所需的后端在 stream、srcKeypoints、tgtKeypoints 或 matches 中未启用。 |
| VPI_SUCCESS | 操作执行成功。 |