#ifndef _ImageProjectInterface_hpp_ #define _ImageProjectInterface_hpp_ #ifdef __DLL_EXPORTS__ #define DLLAPI __declspec(dllexport) #else #define DLLAPI #endif #ifdef WITH_OPENCV3_4_6 #include "opencv2/core.hpp" #endif #include #include "Algorithm/typedef.h" //目标检测的抽象基类 class DLLAPI ImageProjectInterface { public: //参数初始话,每张实时图仅需要初始化一次 virtual void initParameter(IMAGEPROJECT_PARAMETER)=0; //指定投影范围(如果不指定,则使用缺省范围) virtual void setProjectedRegion(PosBLH stLT,PosBLH stRB,int iProjImageWidth,int iProjImageHeight)=0; //对实时图投影到文件 virtual WF_ERROR_CODE projectRealImageFile(std::string strInputRealImgFilePath,//输入文件路径 std::string &strOutPutTiffFilePath,//输出文件路径 REGION_INFOR &stProjRegionInfor,//输出图像的地理区域 CompositeError *pStManualTerminalError,//手动误差,nullptr为无 float fNewFocus,//焦距,0表示缺省 int iAlpha)=0;//输出的tiff图的alpha值 #ifdef WITH_OPENCV3_4_6 //保留函数,对实时图投影到c::Mat virtual WF_ERROR_CODE projectRealtimeImage(cv::Mat matRealImg,//输入图像mat CompositeError *pStManualTerminalError,//手动误差,nullptr为无 float fNewFocus,//焦距,0表示缺省 cv::Mat &matProjected,//输出图像mat int iAlpha)=0;//输出的tiff图的alpha值 #endif }; class DLLAPI ImageProjectLibFactory { public: static ImageProjectInterface* create(); }; #endif