|
|
|
|
#pragma once
|
|
|
|
|
#include "resource.h"
|
|
|
|
|
|
|
|
|
|
// <20>ص<EFBFBD><D8B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
#include "CallBackDef.h"
|
|
|
|
|
|
|
|
|
|
// openCV
|
|
|
|
|
#include <opencv2\opencv.hpp>
|
|
|
|
|
using namespace cv;
|
|
|
|
|
|
|
|
|
|
#include <deque> // <20><><EFBFBD><EFBFBD>
|
|
|
|
|
using namespace std;
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD>鱨<EFBFBD>ṹ<EFBFBD><E1B9B9><EFBFBD>ļ<EFBFBD>
|
|
|
|
|
#include "QBStru.h"
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD>ٲ<EFBFBD><D9B2><EFBFBD>ͼ<EFBFBD><CDBC>
|
|
|
|
|
#include "FastLookUpDlg.h"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// CImgShowDlg <20>Ի<EFBFBD><D4BB><EFBFBD>
|
|
|
|
|
|
|
|
|
|
class CImgShowDlg : public CDialog
|
|
|
|
|
{
|
|
|
|
|
DECLARE_DYNAMIC(CImgShowDlg)
|
|
|
|
|
|
|
|
|
|
public:
|
|
|
|
|
CImgShowDlg(CWnd* pParent = NULL); // <20><><EFBFBD><D7BC><EFBFBD>캯<EFBFBD><ECBAAF>
|
|
|
|
|
virtual ~CImgShowDlg();
|
|
|
|
|
|
|
|
|
|
// <20>Ի<EFBFBD><D4BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
enum { IDD = IDD_IMG_SHOW_DIALOG };
|
|
|
|
|
|
|
|
|
|
protected:
|
|
|
|
|
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV ֧<><D6A7>
|
|
|
|
|
|
|
|
|
|
public: /* part1<74><31><EFBFBD><EFBFBD><EFBFBD>г<EFBFBD>Ա<EFBFBD><D4B1><EFBFBD><EFBFBD> */
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD>ûص<C3BB><D8B5><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
// <20><><EFBFBD><EFBFBD>:
|
|
|
|
|
// 1: proc: <20><><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8>
|
|
|
|
|
// <20><><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD>óɹ<C3B3><C9B9><EFBFBD><EFBFBD><EFBFBD>TRUE<55><45><EFBFBD><EFBFBD><EFBFBD><EFBFBD>FALSE
|
|
|
|
|
BOOL SetCallBackFun(SendCoordinateProc proc);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD>ûص<C3BB><D8B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD>ݵ<EFBFBD><DDB5>ⲿCSU<53><55>
|
|
|
|
|
// <20><><EFBFBD>룺
|
|
|
|
|
// 1.proc: <20><><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8>
|
|
|
|
|
//
|
|
|
|
|
// <20><><EFBFBD><EFBFBD>: <20><><EFBFBD>óɹ<C3B3><C9B9><EFBFBD><EFBFBD><EFBFBD>TRUE<55><45><EFBFBD><EFBFBD><EFBFBD><EFBFBD>FALSE
|
|
|
|
|
BOOL SetCallBackFun(SendPixInfoProc proc);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD>ûص<C3BB><D8B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݱ<EFBFBD><DDB1><EFBFBD><EFBFBD>ļ<EFBFBD>·<EFBFBD><C2B7><EFBFBD><EFBFBD><EFBFBD>ⲿCSU<53><55>
|
|
|
|
|
// <20><><EFBFBD>룺
|
|
|
|
|
// 1.proc: <20><><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8>
|
|
|
|
|
//
|
|
|
|
|
// <20><><EFBFBD><EFBFBD>: <20><><EFBFBD>óɹ<C3B3><C9B9><EFBFBD><EFBFBD><EFBFBD>TRUE<55><45><EFBFBD><EFBFBD><EFBFBD><EFBFBD>FALSE
|
|
|
|
|
BOOL SetCallBackFun(SendFilePath proc);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD>ûص<C3BB><D8B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD>궨λ<EAB6A8><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>γ<EFBFBD>ȵ<EFBFBD><C8B5>ⲿCSU<53><55>
|
|
|
|
|
// <20><><EFBFBD>룺
|
|
|
|
|
// 1.proc: <20><><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8>
|
|
|
|
|
//
|
|
|
|
|
// <20><><EFBFBD><EFBFBD>: <20><><EFBFBD>óɹ<C3B3><C9B9><EFBFBD><EFBFBD><EFBFBD>TRUE<55><45><EFBFBD><EFBFBD><EFBFBD><EFBFBD>FALSE
|
|
|
|
|
BOOL SetCallBackFun(SendTgrLocLeadLonLatProc proc);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD>ûص<C3BB><D8B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD>궨λ<EAB6A8><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>γ<EFBFBD>ȵ<EFBFBD><C8B5>ⲿCSU<53><55>
|
|
|
|
|
// <20><><EFBFBD>룺
|
|
|
|
|
// 1.proc: <20><><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8>
|
|
|
|
|
//
|
|
|
|
|
// <20><><EFBFBD><EFBFBD>: <20><><EFBFBD>óɹ<C3B3><C9B9><EFBFBD><EFBFBD><EFBFBD>TRUE<55><45><EFBFBD><EFBFBD><EFBFBD><EFBFBD>FALSE
|
|
|
|
|
BOOL SetCallBackFun(SendArtilleryReviseInfoProc proc);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 1.2 <20><><EFBFBD>ܣ<EFBFBD><DCA3>ڶԻ<DAB6><D4BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾһ֡ͼ<D6A1><CDBC>
|
|
|
|
|
// <20><><EFBFBD><EFBFBD>:
|
|
|
|
|
// 1: pImgInfo: ͼ<><CDBC>ͷ
|
|
|
|
|
// 2: pImgData: ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
// 3: isNeedClip: <20>Ƿ<EFBFBD>ֻ<EFBFBD><D6BB>ʾͼ<CABE><EFBFBD><F1B2BFB7><EFBFBD><EFBFBD><EFBFBD>; <20><><EFBFBD><EFBFBD>TRUE<55><45><EFBFBD><EFBFBD><EFBFBD>ݲ<EFBFBD><DDB2><EFBFBD>4ȷ<34><C8B7><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><F2A3ACB7><EFBFBD><EFBFBD><EFBFBD>ȫ<EFBFBD><C8AB><EFBFBD><EFBFBD>ʾ;Ĭ<><C4AC>ΪFALSE<53><45><EFBFBD><EFBFBD>ȫ<EFBFBD><C8AB><EFBFBD><EFBFBD>ʾ
|
|
|
|
|
// 4<><34>ShowRegion<6F><6E>Ҫ<EFBFBD><D2AA>ʾ<EFBFBD>IJ<EFBFBD><C4B2><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ShowRegionֵ<6E><D6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>ȫ<EFBFBD><C8AB><EFBFBD><EFBFBD>ʾͼ<CABE><CDBC>
|
|
|
|
|
// 5<><35>isNeedFlip<69><70>ͼ<EFBFBD><CDBC><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD>ת<EFBFBD><D7AA>ʾ<EFBFBD><CABE>TRUEʱ<45><CAB1>ת<EFBFBD><D7AA>ʾ
|
|
|
|
|
// 6: StrecthRatio<69><6F>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
// 7<><37>xyShift<66><74>ͼ<EFBFBD><CDBC>ƽ<EFBFBD>ƿ<EFBFBD><C6BF><EFBFBD>
|
|
|
|
|
//
|
|
|
|
|
// <20><><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>ʾ<EFBFBD>ɹ<EFBFBD><C9B9><EFBFBD><EFBFBD><EFBFBD>TRUE<55><45><EFBFBD><EFBFBD><EFBFBD><EFBFBD>FALSE
|
|
|
|
|
BOOL ShowOneImage(const BITMAPINFO* pImgInfo,
|
|
|
|
|
BYTE* pImgData,
|
|
|
|
|
BOOL isNeedClip = FALSE,
|
|
|
|
|
const CRect &ShowRegion = CRect(),
|
|
|
|
|
BOOL isNeedFlip = FALSE,
|
|
|
|
|
float StrecthRatio = 1.0F,
|
|
|
|
|
POINT xyShift = POINT());
|
|
|
|
|
|
|
|
|
|
// 1.3 <20><><EFBFBD>ܣ<EFBFBD><DCA3>ڶԻ<DAB6><D4BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾһ֡ͼ<D6A1><CDBC>
|
|
|
|
|
// <20><><EFBFBD><EFBFBD>:
|
|
|
|
|
// 1: img: OpenCVͼ<56><CDBC><EFBFBD>ṹ<EFBFBD><E1B9B9>
|
|
|
|
|
// 2: isNeedClip: <20>Ƿ<EFBFBD>ֻ<EFBFBD><D6BB>ʾͼ<CABE><EFBFBD><F1B2BFB7><EFBFBD><EFBFBD><EFBFBD>; <20><><EFBFBD><EFBFBD>TRUE<55><45><EFBFBD><EFBFBD><EFBFBD>ݲ<EFBFBD><DDB2><EFBFBD>3ȷ<33><C8B7><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><F2A3ACB7><EFBFBD><EFBFBD><EFBFBD>ȫ<EFBFBD><C8AB><EFBFBD><EFBFBD>ʾ;Ĭ<><C4AC>ΪFALSE<53><45><EFBFBD><EFBFBD>ȫ<EFBFBD><C8AB><EFBFBD><EFBFBD>ʾ
|
|
|
|
|
// 3<><33>ShowRegion<6F><6E>Ҫ<EFBFBD><D2AA>ʾ<EFBFBD>IJ<EFBFBD><C4B2><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ShowRegionֵ<6E><D6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>ȫ<EFBFBD><C8AB><EFBFBD><EFBFBD>ʾͼ<CABE><CDBC>
|
|
|
|
|
// 4<><34>Strecth_Ratio<69><6F>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ͼ<><CDBC>ƽ<EFBFBD>ƿ<EFBFBD><C6BF><EFBFBD>
|
|
|
|
|
// 5<><35>xyShift<66><74>ͼ<EFBFBD><CDBC>ƽ<EFBFBD>ƿ<EFBFBD><C6BF><EFBFBD>
|
|
|
|
|
//
|
|
|
|
|
// <20><><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>ʾ<EFBFBD>ɹ<EFBFBD><C9B9><EFBFBD><EFBFBD><EFBFBD>TRUE<55><45><EFBFBD><EFBFBD><EFBFBD><EFBFBD>FALSE
|
|
|
|
|
BOOL ShowOneImage( const IplImage* img,
|
|
|
|
|
BOOL isNeedClip = FALSE,
|
|
|
|
|
const CRect &ShowRegion = CRect(),
|
|
|
|
|
float StrecthRatio = 1.0F,
|
|
|
|
|
POINT xyShift = POINT());
|
|
|
|
|
|
|
|
|
|
// 1.4 <20><><EFBFBD>ܣ<EFBFBD><DCA3>ڶԻ<DAB6><D4BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾһ֡ͼ<D6A1><CDBC>
|
|
|
|
|
// <20><><EFBFBD><EFBFBD>:
|
|
|
|
|
// 1: img: OpenCVͼ<56><CDBC><EFBFBD>ṹ<EFBFBD><E1B9B9>
|
|
|
|
|
// 2<><32>Strecth_Ratio<69><6F>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
// 3<><33>xyShift<66><74>ͼ<EFBFBD><CDBC>ƽ<EFBFBD>ƿ<EFBFBD><C6BF><EFBFBD>
|
|
|
|
|
//
|
|
|
|
|
// <20><><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>ʾ<EFBFBD>ɹ<EFBFBD><C9B9><EFBFBD><EFBFBD><EFBFBD>TRUE<55><45><EFBFBD><EFBFBD><EFBFBD><EFBFBD>FALSE
|
|
|
|
|
BOOL ShowWholeImage(const IplImage* img, float StrecthRatio = 1.0F, POINT &xyShift = POINT());
|
|
|
|
|
|
|
|
|
|
// 1.5 <20><><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>꣬<EFBFBD><EAA3AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ú<EFBFBD><C3BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD><D0B1><EFBFBD>Ŀ<EFBFBD><C4BF>
|
|
|
|
|
// <20><><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5>ʼ<EFBFBD>շ<EFBFBD><D5B7><EFBFBD>TRUE<55><45><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD>ж<EFBFBD>
|
|
|
|
|
BOOL SetTargetPixelCoordinate(const CPoint &point);
|
|
|
|
|
|
|
|
|
|
// 1.6 <20><><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĸ<EFBFBD><C4B8>ǵ<EFBFBD><C7B5><EFBFBD><EFBFBD>ɵ<EFBFBD><C9B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC>ƴ<EFBFBD><C6B4>ʱ<EFBFBD><CAB1>ע<EFBFBD><D7A2>ǰ<EFBFBD>ӳ<EFBFBD>
|
|
|
|
|
// <20><><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5>Ч<EFBFBD><D0A7><EFBFBD><EFBFBD>TRUE<55><45><EFBFBD><EFBFBD><EFBFBD><EFBFBD>FALSE
|
|
|
|
|
BOOL SetQuadrangleCorners(const POINT *pts);
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD>꣬<EFBFBD><EAA3AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>γ<EFBFBD><CEB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
// <20><><EFBFBD>룺
|
|
|
|
|
// 1. pt<70><74><EFBFBD><EFBFBD>γ<EFBFBD><CEB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
//
|
|
|
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><DAB4>ڱ<EFBFBD><DAB1><EFBFBD>Ŀ<EFBFBD><C4BF>
|
|
|
|
|
// ע<><D7A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EEA3BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC>ͬʱ<CDAC><CAB1><EFBFBD><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD><D0B1>棬<EFBFBD><E6A3AC>Ҫ<EFBFBD><D2AA> <20><><EFBFBD><EFBFBD>4<EFBFBD><34>ShowImage<67><65><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֮<EFBFBD><D6AE> <20><><EFBFBD>뱾<EFBFBD><EBB1BE><EFBFBD><EFBFBD>
|
|
|
|
|
void SetTgtLocLeadLonLat(double lon, double lat);
|
|
|
|
|
|
|
|
|
|
// 1.7 <20><><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD>
|
|
|
|
|
// <20><><EFBFBD>룺
|
|
|
|
|
// 1.center: <20><><EFBFBD>ĵ<EFBFBD><C4B5><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
// 2.angle: <20>Ƕ<EFBFBD>
|
|
|
|
|
// <20><><EFBFBD><EFBFBD>: <20><>
|
|
|
|
|
// <20><><EFBFBD><EFBFBD>״̬<D7B4><CCAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֤
|
|
|
|
|
//void DrawNorthDirection(const POINT ¢er, double angle);
|
|
|
|
|
|
|
|
|
|
// 1.8 <20><><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
// <20><><EFBFBD>룺
|
|
|
|
|
// 1.center: <20><><EFBFBD>ĵ<EFBFBD><C4B5><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
//
|
|
|
|
|
// <20><><EFBFBD><EFBFBD>: <20><>ֵ<EFBFBD><D6B5>˽<EFBFBD>г<EFBFBD>Ա<EFBFBD><D4B1><EFBFBD><EFBFBD>m_NorthDirectionCenter
|
|
|
|
|
// <20><><EFBFBD><EFBFBD>״̬<D7B4><CCAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֤
|
|
|
|
|
//void SetNorthDirectionCenter(const POINT ¢er);
|
|
|
|
|
|
|
|
|
|
// 1.9 <20><><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD><EFBFBD>ȫ<EFBFBD>ֱ<EFBFBD><D6B1><EFBFBD>LatestQBData <20><>ʾͼ<CABE><CDBC><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD>
|
|
|
|
|
// ˵<><CBB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>dst<73><74>Чʱ<D0A7><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾdst<73><74><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾsrc
|
|
|
|
|
void ShowLatestQBData();
|
|
|
|
|
|
|
|
|
|
// 1.10 <20><><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD>ȡ˫<C8A1><CBAB>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> m_LButtonDblClkPixelCoordinate
|
|
|
|
|
CPoint GetTargetCoordinate();
|
|
|
|
|
|
|
|
|
|
// 1.11 <20><><EFBFBD>ܣ<EFBFBD><DCA3>ڶԻ<DAB6><D4BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ͻ<EFBFBD><CFBD><EFBFBD>ʾ<EFBFBD><CABE>Ϣ
|
|
|
|
|
void ShowMessageOnDialog(CString msg);
|
|
|
|
|
|
|
|
|
|
// 1.12 <20><><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD>浱ǰ֡ͼ<D6A1><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|
|
|
|
// <20><><EFBFBD>룺
|
|
|
|
|
// <20><><EFBFBD><EFBFBD>: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݵ<EFBFBD><DDB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD>ɹ<EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>TRUE<55><45><EFBFBD><EFBFBD><EFBFBD><EFBFBD>FALSE
|
|
|
|
|
// ˵<><CBB5><EFBFBD><EFBFBD><EFBFBD>洢<EFBFBD><E6B4A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ч<EFBFBD><D0A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ч<EFBFBD><D0A7><EFBFBD>洢<EFBFBD><E6B4A2><EFBFBD><EFBFBD>Ч<EFBFBD>棩<F2B2BBB4><E6A3A9>
|
|
|
|
|
BOOL SaveCurrentDecodedFrame();
|
|
|
|
|
|
|
|
|
|
// 1.13 <20><><EFBFBD>ܣ<EFBFBD><DCA3>Ƿ<EFBFBD><C7B7><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>֡<EFBFBD><D6A1>18֡<38><D6A1>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD>Ϣ
|
|
|
|
|
// <20><><EFBFBD>룺
|
|
|
|
|
// 1. bMem TRUE<55><45><EFBFBD><EFBFBD><EFBFBD><EFBFBD> FALSE<53><45><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
void MemPreMultiFrame(BOOL bMem = TRUE);
|
|
|
|
|
|
|
|
|
|
// 1.14 <20><><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֡ͼ<D6A1><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|
|
|
|
// <20><><EFBFBD>룺
|
|
|
|
|
// <20><><EFBFBD><EFBFBD>: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݵ<EFBFBD><DDB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>سɹ<D8B3><C9B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֡<EFBFBD><D6A1>
|
|
|
|
|
int SavePreMultiDecodedFrames();
|
|
|
|
|
|
|
|
|
|
// 1.15 <20><><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD><EFBFBD>m_LatestQBData
|
|
|
|
|
void SetLatestQBData(const QBStru &qbData);
|
|
|
|
|
|
|
|
|
|
// 1.16 <20><><EFBFBD>ܣ<EFBFBD><DCA3>ͷ<EFBFBD>m_LatestQBData
|
|
|
|
|
void ReleaseLatestQBData();
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD>þ<EFBFBD>γ<EFBFBD>Ⱥ<EFBFBD><C8BA><EFBFBD>
|
|
|
|
|
void SetBoundingBox(GeoBoundingBox box);
|
|
|
|
|
|
|
|
|
|
// 1.17 <20><><EFBFBD>ܣ<EFBFBD>QBStru<72>ṹ<EFBFBD><E1B9B9><EFBFBD>鱨<EFBFBD><E9B1A8><EFBFBD>ݴ<EFBFBD><DDB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
// <20><><EFBFBD>룺
|
|
|
|
|
// 1.qbData: <20>鱨<EFBFBD><E9B1A8><EFBFBD>ݽṹ<DDBD><E1B9B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8>
|
|
|
|
|
//
|
|
|
|
|
// <20><><EFBFBD><EFBFBD>: <20><>
|
|
|
|
|
void DisposeQBData(const QBStru* qbData);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD><EFBFBD>m_LatestQBDataΪtiff<66><66><EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD><D8B5><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><C2B7>
|
|
|
|
|
void SaveToGeoTiff();
|
|
|
|
|
|
|
|
|
|
// 1.25 <20><><EFBFBD><EFBFBD>/<2F><>ȡ1·<31>ź<EFBFBD><C5BA>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
void SetFirstSignal(BOOL bflag);
|
|
|
|
|
BOOL GetFirstSignal();
|
|
|
|
|
|
|
|
|
|
// 1.26 <20><><EFBFBD><EFBFBD>/<2F><>ȡ2·<32>ź<EFBFBD><C5BA>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
void SetSecondSignal(BOOL bflag);
|
|
|
|
|
BOOL GetSecondSignal();
|
|
|
|
|
|
|
|
|
|
// 1.27 <20><><EFBFBD><EFBFBD>/<2F><>ȡiLatest<73><74><EFBFBD>ղ<EFBFBD><D5B2><EFBFBD>ʲôͼ<C3B4><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
void SetiLatest(int i);
|
|
|
|
|
int GetiLatest();
|
|
|
|
|
|
|
|
|
|
// 1.28 <20><><EFBFBD><EFBFBD>/<2F><>ȡiPreLatest<73><74><EFBFBD>ϴ<EFBFBD><CFB4><EFBFBD>ʲôͼ<C3B4><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
void SetiPreLatest(int i);
|
|
|
|
|
int GetiPreLatest();
|
|
|
|
|
|
|
|
|
|
// 1.29 <20><><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ漰<DAB4><E6BCB0><EFBFBD><EFBFBD>
|
|
|
|
|
void ClearMemory();
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD>ܣ<EFBFBD>ͼ<EFBFBD><CDBC>ȥ<EFBFBD><C8A5>
|
|
|
|
|
void AdjustImgDehaze(BOOL bAdjust, int A_MAX, double degree);
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD>ܣ<EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD><EFBFBD>ȵ<EFBFBD><C8B5><EFBFBD>
|
|
|
|
|
void AdjustImgIntensity(BOOL bAdjust, int degree);
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD>ܣ<EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD>Աȶȵ<C8B6><C8B5><EFBFBD>
|
|
|
|
|
void AdjustImgContrast(BOOL bAdjust, int degree);
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD>ܣ<EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȵ<EFBFBD><C8B5><EFBFBD>
|
|
|
|
|
void AdjustImgDefinition(BOOL bAdjust, int degree);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>ͼ<EFBFBD><CDBC>״̬
|
|
|
|
|
void ReturnToPreImgState();
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD><EFBFBD>ԭʼͼ<CABC><CDBC>״̬
|
|
|
|
|
void ReturnToSrcImgState();
|
|
|
|
|
|
|
|
|
|
// 18 <20><><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD>༭<EFBFBD><E0BCAD><EFBFBD><EFBFBD>
|
|
|
|
|
void SetImgEditType(int type);
|
|
|
|
|
|
|
|
|
|
// <20><>ȡͼ<C8A1><CDBC><EFBFBD>༭ģʽ true <20><>ǿ false <20><><EFBFBD><EFBFBD>
|
|
|
|
|
bool GetImgEditMode();
|
|
|
|
|
|
|
|
|
|
// 20 <20><><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD>ָ<EFBFBD><D6B8>ijһ<C4B3><D2BB>ͼ<EFBFBD><CDBC>
|
|
|
|
|
// <20><><EFBFBD>룺
|
|
|
|
|
// 1<><31>order ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
// <20><><EFBFBD>أ<EFBFBD>
|
|
|
|
|
// <20><>
|
|
|
|
|
void ShowSelectedImgInMem(int order);
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>
|
|
|
|
|
void SetSaveCurrentImgFolder(CString str); // <20><><EFBFBD>浱ǰͼ<C7B0><CDBC><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>
|
|
|
|
|
void SetSavePreMultiImgFolder(CString str); // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֡ͼ<D6A1><CDBC><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>
|
|
|
|
|
|
|
|
|
|
// 21 <20><><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD><EFBFBD>У<EFBFBD><D0A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾͼ<CABE><CDBC>
|
|
|
|
|
void GeoCorrectAndShowImg();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 22 <20><><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD>ȡ<EFBFBD><C8A1>ǰ<EFBFBD><C7B0>ʾͼ<CABE><CDBC>
|
|
|
|
|
cv::Mat GetCurrentImg();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD>ȡ<EFBFBD><C8A1>ǰͼ<C7B0><CDBC><EFBFBD><EFBFBD><EFBFBD>ĵľ<C4B5>γ<EFBFBD><CEB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
bool GetCurrentImgCenterLonLat(double &lon, double &lat);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 24 <20><><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD>עͼ<D7A2><EFBFBD><F1A3A8BE>Ρ<EFBFBD><CEA1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ե<EFBFBD><D4B5>
|
|
|
|
|
// <20><><EFBFBD>룺
|
|
|
|
|
// 1. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ե<EFBFBD><D4B5> <20><><EFBFBD><EFBFBD>
|
|
|
|
|
void MarkRegionOnImg(std::vector<std::vector<cv::Point>> &valisContours);
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҽ<EFBFBD><D2BC><EFBFBD>ť<EFBFBD>˵<EFBFBD>
|
|
|
|
|
void CloseRightBtnDownMenu(bool bClose = true);
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD>ÿ<EFBFBD><C3BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
void SetThemeText(CString str);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD>ȡͼ<C8A1><CDBC><EFBFBD>߽<EFBFBD><DFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
// <20><><EFBFBD>룺
|
|
|
|
|
// <20><>
|
|
|
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
// 1<><31>leftLon <20><><EFBFBD><EFBFBD>
|
|
|
|
|
// 2<><32>topLat <20><>γ
|
|
|
|
|
// 3<><33>rigtLon <20><><EFBFBD><EFBFBD>
|
|
|
|
|
// 4<><34>bottomLat <20><>γ
|
|
|
|
|
// <20><><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5>
|
|
|
|
|
// <20>ɹ<EFBFBD><C9B9><EFBFBD><EFBFBD><EFBFBD>true,ʧ<>ܷ<EFBFBD><DCB7><EFBFBD>false
|
|
|
|
|
bool GetImgBoundingBox(double &leftLon, double &topLat, double &rigtLon, double &bottomLat);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD>ܣ<EFBFBD>ͼ<EFBFBD><CDBC>λ<EFBFBD>õ<EFBFBD><C3B5><EFBFBD><EFBFBD><EFBFBD>ͬ<EFBFBD>ڲ<EFBFBD>Ŀ<EFBFBD>궨λ<EAB6A8><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
void LeadImgLoc();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private: /* part3<74><33>˽<EFBFBD>г<EFBFBD>Ա<EFBFBD><D4B1><EFBFBD><EFBFBD> */
|
|
|
|
|
|
|
|
|
|
// 3.1 <20><><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD>ڵ<EFBFBD>ǰͼ<C7B0><CDBC><EFBFBD><EFBFBD>ʾ״̬ <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>꣨ͼ<EAA3A8><CDBC>ij<EFBFBD><C4B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>꣩,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD>Ŀͻ<C4BF><CDBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
// <20><><EFBFBD><EFBFBD>:
|
|
|
|
|
// 1: PixelCoordinate: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
// <20><><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀͻ<C4BF><CDBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>꣬<EFBFBD><EAA3AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>δ<EFBFBD><CEB4>ʾʱ<CABE><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Чֵ<D0A7><D6B5>-100<30><30>-100<30><30>
|
|
|
|
|
CPoint GetScreenCoordinateBasedOnPixelCoordinate(const POINT &PixelCoordinate);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 3.2 <20><><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ļ<EFBFBD><C4BB><EFBFBD>꣬<EFBFBD><EAA3AC><EFBFBD><EFBFBD>Ļ<EFBFBD>л<EFBFBD><D0BB>Ʊ<EFBFBD><C6B1><EFBFBD>, (<28><><EFBFBD><EFBFBD>)ͬʱ<CDAC><CAB1><EFBFBD><EFBFBD><EFBFBD>ϴλ<CFB4><CEBB>Ƶı<C6B5><C4B1><EFBFBD>
|
|
|
|
|
// <20><><EFBFBD><EFBFBD>:
|
|
|
|
|
// 1: screenCoordinate: <20><>Ļ<EFBFBD><C4BB><EFBFBD><EFBFBD>
|
|
|
|
|
// <20><><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>
|
|
|
|
|
void DrawSquareOnScreen(const POINT &screenCoordinate, BOOL bErase = TRUE);
|
|
|
|
|
|
|
|
|
|
// 3.3 <20><><EFBFBD>ܣ<EFBFBD> <20><><EFBFBD>Ŵ<EFBFBD>ͼ<EFBFBD><CDBC>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD><EFBFBD>µ<EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE>
|
|
|
|
|
// <20><><EFBFBD>룺
|
|
|
|
|
// 1: bIn : <20><>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>λ<EFBFBD><CEBB><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD>ϣ<EFBFBD><CFA3><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD>ΪTRUE<55><45><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD>ΪFALSE
|
|
|
|
|
// 2: pixelCoordinate : <20><>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>λ<EFBFBD>ö<EFBFBD>Ӧ<EFBFBD><D3A6>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
|
|
|
|
|
//CRect GetNewRegionWhenZoomIn();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 3.4 <20><><EFBFBD>ܣ<EFBFBD> <20><><EFBFBD>Ŵ<EFBFBD><C5B4><EFBFBD>Сʱ<D0A1><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD><EFBFBD>µ<EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE>
|
|
|
|
|
//
|
|
|
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
|
|
|
|
|
//CRect GetNewRegionWhenZoomOut();
|
|
|
|
|
|
|
|
|
|
CRect GetNewRegionWhenZoom(bool in);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 3.5 <20><><EFBFBD>ܣ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD><EFBFBD>µ<EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE>
|
|
|
|
|
// <20><><EFBFBD>룺
|
|
|
|
|
// 1: deltaX : x<><78><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƫ<EFBFBD><C6AB><EFBFBD><EFBFBD>
|
|
|
|
|
// 2: deltaY : y<><79><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƫ<EFBFBD><C6AB><EFBFBD><EFBFBD>
|
|
|
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
|
|
|
|
|
CRect GetNewRegionWhenRoamImg(int deltaX, int deltaY);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 3.6 <20><><EFBFBD>ܣ<EFBFBD> ִ<><D6B4>ͼ<EFBFBD><CDBC><EFBFBD>Ŵ<EFBFBD><C5B4><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
// <20><><EFBFBD>룺
|
|
|
|
|
// 1: point: <20><>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD><EFBFBD>꣨<EFBFBD><EAA3A8>Ļ<EFBFBD><C4BB><EFBFBD>꣩
|
|
|
|
|
void DoZoomInImg();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 3.7 <20><><EFBFBD>ܣ<EFBFBD> ִ<><D6B4>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD>С<EFBFBD><D0A1><EFBFBD><EFBFBD>
|
|
|
|
|
void DoZoomOutImg();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 3.8 <20><><EFBFBD>ܣ<EFBFBD> ִ<><D6B4>ͼ<EFBFBD><CDBC>ȫ<EFBFBD><C8AB><EFBFBD><EFBFBD>ȫ<EFBFBD><C8AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
void DoZoomFitImg();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 3.9 <20><><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ļ<EFBFBD>е<EFBFBD><D0B5><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
|
|
|
|
|
// <20><><EFBFBD>룺ratio <20><>0 1<><31>
|
|
|
|
|
// ˵<><CBB5><EFBFBD><EFBFBD>0 <20><>С 1 ȫ<><C8AB>
|
|
|
|
|
void SetImgShowRationOnScreen(float ratio);
|
|
|
|
|
|
|
|
|
|
// 3.10 <20><><EFBFBD>ܣ<EFBFBD>m_LatestQBData <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
// <20><><EFBFBD>룺
|
|
|
|
|
// <20><><EFBFBD><EFBFBD>:
|
|
|
|
|
// ˵<><CBB5><EFBFBD><EFBFBD>ֻ<EFBFBD>е<EFBFBD>m_LatestQBDataͼ<61><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Чʱ<D0A7><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
void PushLatestQBData2Deque();
|
|
|
|
|
|
|
|
|
|
// 3.11 <20><><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ļ4<C4BB><34><EFBFBD><EFBFBD><EFBFBD>꣬<EFBFBD><EAA3AC><EFBFBD><EFBFBD>Ļ<EFBFBD>л<EFBFBD><D0BB><EFBFBD><EFBFBD>ı<EFBFBD><C4B1><EFBFBD>, (<28><><EFBFBD><EFBFBD>)ͬʱ<CDAC><CAB1><EFBFBD><EFBFBD><EFBFBD>ϴλ<CFB4><CEBB><EFBFBD>
|
|
|
|
|
// <20><><EFBFBD><EFBFBD>:
|
|
|
|
|
// 1: screenCoordinate: <20><>Ļ<EFBFBD><C4BB><EFBFBD><EFBFBD>
|
|
|
|
|
// <20><><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>
|
|
|
|
|
void DrawQuadrangleOnScreen(const POINT screenCoordinate[4], BOOL bErase = TRUE);
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>γ<EFBFBD><CEB3> λ<><CEBB><EFBFBD><EFBFBD>Ϣ
|
|
|
|
|
// <20><><EFBFBD><EFBFBD>:
|
|
|
|
|
// 1: imgData: ͼ<><CDBC><EFBFBD>ṹ<EFBFBD><E1B9B9>
|
|
|
|
|
// 2: pt: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
// 3. Lon: <20><><EFBFBD><EFBFBD>
|
|
|
|
|
// 4. Lat: γ<><CEB3>
|
|
|
|
|
// 5. H: <20>߶<EFBFBD>
|
|
|
|
|
// <20><><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>
|
|
|
|
|
void TagLocationOnImgStru(ImgStru &imgData, cv::Point pt, double Lon, double Lat, double H);
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>γ<EFBFBD><CEB3> λ<><CEBB><EFBFBD><EFBFBD>Ϣ
|
|
|
|
|
// <20><><EFBFBD><EFBFBD>:
|
|
|
|
|
// 1: qb: <20>鱨<EFBFBD>ṹ<EFBFBD><E1B9B9>
|
|
|
|
|
// 2: pt: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
// 3. Lon: <20><><EFBFBD><EFBFBD>
|
|
|
|
|
// 4. Lat: γ<><CEB3>
|
|
|
|
|
// 5. H: <20>߶<EFBFBD>
|
|
|
|
|
// <20><><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>
|
|
|
|
|
void TagLocationOnQBData(QBStru &qb, cv::Point pt, double Lon, double Lat, double H);
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>γ<EFBFBD><CEB3> λ<><CEBB><EFBFBD><EFBFBD>Ϣ
|
|
|
|
|
// <20><><EFBFBD><EFBFBD>:
|
|
|
|
|
// 1: img: <20>鱨<EFBFBD>ṹ<EFBFBD><E1B9B9>
|
|
|
|
|
// 2: pt: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
// 3. Lon: <20><><EFBFBD><EFBFBD>
|
|
|
|
|
// 4. Lat: γ<><CEB3>
|
|
|
|
|
// 5. H: <20>߶<EFBFBD>
|
|
|
|
|
// <20><><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>
|
|
|
|
|
void TagLocationOnMatImg(cv::Mat &img, cv::Point pt, double Lon, double Lat, double H);
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>Ϣ
|
|
|
|
|
// <20><><EFBFBD><EFBFBD>:
|
|
|
|
|
// 1: qb: <20>鱨<EFBFBD>ṹ<EFBFBD><E1B9B9>
|
|
|
|
|
// 2: pt: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
// 3. text: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|
|
|
|
// <20><><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>
|
|
|
|
|
void TagTextOnQBData(QBStru &qb, cv::Point pt, CString text);
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>Ϣ
|
|
|
|
|
// <20><><EFBFBD><EFBFBD>:
|
|
|
|
|
// 1: imgData: ͼ<><CDBC><EFBFBD>ṹ<EFBFBD><E1B9B9>
|
|
|
|
|
// 2: pt: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
// 3. text: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|
|
|
|
// <20><><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>
|
|
|
|
|
void TagTextOnImgStru(ImgStru &imgData, cv::Point pt, CString text);
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>Ϣ
|
|
|
|
|
// <20><><EFBFBD><EFBFBD>:
|
|
|
|
|
// 1: img: <20>鱨<EFBFBD>ṹ<EFBFBD><E1B9B9>
|
|
|
|
|
// 2: pt: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
// 3. text: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|
|
|
|
// <20><><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>
|
|
|
|
|
void TagTextOnMatImg(cv::Mat &img, cv::Point pt, CString text);
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD>б<EFBFBD><D0B1><EFBFBD> <20><><EFBFBD><EFBFBD>У<EFBFBD><D0A3> <20><>Ϣ
|
|
|
|
|
// <20><><EFBFBD><EFBFBD>:
|
|
|
|
|
// 1: img: ͼ<><CDBC>
|
|
|
|
|
// 2: pt1: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
|
|
|
|
// 3: pt2: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>յ<EFBFBD>
|
|
|
|
|
// 4. LLA1: <20><><EFBFBD>㾭γ<E3BEAD><CEB3>
|
|
|
|
|
// 5. LLA2: <20>յ㾭γ<E3BEAD><CEB3>
|
|
|
|
|
// <20><><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>
|
|
|
|
|
void TagInfoReviseShotOnMatImg(cv::Mat &img, cv::Point pt1, cv::Point pt2, double *LLA1, double *LLA2);
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD>б<EFBFBD><D0B1><EFBFBD> <20><><EFBFBD><EFBFBD>У<EFBFBD><D0A3> <20><>Ϣ
|
|
|
|
|
// <20><><EFBFBD><EFBFBD>:
|
|
|
|
|
// 1: imgData: ͼ<><CDBC><EFBFBD>ṹ<EFBFBD><E1B9B9>
|
|
|
|
|
// 2: pt1: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
|
|
|
|
// 3: pt2: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>յ<EFBFBD>
|
|
|
|
|
// 4. LLA1: <20><><EFBFBD>㾭γ<E3BEAD><CEB3>
|
|
|
|
|
// 5. LLA2: <20>յ㾭γ<E3BEAD><CEB3>
|
|
|
|
|
// <20><><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>
|
|
|
|
|
void TagInfoReviseShotOnImgStru(ImgStru &imgData, cv::Point pt1, cv::Point pt2, double *LLA1, double *LLA2);
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD>б<EFBFBD><D0B1><EFBFBD> <20><><EFBFBD><EFBFBD>У<EFBFBD><D0A3> <20><>Ϣ
|
|
|
|
|
// <20><><EFBFBD><EFBFBD>:
|
|
|
|
|
// 1: imgData: ͼ<><CDBC><EFBFBD>ṹ<EFBFBD><E1B9B9>
|
|
|
|
|
// 2: pt1: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
|
|
|
|
// 3: pt2: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>յ<EFBFBD>
|
|
|
|
|
// 4. LLA1: <20><><EFBFBD>㾭γ<E3BEAD><CEB3>
|
|
|
|
|
// 5. LLA2: <20>յ㾭γ<E3BEAD><CEB3>
|
|
|
|
|
// <20><><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>
|
|
|
|
|
void TagInfoReviseShotOnQBData(QBStru &qbData, cv::Point pt1, cv::Point pt2, double *LLA1, double *LLA2);
|
|
|
|
|
|
|
|
|
|
public:
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD>ܣ<EFBFBD>ͨ<EFBFBD><CDA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҽ<EFBFBD><D2BC><EFBFBD><EFBFBD><EFBFBD>һ֡ͼ<D6A1>ӿ<F1A3ACBD><D3BF><EFBFBD>ģ<EFBFBD>麯<EFBFBD><E9BAAF><EFBFBD><EFBFBD>ShowImage <20>ӿ<EFBFBD><D3BF><EFBFBD>ȫһ<C8AB><D2BB>
|
|
|
|
|
void LoadOneImgFromMenu(const BITMAPINFO* pImgInfo,
|
|
|
|
|
BYTE* pImgData,
|
|
|
|
|
GeoBoundingBox LBbox = GeoBoundingBox(),
|
|
|
|
|
BOOL isNeedFlip = FALSE,
|
|
|
|
|
BOOL isNeedClip = FALSE,
|
|
|
|
|
const CRect* pShowRegion = NULL,
|
|
|
|
|
float Strecth_Ratio = 1.0F,
|
|
|
|
|
POINT xyShift = POINT());
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private: /* part4<74><34>˽<EFBFBD>г<EFBFBD>Ա<EFBFBD><D4B1><EFBFBD><EFBFBD> */
|
|
|
|
|
|
|
|
|
|
// <20><>ǰ<EFBFBD>鱨<EFBFBD><E9B1A8><EFBFBD>ݽṹ<DDBD><E1B9B9>
|
|
|
|
|
QBStru m_LatestQBData;
|
|
|
|
|
|
|
|
|
|
// <20>м<EFBFBD><D0BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC>ȥ<EFBFBD><C8A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1>Աȶȡ<C8B6><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȵ<EFBFBD><C8B5>ڵ<EFBFBD><DAB5>м<EFBFBD><D0BC><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
ImgStru m_midImg;
|
|
|
|
|
|
|
|
|
|
// <20>ص<EFBFBD><D8B5><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>·<EFBFBD><C2B7>
|
|
|
|
|
SendFilePath m_lpSendFilePath;
|
|
|
|
|
|
|
|
|
|
// <20>ص<EFBFBD><D8B5><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
SendCoordinateProc m_lpSendCoordinate;
|
|
|
|
|
|
|
|
|
|
// <20>ص<EFBFBD><D8B5><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|
|
|
|
SendPixInfoProc m_lpSendPixInfoProc;
|
|
|
|
|
|
|
|
|
|
// <20>ص<EFBFBD><D8B5><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD> <20><>γ<EFBFBD><CEB3>
|
|
|
|
|
SendTgrLocLeadLonLatProc m_lpSendTgrLocLeadLonLat;
|
|
|
|
|
|
|
|
|
|
// <20>ص<EFBFBD><D8B5><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>У<EFBFBD><D0A3><EFBFBD><EFBFBD>Ϣ
|
|
|
|
|
SendArtilleryReviseInfoProc m_lpSendArtilleryReviseInfo;
|
|
|
|
|
|
|
|
|
|
// 4.1 <20><><EFBFBD><EFBFBD><EFBFBD>ƶ<EFBFBD>ʱ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>㵱ǰ<E3B5B1><C7B0><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>γ<EFBFBD><CEB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD> RGBֵ
|
|
|
|
|
cv::Point2i m_imgPixel_XY_Coordinate;
|
|
|
|
|
cv::Point3d m_imgPixel_LBH_Coordinate;
|
|
|
|
|
|
|
|
|
|
// 4.2 <20><>ǰ<EFBFBD><C7B0>ʾ<EFBFBD><CABE>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD><EFBFBD>أ<EFBFBD>
|
|
|
|
|
CRect m_ShowRegion;
|
|
|
|
|
|
|
|
|
|
// 4.3 <20><>ǰ<EFBFBD><C7B0>ʾ<EFBFBD><CABE>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>dialog<6F><67>ռ<EFBFBD>еĿռ䣨<D5BC><E4A3A8>λ<EFBFBD><CEBB><EFBFBD><EFBFBD><EFBFBD>أ<EFBFBD>
|
|
|
|
|
// ע<><D7A2>ÿ<EFBFBD><C3BF><EFBFBD><EFBFBD>ʾͼ<CABE><CDBC>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>
|
|
|
|
|
CRect m_ShowRegionOnScreen;
|
|
|
|
|
|
|
|
|
|
// 4.4 ͼ<><CDBC><EFBFBD>ؼ<EFBFBD><D8BC><EFBFBD>
|
|
|
|
|
int m_PicCtrlWidth;
|
|
|
|
|
|
|
|
|
|
// 4.5 ͼ<><CDBC><EFBFBD>ؼ<EFBFBD><D8BC><EFBFBD>
|
|
|
|
|
int m_PicCtrlHeight;
|
|
|
|
|
|
|
|
|
|
// 4.6 ͼ<><CDBC>ִ<EFBFBD>зŴ<D0B7><C5B4><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD><D0A1><EFBFBD><EFBFBD><EFBFBD>β<EFBFBD><CEB2><EFBFBD><EFBFBD>У<EFBFBD><D0A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
CPoint m_LButtonDownPixelCoordinate;
|
|
|
|
|
|
|
|
|
|
// 4.7 <20><>ǰ<EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
BOOL m_bStaisfyRoamImg;
|
|
|
|
|
|
|
|
|
|
// 4.8 <20><><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD><EFBFBD>滭<EFBFBD><E6BBAD><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD><EFBFBD>棩
|
|
|
|
|
CRect m_LatestPlotRect;
|
|
|
|
|
|
|
|
|
|
// 4.9 <20><>ǰͼ<C7B0><CDBC>˫<EFBFBD><CBAB>ʱ<EFBFBD>ģ<EFBFBD><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>꣬<EFBFBD><EAA3AC>ЧʱΪ<CAB1><CEAA>-1<><31>-1<><31>
|
|
|
|
|
CPoint m_LButtonDblClkPixelCoordinate;
|
|
|
|
|
|
|
|
|
|
// 4.10 <20>Ƿ<EFBFBD><C7B7><EFBFBD>OnPaint<6E>л<EFBFBD><D0BB>Ʊ<EFBFBD><C6B1><EFBFBD><EFBFBD>ı<EFBFBD>־λ
|
|
|
|
|
BOOL m_bPlotRectOnPaint;
|
|
|
|
|
|
|
|
|
|
// 4.11 <20><><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
|
|
|
|
POINT m_NorthDirectionCenter;
|
|
|
|
|
|
|
|
|
|
// 4.12 <20>Ƿ<EFBFBD><C7B7><EFBFBD>OnPaint<6E>л<EFBFBD><D0BB><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD>־λ
|
|
|
|
|
BOOL m_bPlotDirectionOnPaint;
|
|
|
|
|
|
|
|
|
|
// 4.13 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
POINT m_LeftButtonDown;
|
|
|
|
|
|
|
|
|
|
// 4.15 <20><>ǰ<EFBFBD><C7B0>ʾ<EFBFBD><CABE>ͼ<EFBFBD><CDBC>
|
|
|
|
|
IplImage* m_SrcFrame;
|
|
|
|
|
|
|
|
|
|
// 4.16 ͼ<><CDBC><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
float m_ImgRatioOnScreen;
|
|
|
|
|
|
|
|
|
|
// 4.17 ͼ<><CDBC><EFBFBD><EFBFBD>ʾ ƫ<><C6AB><EFBFBD><EFBFBD>
|
|
|
|
|
POINT m_ImgShowShift;
|
|
|
|
|
|
|
|
|
|
// 4.18 1·<31><C2B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־λ
|
|
|
|
|
BOOL m_bFirstSignal;
|
|
|
|
|
|
|
|
|
|
// 4.19 2·<32><C2B7><EFBFBD><EFBFBD>
|
|
|
|
|
BOOL m_bSecondSignal;
|
|
|
|
|
|
|
|
|
|
// 4.20 ͼ<><CDBC>ȥ<EFBFBD><C8A5> <20><><EFBFBD>ȵ<EFBFBD><C8B5><EFBFBD> <20>Աȶȵ<C8B6><C8B5><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ȵ<EFBFBD><C8B5><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĸ<EFBFBD>
|
|
|
|
|
int m_iLatest;
|
|
|
|
|
|
|
|
|
|
// 4.21 ͼ<><CDBC>ȥ<EFBFBD><C8A5> <20><><EFBFBD>ȵ<EFBFBD><C8B5><EFBFBD> <20>Աȶȵ<C8B6><C8B5><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ȵ<EFBFBD><C8B5><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĸ<EFBFBD> ǰһ<C7B0><D2BB>
|
|
|
|
|
int m_iPreLatest;
|
|
|
|
|
|
|
|
|
|
// 4.22 <20><><EFBFBD>ݴ洢Ŀ¼<C4BF><C2BC><EFBFBD><EFBFBD>Ŀ¼<C4BF><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>鱨<EFBFBD><E9B1A8><EFBFBD>ݡ<EFBFBD>
|
|
|
|
|
CString m_sRootFolder;
|
|
|
|
|
|
|
|
|
|
// 4.23 <20><><EFBFBD>ݴ洢Ŀ¼<C4BF><C2BC>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>Ŀ¼<C4BF><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD>
|
|
|
|
|
CString m_sImgSaveFolder;
|
|
|
|
|
|
|
|
|
|
// 4.24 <20>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD>С<EFBFBD><D0A1>ʾ<EFBFBD><CABE>ƫ<EFBFBD>Ƶ<EFBFBD><C6B5><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
BOOL m_bSatisfyMove;
|
|
|
|
|
|
|
|
|
|
// 4.25 <20>鱨<EFBFBD><E9B1A8><EFBFBD><EFBFBD> <20>洢֮ǰ<D6AE><C7B0>N֡<4E>鱨<EFBFBD><E9B1A8><EFBFBD><EFBFBD>
|
|
|
|
|
deque<QBStru> m_QBDataDeque;
|
|
|
|
|
|
|
|
|
|
// 4.33 <20>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD>ڶ<EFBFBD>֡ͼ<D6A1><CDBC><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2>־λ
|
|
|
|
|
BOOL m_bMemPreMultiFrame;
|
|
|
|
|
|
|
|
|
|
// 4.34 ͼ<><CDBC>ƴ<EFBFBD><C6B4>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD>ı<EFBFBD><C4B1>ε<EFBFBD><CEB5>ĸ<EFBFBD><C4B8>ǵ<EFBFBD>
|
|
|
|
|
CRect m_LatestQuadrangle; // <20><>Ļ<EFBFBD><C4BB><EFBFBD><EFBFBD>
|
|
|
|
|
POINT m_corners[4]; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
// 4.35 <20><>¼ͼ<C2BC><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ <20><>ǰ<EFBFBD><C7B0>ʾ<EFBFBD><CABE>ͼ<EFBFBD><CDBC> <20><><EFBFBD><EFBFBD>
|
|
|
|
|
int m_currentImgOrder;
|
|
|
|
|
|
|
|
|
|
// 4.36 <20>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD>ƾ<EFBFBD><C6BE>ο<EFBFBD><CEBF>ı<EFBFBD>־λ <20><><EFBFBD><EFBFBD>
|
|
|
|
|
bool m_bPlotRect;
|
|
|
|
|
|
|
|
|
|
// <20><>γ<EFBFBD>Ⱥ<EFBFBD><C8BA><EFBFBD> <20><>tiffͼ<66><CDBC><EFBFBD><EFBFBD>
|
|
|
|
|
GeoBoundingBox m_boundbingBox;
|
|
|
|
|
|
|
|
|
|
// ͼ<><CDBC><EFBFBD>༭<EFBFBD><E0BCAD><EFBFBD><EFBFBD>
|
|
|
|
|
int m_iImgEditType;
|
|
|
|
|
|
|
|
|
|
bool m_bHaveOnPt; // <20>Ƿ<EFBFBD><C7B7>Ѿ<EFBFBD><D1BE><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>
|
|
|
|
|
cv::Point m_beginPixPt; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
cv::Point m_endPixPt; // <20><><EFBFBD><EFBFBD><EFBFBD>յ<EFBFBD>
|
|
|
|
|
double m_beginLLA[3]; // <20><><EFBFBD>㾭γ<E3BEAD><CEB3>
|
|
|
|
|
double m_endLLA[3]; // <20>յ㾭γ<E3BEAD><CEB3>
|
|
|
|
|
|
|
|
|
|
bool m_bEnhanceEdit; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǿ<EFBFBD><C7BF><EFBFBD>DZ༭<C7B1><E0BCAD>true<75><65>ǿ / false<73>༭
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD>ٲ<EFBFBD><D9B2><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD>Ի<EFBFBD><D4BB><EFBFBD>
|
|
|
|
|
CFastLookUpDlg *m_pFastLookUpDlg;
|
|
|
|
|
|
|
|
|
|
CPoint m_RButtonPt; // <20>Ҽ<EFBFBD><D2BC><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>ڶ<EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
CString m_sSaveCurrentImgFolder; // <20><><EFBFBD>浱ǰͼ<C7B0><CDBC><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>
|
|
|
|
|
CString m_sSavePreMultiImgFolder; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֡ͼ<D6A1><CDBC><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>
|
|
|
|
|
|
|
|
|
|
// ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>
|
|
|
|
|
cv::Point m_TargetCenter;
|
|
|
|
|
|
|
|
|
|
// ͼ<><CDBC>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
BOOL m_bDrawSquareOnImg;
|
|
|
|
|
|
|
|
|
|
// <20><>γ<EFBFBD><CEB3>Уƫ<D7BC><C6AB><EFBFBD><EFBFBD>
|
|
|
|
|
double m_deltaLon;
|
|
|
|
|
double m_deltaLat;
|
|
|
|
|
|
|
|
|
|
// <20>Ƿ<EFBFBD><C7B7>ر<EFBFBD><D8B1>Ҽ<EFBFBD><D2BC><EFBFBD>ť<EFBFBD>˵<EFBFBD>
|
|
|
|
|
bool m_bCloseRughtBtnMenu;
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
CString m_sThemeText;
|
|
|
|
|
|
|
|
|
|
// Ŀ<><C4BF>ץȡ<D7A5><C8A1><EFBFBD><EFBFBD>
|
|
|
|
|
bool m_bGetTgtImgOn;
|
|
|
|
|
|
|
|
|
|
// ͼ<><CDBC><EFBFBD>ü<EFBFBD><C3BC><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
bool m_bClipImgOn;
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
CPoint m_clipImgFirstPt;
|
|
|
|
|
CPoint m_clipImgSecondPt;
|
|
|
|
|
// <20><>Ļ<EFBFBD><C4BB><EFBFBD><EFBFBD>
|
|
|
|
|
CPoint m_clipImgFirstPtScreen;
|
|
|
|
|
CPoint m_clipImgSecondPtScreen;
|
|
|
|
|
bool m_haveValidFirstPt;
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
HANDLE m_hMutex_ProcessData;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public:
|
|
|
|
|
CString m_GDALLoadImgPath; // GDALj<4C><6A><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC>·<EFBFBD><C2B7>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
DECLARE_MESSAGE_MAP()
|
|
|
|
|
public:
|
|
|
|
|
afx_msg BOOL OnEraseBkgnd(CDC* pDC);
|
|
|
|
|
afx_msg void OnPaint();
|
|
|
|
|
afx_msg void OnRButtonDown(UINT nFlags, CPoint point);
|
|
|
|
|
afx_msg void OnZoomInImg();
|
|
|
|
|
afx_msg void OnZoomOutImg();
|
|
|
|
|
afx_msg void OnZoomFitImg();
|
|
|
|
|
afx_msg void OnConcelTargetPlot();
|
|
|
|
|
afx_msg void OnSaveCurrentFrame();
|
|
|
|
|
afx_msg void OnLButtonDown(UINT nFlags, CPoint point);
|
|
|
|
|
afx_msg void OnLButtonDblClk(UINT nFlags, CPoint point);
|
|
|
|
|
afx_msg void OnMouseMove(UINT nFlags, CPoint point);
|
|
|
|
|
afx_msg BOOL OnMouseWheel(UINT nFlags, short zDelta, CPoint pt);
|
|
|
|
|
virtual BOOL OnInitDialog();
|
|
|
|
|
afx_msg void OnClearMemory();
|
|
|
|
|
afx_msg void OnSaveImgToTiff();
|
|
|
|
|
afx_msg void OnTagText();
|
|
|
|
|
afx_msg void OnReviseShot();
|
|
|
|
|
afx_msg void OnTagTgtLocation();
|
|
|
|
|
afx_msg void OnReturnToPreTag();
|
|
|
|
|
afx_msg void OnFastLookupImgs();
|
|
|
|
|
afx_msg void OnTgtLocLead();
|
|
|
|
|
afx_msg void OnGeoCorrectAndShow();
|
|
|
|
|
afx_msg void OnDrawSqureOnImg();
|
|
|
|
|
afx_msg void OnOpenOneImg();
|
|
|
|
|
afx_msg void OnTgtloccalibrate();
|
|
|
|
|
afx_msg void OnViewDeltaLonLat();
|
|
|
|
|
afx_msg void OnGetTargetImg();
|
|
|
|
|
afx_msg void OnClipImg();
|
|
|
|
|
};
|