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.
|
|
|
|
#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<int> relatedImgs; //! the position index of overlap-image in visitOrder
|
|
|
|
|
vector<vector<Point2d> > 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矩阵
|
|
|
|
|
};
|