#include "API_FrontStitch.h" #include "Arith_FrontStitch.h" #include "Arith_Utils.h" #include "Arith_CoordModule.h" #include "Arith_FeaMatch.h" #include #include using namespace std; using namespace cv; API_FrontStitch* API_FrontStitch::Create(SINT32 nWidth, SINT32 nHeight) { return new FrontStitch(nWidth, nHeight); } void API_FrontStitch::Destroy(API_FrontStitch* obj) { delete obj; } FrontStitch::FrontStitch(SINT32 nWidth, SINT32 nHeight) { _GeoSolver = new GeoSolver(); } FrontStitch::~FrontStitch() { } FPanInfo FrontStitch::Init(FrameInfo info, float AzRange, float PtRange) { _fAglRes = 0.001; // 设置当前拼接起始位置 _panPara.center = _GeoSolver->SetOriginPoint(info); _panPara.range.fAz = AzRange; _panPara.range.fPt = PtRange; _panPara.m_pan_width = AzRange / _fAglRes; _panPara.m_pan_height = PtRange / _fAglRes; _panImage = cv::Mat::zeros(_panPara.m_pan_height, _panPara.m_pan_width, CV_8UC4); return _panPara; } BYTE8 FrontStitch::GeoStitch(GD_VIDEO_FRAME_S img, FrameInfo para) { return BYTE8(); } SINT32 FrontStitch::ReceiveFrame(GD_VIDEO_FRAME_S img, FrameInfo para) { return SINT32(); } SINT32 FrontStitch::ProcessFrame() { return SINT32(); } GD_VIDEO_FRAME_S FrontStitch::ExportPanAddr() { GD_VIDEO_FRAME_S pan_out; pan_out.enPixelFormat = GD_PIXEL_FORMAT_RGB_PACKED; pan_out.u32Width = _panPara.m_pan_width; pan_out.u32Height = _panPara.m_pan_height; pan_out.u64VirAddr[0] = _panImage.data; return pan_out; }