You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

664 lines
17 KiB
C

2 years ago
#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><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><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 &center, 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 &center);
// 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><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();
};