数据结构 | |
struct | VPIFisheyeLensDistortionModel |
包含鱼眼镜头畸变模型的系数。 更多... | |
struct | VPIPolynomialLensDistortionModel |
包含多项式镜头畸变模型的系数。 更多... | |
类型定义 | |
typedef float | VPICameraIntrinsic[2][3] |
相机内参矩阵。 更多... | |
typedef float | VPICameraExtrinsic[3][4] |
相机外参矩阵。 更多... | |
枚举 | |
enum | VPIFisheyeMapping |
支持的鱼眼镜头映射类型。 更多... | |
函数 | |
VPIStatus | vpiWarpMapGenerateFromFisheyeLensDistortionModel (const VPICameraIntrinsic Kin, const VPICameraExtrinsic X, const VPICameraIntrinsic Kout, const VPIFisheyeLensDistortionModel *distModel, VPIWarpMap *warpMap) |
生成一个映射,用于校正由鱼眼镜头引起的图像畸变。 更多... | |
VPIStatus | vpiWarpMapGenerateFromPolynomialLensDistortionModel (const VPICameraIntrinsic Kin, const VPICameraExtrinsic X, const VPICameraIntrinsic Kout, const VPIPolynomialLensDistortionModel *distModel, VPIWarpMap *warpMap) |
生成一个映射,使用多项式镜头畸变模型校正图像。 更多... | |
struct VPIFisheyeLensDistortionModel |
包含鱼眼镜头畸变模型的系数。
鱼眼镜头畸变模型定义如下:
\begin{align*} r &= \sqrt{u^2 + v^2} \\ \theta &= \arctan(r) \\ r_d &= D(\theta + k_1 * \theta^3 + k_2 * \theta^5 + k_3 * \theta^7 + k_4 * \theta^9) \\ c_d &= r_d/r \\ u_d &= u*c_d \\ v_d &= v*c_d \end{align*}
其中
Definition at line 137 of file LensDistortionModels.h.
数据字段 | ||
---|---|---|
VPIFisheyeMapping | mapping | 像素角度和像素距离到图像中心之间的映射。 |
float | k1 |
鱼眼畸变系数。 |
float | k2 |
鱼眼畸变系数。 |
float | k3 |
鱼眼畸变系数。 |
float | k4 |
鱼眼畸变系数。 |
struct VPIPolynomialLensDistortionModel |
包含多项式镜头畸变模型的系数。
多项式镜头畸变模型定义如下:
\begin{align*} r &= \sqrt{u^2 + v^2} \\ k_r &= \frac{1 + k_1r^2 + k_2 r^4 + k_3 r^6}{1 + k_4 r^2 + k_5 r^4 + k_6 r^6} \\ u_d &= k_r u + p_1(2uv) + p_2 * (r^2 + 2u^2) \\ v_d &= k_r v + p_1(r^2 + 2v^2) + p_2(2uv) \end{align*}
其中
Definition at line 215 of file LensDistortionModels.h.
数据字段 | ||
---|---|---|
float | k1 |
径向畸变系数。 |
float | k2 |
径向畸变系数。 |
float | k3 |
径向畸变系数。 |
float | k4 |
径向畸变系数。 |
float | k5 |
径向畸变系数。 |
float | k6 |
径向畸变系数。 |
float | p1 |
切向畸变系数。 |
float | p2 |
切向畸变系数。 |
typedef float VPICameraIntrinsic[2][3] |
#include <vpi/Types.h>
相机内参矩阵。
\begin{bmatrix} f_x & s & c_x \\ 0 & f_y & c_y \end{bmatrix}
其中
typedef float VPICameraExtrinsic[3][4] |
#include <vpi/Types.h>
相机外参矩阵。
\begin{bmatrix} R_{3\times3} & T_{3\times1} \end{bmatrix}
其中:\(R_{3\times3}\): 旋转矩阵。 \(T_{3\times1}\): 世界坐标系原点的 3D 位置,以相机为中心的坐标系表示。
enum VPIFisheyeMapping |
#include <vpi/LensDistortionModels.h>
支持的鱼眼镜头映射类型。
Definition at line 76 of file LensDistortionModels.h.
VPIStatus vpiWarpMapGenerateFromFisheyeLensDistortionModel | ( | const VPICameraIntrinsic | Kin, |
const VPICameraExtrinsic | X, | ||
const VPICameraIntrinsic | Kout, | ||
const VPIFisheyeLensDistortionModel * | distModel, | ||
VPIWarpMap * | warpMap | ||
) |
#include <vpi/LensDistortionModels.h>
生成一个映射,用于校正由鱼眼镜头引起的图像畸变。
给定相机内参和外参以及鱼眼镜头畸变模型,生成一个 VPIWarpMap,适用于 Remap 算法,以消除配备鱼眼镜头的相机拍摄的图像的畸变。
映射由以下矩阵方程定义:
\[ y = (K_{out} L X K_{in}) x \]
其中
[in] | Kin | 相机内参。 |
[in] | X | 相机外参,定义了相机中心位置及其在世界坐标系中的朝向。 |
[in] | Kout | 应用于未畸变图像的新相机内参。 对于单目相机,Kout 通常等于 Kin。 |
[in] | distModel | 鱼眼镜头畸变模型。 |
[输出] | warpMap | 生成的扭曲映射,用作 Remap 算法的输入。 |
VPI_ERROR_INVALID_ARGUMENT | warpMap 为 NULL。 |
VPI_ERROR_INVALID_ARGUMENT | Kin 为 NULL。 |
VPI_ERROR_INVALID_ARGUMENT | X 为 NULL。 |
VPI_ERROR_INVALID_ARGUMENT | 输出 Kout 为 NULL。 |
VPI_ERROR_INVALID_ARGUMENT | distModel 为 NULL。 |
VPI_ERROR_INVALID_ARGUMENT | distModel 中的鱼眼模型无效。 |
VPI_SUCCESS | 操作执行成功。 |
VPIStatus vpiWarpMapGenerateFromPolynomialLensDistortionModel | ( | const VPICameraIntrinsic | Kin, |
const VPICameraExtrinsic | X, | ||
const VPICameraIntrinsic | Kout, | ||
const VPIPolynomialLensDistortionModel * | distModel, | ||
VPIWarpMap * | warpMap | ||
) |
#include <vpi/LensDistortionModels.h>
生成一个映射,使用多项式镜头畸变模型校正图像。
给定相机内参和外参以及多项式镜头畸变模型,生成一个 VPIWarpMap,适用于 Remap 算法,以消除图像畸变。
映射由以下矩阵方程定义:
\[ y = (K_{out} L X K_{in}) x \]
其中
[in] | Kin | 相机内参。 |
[in] | X | 相机外参,定义了相机中心位置及其在世界坐标系中的朝向。 |
[in] | Kout | 应用于未畸变图像的新相机内参。 对于单目相机,Kout 通常等于 Kin。 |
[in] | distModel | 多项式镜头畸变模型。 |
[输出] | warpMap | 生成的扭曲映射,用作 Remap 算法的输入。 |
VPI_ERROR_INVALID_ARGUMENT | warpMap 为 NULL。 |
VPI_ERROR_INVALID_ARGUMENT | Kin 为 NULL。 |
VPI_ERROR_INVALID_ARGUMENT | X 为 NULL。 |
VPI_ERROR_INVALID_ARGUMENT | 输出 Kout 为 NULL。 |
VPI_ERROR_INVALID_ARGUMENT | distModel 为 NULL。 |
VPI_ERROR_INVALID_ARGUMENT | distModel 中的多项式模型无效。 |
VPI_SUCCESS | 操作执行成功。 |