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.

76 lines
1.5 KiB

#include "API_FrontStitch.h"
#include "Arith_FrontStitch.h"
#include "Arith_Utils.h"
#include "Arith_CoordModule.h"
#include "Arith_FeaMatch.h"
#include <opencv2/opencv.hpp>
#include <omp.h>
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;
}