You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
|
|
/*********版权所有(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);
|
|
|
|
|
};
|