/*********版权所有(C)2024,武汉高德红外股份有限公司*************** * 文件名称:API_VideoStitch.h * 文件标识: * 内容摘要: * 其它说明: * 当前版本: * 创建作者: * 创建日期: *******************************************************************/ #pragma once #ifdef _WIN32 #define STD_STITCH_API __declspec(dllexport) #else #define STD_STITCH_API __attribute__ ((visibility("default"))) #endif #include "Arith_CommonDef.h" #include "opencv2/opencv.hpp" #include "PlatformDefine.h" // 帧内外方位元素 struct FrameInfo { AirCraftInfo craft; CamInfo camInfo; ServoInfo servoInfo; int nEvHeight;//相对高差 int nWidth; int nHeight; }; // 全景图配置 struct PanInfo { int m_pan_width; int m_pan_height; float scale;// 比例尺 float map_shiftX;// 平移X float map_shiftY;// 平移Y }; class STD_STITCH_API API_VideoStitch { public: virtual ~API_VideoStitch() = default; // 初始化拼接 virtual PanInfo Init(FrameInfo info) = 0; // 输入帧 virtual BYTE8 Updata(GD_VIDEO_FRAME_S img, FrameInfo para) = 0; // 获取全景图 virtual GD_VIDEO_FRAME_S ExportPanAddr() = 0; public: static API_VideoStitch* Create(SINT32 nWidth, SINT32 nHeight); static void Destroy(API_VideoStitch* obj); };