# 航拍拼接模块接口说明 本模块用于吊舱的扫描全景图拼接,包含前视和下视两个模式。前视与下视投影面和效果均不同。二者接口大部分相同。 ## 前视接口 ### 1.依赖 本模块依赖ceres优化库(包含gflag、glog)以及cuda支持,opencv 455支持。 除cuda库外,其余库均以vc14动态库文件形式提供。 ### 2.接口 ```C++ static API_FrontStitch* Create(std::string cachedir = "./cache"); ``` 模块创建接口,其中默认参数为使用cache路径,cache是用于拼接图优化的预留功能,当前版本暂未使用,可以不做设置 ```C++ static void Destroy(API_FrontStitch* obj); ``` 模块析构接口,使用完毕后释放内存。 ```C++ virtual FPanInfo Init(FrameInfo info, ScanRange stAzRange, ScanRange stPtRange) = 0; ``` 初始化接口,请使用拼接时刻的内外参信息以及扫描区间进行初始化,其中方位扫描区间和俯仰扫描区域均为伺服坐标系。程序内部会转换为大地坐标进行初始化,并将拼接图中心置为扫描中心。 ```C++ virtual BYTE8 Run(GD_VIDEO_FRAME_S img, FrameInfo para) = 0; ``` 运行拼接流程,在该过程中程序自动将当前图像重新投影到全景图上,可以通过访问全景图内存进行实时显示。 ```C++ virtual GD_VIDEO_FRAME_S ExportPanAddr() = 0; ``` 获取全景图接口,其中GD_VIDEO_FRAME_S是高德研发中心通用帧接口,内部维护了图像类型和指针等信息。具体参见GD_VIDEO_FRAME_S接口说明 ```C++ virtual SINT32 OptAndOutCurrPan() = 0; ``` 全景投影完毕后,可以调用该接口进行优化,主要是精细对齐帧以及拼接缝消除等,暂未实现。 ## 下视接口 ### 1.依赖 本模块依赖ceres优化库(包含gflag、glog),opencv 455支持。 ### 2.接口 ```C++ static API_FrontStitch* Create(std::string cachedir = "./cache"); ``` 模块创建接口,其中默认参数为使用cache路径,cache是用于拼接图优化的预留功能,当前版本暂未使用,可以不做设置 ```C++ static void Destroy(API_FrontStitch* obj); ``` 模块析构接口,使用完毕后释放内存。 ```C++ virtual FPanInfo Init(FrameInfo info) = 0; ``` 初始化接口,请使用拼接时刻的内外参信息进行初始化,并将拼接图中心置为扫描中心。 ```C++ virtual void SetOutput(std::string name, std::string outdir) = 0; ``` 设置输出路径,下视模块按照通用谷歌瓦片生成标准256*256瓦片,提前设置好输出文件夹 ```C++ virtual void SetConfig(UPanConfig config) = 0; ``` 设置运行参数。 ```C++ virtual BYTE8 Run(GD_VIDEO_FRAME_S img, FrameInfo para) = 0; ``` 运行拼接流程,在该过程中程序自动将当前图像重新投影到全景图上,可以通过访问全景图内存进行实时显示。 ```C++ virtual GD_VIDEO_FRAME_S ExportPanAddr() = 0; ``` 获取全景图接口,其中GD_VIDEO_FRAME_S是高德研发中心通用帧接口,内部维护了图像类型和指针等信息。具体参见GD_VIDEO_FRAME_S接口说明 ```C++ virtual SINT32 OptAndOutCurrPan() = 0; ``` 全景投影完毕后,可以调用该接口进行优化,主要是精细对齐帧以及拼接缝消除等,暂未实现。