#pragma once #include "Arith_CommonDef.h" #include "opencv2/opencv.hpp" #include "PlatformDefine.h" using std::vector; using cv::Point2d; using cv::Point2f; using cv::Mat; using cv::Mat_; // 帧内外方位元素 struct FrameInfo { int nFrmID;//帧编号,唯一ID 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 }; // 匹配关系网,BA的边 struct Match_Net { int imgNo; //! image no. start from 0 vector relatedImgs; //! the position index of overlap-image in visitOrder vector > PointSet; }; #define IMG_CACHE_SIZE (1920 * 1080 * 3) //图像缓存尺寸 #define FEA_NUM_MAX 500 // 单帧特征点数量 #define FEA_DES_SIZE 128 // 特征点描述子尺度 // 帧缓存:按照固定大小设计,便于管理 struct FrameCache { FrameInfo _para; GD_VIDEO_FRAME_S _frame_info; BYTE8 _data[IMG_CACHE_SIZE]; cv::KeyPoint _pt[FEA_NUM_MAX]; FLOAT32 _desp[FEA_NUM_MAX * FEA_DES_SIZE]; DOUBLE64 H[9];// H矩阵 };