估计源和目标关键点之间的变换。 更多...
数据结构 | |
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 行。
union VPITransformConfig |
变换参数。
定义于文件 TransformEstimator.h 的第 178 行。
数据字段 | ||
---|---|---|
VPIConstrainedHomography2DConfig | constrainedHomography2D |
struct VPITransformEstimatorParams |
用于调整变换估计器算法的参数。
定义于文件 TransformEstimator.h 的第 193 行。
数据字段 | ||
---|---|---|
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 | 操作执行成功。 |