/*********版权所有（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"
// 帧内外方位元素
struct FrameInfo
{
    AirCraftInfo craft;
    CamInfo camInfo;
    ServoInfo servoInfo;
    int nEvHeight;//相对高差
    int nWidth;
    int nHeight;
};


class STD_STITCH_API API_VideoStitch
{
public:
    virtual ~API_VideoStitch() = default;

    virtual BBOOL		Init(FrameInfo info) = 0;
    virtual BYTE8       Updata(cv::Mat img, FrameInfo para) = 0;

	virtual void       Test() = 0;
 
public:
    static API_VideoStitch* Create(SINT32 nWidth, SINT32 nHeight);
    static void Destroy(API_VideoStitch* obj);
};
