思路
1,需要通过某种方式做鱼眼标定,得到半径,中心点,鱼眼视角,形变系数,切向畸变系数
2,需要通过某种方式将得到的标定信息保存
3,需要优化算法实现读取标定信息并计算
关于标定
如果在网上搜鱼眼标定,很可能搜到的是张正友标定法,经过这种标定方法得到的画面是平面投影,而不是Equirectangular投影。
因此查资料的时候需要多花精力。
这里我是通过手动标定的方法,用Unity做了一个小工具来实现标定的功能。
关于标定数据
数据保存
我用Untiy做了个可以导出“config.txt”文本的工具,里面保存了输入/输出信息。
这里没有形变系数和切向畸变系数,因为这些数据是通过OpenCV获取的。
数据读取
在CUDA头文件中添加存放标定数据的结构体
typedef struct {
float radius;
float ccx, ccy;
float k1, k2, k3; /* distortion coefficients */
float fov_deg; /* in degree */
}fisheye_lens_param_t;
这里的形变参数k1,k2,k3的意义接下来说明。
在源文件中添加存放数据的结构体
typedef struct {
int iw, ih, o