/*********版权所有（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 "StitchStruct.h"

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

    // 初始化拼接
    virtual PanInfo		Init(FrameInfo info) = 0;

    // 几何校正快拼
    virtual BYTE8       GeoStitch(GD_VIDEO_FRAME_S img, FrameInfo para) = 0;

    // 基于特征点拼接，全局光束平差方法
    virtual BYTE8       BAStitch(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);
};
