initial
This commit is contained in:
60
fast/DrawImage.h
Normal file
60
fast/DrawImage.h
Normal file
@@ -0,0 +1,60 @@
|
||||
#pragma once
|
||||
|
||||
class CDrawImg
|
||||
{
|
||||
public:
|
||||
CDrawImg(HWND wnd)
|
||||
{
|
||||
m_hbrush = CreateSolidBrush(RGB(0, 0, 0));
|
||||
pBmpInfo = (BITMAPINFO *)chBmpBuf;
|
||||
pBmpInfo->bmiHeader.biSize = sizeof(BITMAPINFOHEADER);
|
||||
pBmpInfo->bmiHeader.biPlanes = 1;
|
||||
pBmpInfo->bmiHeader.biCompression = BI_RGB;
|
||||
for (int i = 0; i < 256; i++)
|
||||
{
|
||||
pBmpInfo->bmiColors[i].rgbBlue = i;
|
||||
pBmpInfo->bmiColors[i].rgbGreen = i;
|
||||
pBmpInfo->bmiColors[i].rgbRed = i;
|
||||
pBmpInfo->bmiColors[i].rgbReserved = i;
|
||||
}
|
||||
GetClientRect(wnd, wrect);
|
||||
hdc = GetDC(wnd);
|
||||
}
|
||||
void Draw(int width, int height, int channels, uchar* data)
|
||||
{
|
||||
pBmpInfo->bmiHeader.biWidth = width;
|
||||
pBmpInfo->bmiHeader.biHeight = height;
|
||||
pBmpInfo->bmiHeader.biBitCount = 8 * channels;
|
||||
|
||||
FillRect(hdc, wrect, m_hbrush);
|
||||
int DesX = 0;
|
||||
int DesY = wrect.Height();
|
||||
int DesWidth = wrect.Width();
|
||||
int DesHeight = wrect.Height();
|
||||
double ratio = width / (double)height;
|
||||
int WidthRequest = ratio * wrect.Height();
|
||||
int HeightRequest = wrect.Width() / ratio;
|
||||
if (wrect.Width() < WidthRequest)
|
||||
{
|
||||
DesHeight = DesWidth / ratio;
|
||||
DesY = (wrect.Height() - DesHeight) / 2 + DesHeight;
|
||||
}
|
||||
else if (wrect.Height() < HeightRequest)
|
||||
{
|
||||
DesWidth = DesHeight * ratio;
|
||||
DesX = (wrect.Width() - DesWidth) / 2;
|
||||
}
|
||||
::SetStretchBltMode(hdc, COLORONCOLOR);
|
||||
::StretchDIBits(hdc,
|
||||
DesX, DesY, DesWidth, -DesHeight,
|
||||
0, 0, width, height,
|
||||
data, pBmpInfo,
|
||||
DIB_RGB_COLORS, SRCCOPY);
|
||||
}
|
||||
private:
|
||||
char chBmpBuf[2048];
|
||||
BITMAPINFO *pBmpInfo;
|
||||
CRect wrect;
|
||||
HDC hdc;
|
||||
HBRUSH m_hbrush;
|
||||
};
|
||||
@@ -33,7 +33,7 @@ CFastApp::CFastApp()
|
||||
// TODO: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD>ó<EFBFBD><C3B3><EFBFBD> ID <20>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD>滻ΪΨһ<CEA8><D2BB> ID <20>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD>ʽ
|
||||
//Ϊ CompanyName.ProductName.SubProduct.VersionInformation
|
||||
SetAppID(_T("MFCApplication6.AppID.NoVersion"));
|
||||
|
||||
m_bCalibrator = FALSE;
|
||||
// TODO: <20>ڴ˴<DAB4><CBB4><EFBFBD><EFBFBD>ӹ<EFBFBD><D3B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>룬
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD>ij<EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> InitInstance <20><>
|
||||
}
|
||||
@@ -41,7 +41,6 @@ CFastApp::CFastApp()
|
||||
// Ψһ<CEA8><D2BB>һ<EFBFBD><D2BB> CMFCApplication6App <20><><EFBFBD><EFBFBD>
|
||||
|
||||
CFastApp theApp;
|
||||
CPlayAPI g_PlayAPI;
|
||||
|
||||
|
||||
// CMFCApplication6App <20><>ʼ<EFBFBD><CABC>
|
||||
@@ -64,7 +63,6 @@ BOOL CFastApp::InitInstance()
|
||||
m_strModulePath = path;
|
||||
|
||||
|
||||
g_PlayAPI.LoadPlayDll();
|
||||
|
||||
// <20><>ʼ<EFBFBD><CABC> OLE <20><>
|
||||
if (!AfxOleInit())
|
||||
|
||||
@@ -9,6 +9,7 @@
|
||||
|
||||
#include "resource.h" // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
#include "PlayApi.h"
|
||||
#include "PtzScreen.h"
|
||||
|
||||
// CMFCApplication6App:
|
||||
// <20>йش<D0B9><D8B4><EFBFBD><EFBFBD><EFBFBD>ʵ<EFBFBD>֣<EFBFBD><D6A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> MFCApplication6.cpp
|
||||
@@ -20,7 +21,9 @@ public:
|
||||
CFastApp();
|
||||
|
||||
public:
|
||||
CString m_strModulePath;
|
||||
CString m_strModulePath;
|
||||
BOOL m_bCalibrator;
|
||||
|
||||
|
||||
// <20><>д
|
||||
public:
|
||||
@@ -33,4 +36,3 @@ public:
|
||||
};
|
||||
|
||||
extern CFastApp theApp;
|
||||
extern CPlayAPI g_PlayAPI;
|
||||
|
||||
189
fast/Fast.rc
189
fast/Fast.rc
@@ -1,11 +1,11 @@
|
||||
//Microsoft Visual C++ <EFBFBD><EFBFBD><EFBFBD>ɵ<EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD>ű<EFBFBD><EFBFBD><EFBFBD>
|
||||
// Microsoft Visual C++ generated resource script.
|
||||
//
|
||||
#include "resource.h"
|
||||
|
||||
#define APSTUDIO_READONLY_SYMBOLS
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// <EFBFBD><EFBFBD> TEXTINCLUDE 2 <EFBFBD><EFBFBD>Դ<EFBFBD><EFBFBD><EFBFBD>ɡ<EFBFBD>
|
||||
// Generated from the TEXTINCLUDE 2 resource.
|
||||
//
|
||||
#ifndef APSTUDIO_INVOKED
|
||||
#include "targetver.h"
|
||||
@@ -16,19 +16,25 @@
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
#undef APSTUDIO_READONLY_SYMBOLS
|
||||
|
||||
#ifdef APSTUDIO_INVOKED
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// <20><><EFBFBD><EFBFBD>(<28><><EFBFBD>壬<EFBFBD>й<EFBFBD>) resources
|
||||
|
||||
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_CHS)
|
||||
LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED
|
||||
#pragma code_page(936)
|
||||
|
||||
#ifdef APSTUDIO_INVOKED
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// TEXTINCLUDE
|
||||
//
|
||||
|
||||
1 TEXTINCLUDE
|
||||
1 TEXTINCLUDE
|
||||
BEGIN
|
||||
"resource.h\0"
|
||||
END
|
||||
|
||||
2 TEXTINCLUDE
|
||||
2 TEXTINCLUDE
|
||||
BEGIN
|
||||
"#ifndef APSTUDIO_INVOKED\r\n"
|
||||
"#include ""targetver.h""\r\n"
|
||||
@@ -38,7 +44,7 @@ BEGIN
|
||||
"\0"
|
||||
END
|
||||
|
||||
3 TEXTINCLUDE
|
||||
3 TEXTINCLUDE
|
||||
BEGIN
|
||||
"#define _AFX_NO_OLE_RESOURCES\r\n"
|
||||
"#define _AFX_NO_TRACKER_RESOURCES\r\n"
|
||||
@@ -57,92 +63,87 @@ END
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// ͼ<EFBFBD><EFBFBD>
|
||||
// Icon
|
||||
//
|
||||
|
||||
// ID ֵ<><D6B5><EFBFBD>͵<EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD>棬<EFBFBD><E6A3AC>ȷ<EFBFBD><C8B7>Ӧ<EFBFBD>ó<EFBFBD><C3B3><EFBFBD>ͼ<EFBFBD><CDBC>
|
||||
// <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵͳ<EFBFBD>б<EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD>¡<EFBFBD>
|
||||
// Icon with lowest ID value placed first to ensure application icon
|
||||
// remains consistent on all systems.
|
||||
IDR_MAINFRAME ICON "res\\Fast.ico"
|
||||
|
||||
IDR_MFCApplication6TYPE ICON "res\\FastMainDoc.ico"
|
||||
|
||||
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_CHS)
|
||||
LANGUAGE 4, 2
|
||||
IDR_MAINFRAME ICON "res\\Fast.ico"
|
||||
IDR_MFCApplication6TYPE ICON "res\\FastMainDoc.ico"
|
||||
#endif
|
||||
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_CHS)
|
||||
LANGUAGE 4, 2
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// <EFBFBD>˵<EFBFBD>
|
||||
// Menu
|
||||
//
|
||||
|
||||
IDR_MAINFRAME MENU
|
||||
BEGIN
|
||||
POPUP "<22>ļ<EFBFBD>(&F)"
|
||||
BEGIN
|
||||
MENUITEM "<22>½<EFBFBD>(&N)\tCtrl+N", ID_FILE_NEW
|
||||
MENUITEM "<22><><EFBFBD><EFBFBD>(&O)...\tCtrl+O", ID_FILE_OPEN
|
||||
MENUITEM "<22><><EFBFBD><EFBFBD>(&S)\tCtrl+S", ID_FILE_SAVE
|
||||
MENUITEM "<22><><EFBFBD><EFBFBD>Ϊ(&A)...", ID_FILE_SAVE_AS
|
||||
MENUITEM "<22>½<EFBFBD>(&N)\tCtrl+N", ID_FILE_NEW
|
||||
MENUITEM "<22><><EFBFBD><EFBFBD>(&O)...\tCtrl+O", ID_FILE_OPEN
|
||||
MENUITEM "<22><><EFBFBD><EFBFBD>(&S)\tCtrl+S", ID_FILE_SAVE
|
||||
MENUITEM "<22><><EFBFBD><EFBFBD>Ϊ(&A)...", ID_FILE_SAVE_AS
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>", ID_FILE_MRU_FILE1,GRAYED
|
||||
MENUITEM "<22><><EFBFBD><EFBFBD>", ID_FISHEYE
|
||||
MENUITEM "չƽ", ID_CALIBRATOR
|
||||
MENUITEM "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>", ID_FILE_MRU_FILE1, GRAYED
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "<22>˳<EFBFBD>(&X)", ID_APP_EXIT
|
||||
MENUITEM "<22>˳<EFBFBD>(&X)", ID_APP_EXIT
|
||||
END
|
||||
POPUP "<22>༭(&E)"
|
||||
BEGIN
|
||||
MENUITEM "<22><><EFBFBD><EFBFBD>(&U)\tCtrl+Z", ID_EDIT_UNDO
|
||||
MENUITEM "<22><><EFBFBD><EFBFBD>(&U)\tCtrl+Z", ID_EDIT_UNDO
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "<22><><EFBFBD><EFBFBD>(&T)\tCtrl+X", ID_EDIT_CUT
|
||||
MENUITEM "<22><><EFBFBD><EFBFBD>(&C)\tCtrl+C", ID_EDIT_COPY
|
||||
MENUITEM "<22><><EFBFBD><EFBFBD>(&T)\tCtrl+X", ID_EDIT_CUT
|
||||
MENUITEM "<22><><EFBFBD><EFBFBD>(&C)\tCtrl+C", ID_EDIT_COPY
|
||||
MENUITEM "ճ<><D5B3>(&P)\tCtrl+V", ID_EDIT_PASTE
|
||||
END
|
||||
POPUP "<22><>ͼ(&V)"
|
||||
BEGIN
|
||||
MENUITEM "״̬<D7B4><CCAC>(&S)", ID_VIEW_STATUS_BAR
|
||||
MENUITEM "״̬<D7B4><CCAC>(&S)", ID_VIEW_STATUS_BAR
|
||||
END
|
||||
POPUP "<22><><EFBFBD><EFBFBD>(&H)"
|
||||
BEGIN
|
||||
MENUITEM "<22><><EFBFBD><EFBFBD> FastApp(&A)...", ID_APP_ABOUT
|
||||
MENUITEM "<22><><EFBFBD><EFBFBD> FastApp(&A)...", ID_APP_ABOUT
|
||||
END
|
||||
END
|
||||
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
// Accelerator
|
||||
//
|
||||
|
||||
IDR_MAINFRAME ACCELERATORS
|
||||
BEGIN
|
||||
"N", ID_FILE_NEW, VIRTKEY,CONTROL
|
||||
"O", ID_FILE_OPEN, VIRTKEY,CONTROL
|
||||
"S", ID_FILE_SAVE, VIRTKEY,CONTROL
|
||||
"Z", ID_EDIT_UNDO, VIRTKEY,CONTROL
|
||||
"X", ID_EDIT_CUT, VIRTKEY,CONTROL
|
||||
"C", ID_EDIT_COPY, VIRTKEY,CONTROL
|
||||
"V", ID_EDIT_PASTE, VIRTKEY,CONTROL
|
||||
VK_BACK, ID_EDIT_UNDO, VIRTKEY,ALT
|
||||
VK_DELETE, ID_EDIT_CUT, VIRTKEY,SHIFT
|
||||
VK_INSERT, ID_EDIT_COPY, VIRTKEY,CONTROL
|
||||
VK_INSERT, ID_EDIT_PASTE, VIRTKEY,SHIFT
|
||||
VK_F6, ID_NEXT_PANE, VIRTKEY
|
||||
VK_F6, ID_PREV_PANE, VIRTKEY,SHIFT
|
||||
"N", ID_FILE_NEW, VIRTKEY, CONTROL
|
||||
"O", ID_FILE_OPEN, VIRTKEY, CONTROL
|
||||
"S", ID_FILE_SAVE, VIRTKEY, CONTROL
|
||||
"Z", ID_EDIT_UNDO, VIRTKEY, CONTROL
|
||||
"X", ID_EDIT_CUT, VIRTKEY, CONTROL
|
||||
"C", ID_EDIT_COPY, VIRTKEY, CONTROL
|
||||
"V", ID_EDIT_PASTE, VIRTKEY, CONTROL
|
||||
VK_BACK, ID_EDIT_UNDO, VIRTKEY, ALT
|
||||
VK_DELETE, ID_EDIT_CUT, VIRTKEY, SHIFT
|
||||
VK_INSERT, ID_EDIT_COPY, VIRTKEY, CONTROL
|
||||
VK_INSERT, ID_EDIT_PASTE, VIRTKEY, SHIFT
|
||||
VK_F6, ID_NEXT_PANE, VIRTKEY
|
||||
VK_F6, ID_PREV_PANE, VIRTKEY, SHIFT
|
||||
END
|
||||
|
||||
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// <EFBFBD>Ի<EFBFBD><EFBFBD><EFBFBD>
|
||||
// Dialog
|
||||
//
|
||||
|
||||
IDD_ABOUTBOX DIALOGEX 0, 0, 170, 62
|
||||
STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "<22><><EFBFBD><EFBFBD> MFCApplication6"
|
||||
FONT 9, "MS Shell Dlg"
|
||||
FONT 9, "MS Shell Dlg", 0, 0, 0x1
|
||||
BEGIN
|
||||
ICON IDR_MAINFRAME,IDC_STATIC,14,14,21,20
|
||||
LTEXT "MFCApplication6<6E><36>1.0 <20><>",IDC_STATIC,42,14,114,8,SS_NOPREFIX
|
||||
@@ -150,32 +151,31 @@ BEGIN
|
||||
DEFPUSHBUTTON "ȷ<><C8B7>",IDOK,113,41,50,14,WS_GROUP
|
||||
END
|
||||
|
||||
IDD_MFCAPPLICATION6_FORM DIALOGEX 0, 0, 320, 200
|
||||
STYLE DS_SHELLFONT | WS_CHILD
|
||||
FONT 9, "MS Shell Dlg"
|
||||
IDD_MFCAPPLICATION6_FORM DIALOGEX 0, 0, 320, 200
|
||||
STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD
|
||||
FONT 9, "MS Shell Dlg", 0, 0, 0x1
|
||||
BEGIN
|
||||
LTEXT "TODO: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ؼ<EFBFBD><D8BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ˶Ի<CBB6><D4BB><EFBFBD><EFBFBD>ϡ<EFBFBD>",IDC_STATIC,24,42,
|
||||
280,8
|
||||
LTEXT "TODO: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ؼ<EFBFBD><D8BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ˶Ի<CBB6><D4BB><EFBFBD><EFBFBD>ϡ<EFBFBD>",IDC_STATIC,24,42,280,8
|
||||
END
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// <EFBFBD>汾
|
||||
// Version
|
||||
//
|
||||
|
||||
VS_VERSION_INFO VERSIONINFO
|
||||
FILEVERSION 1,0,0,1
|
||||
PRODUCTVERSION 1,0,0,1
|
||||
FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
|
||||
VS_VERSION_INFO VERSIONINFO
|
||||
FILEVERSION 1,0,0,1
|
||||
PRODUCTVERSION 1,0,0,1
|
||||
FILEFLAGSMASK 0x3fL
|
||||
#ifdef _DEBUG
|
||||
FILEFLAGS VS_FF_DEBUG
|
||||
FILEFLAGS 0x1L
|
||||
#else
|
||||
FILEFLAGS 0x0L
|
||||
#endif
|
||||
FILEOS VOS_NT_WINDOWS32
|
||||
FILETYPE VFT_APP
|
||||
FILESUBTYPE VFT2_UNKNOWN
|
||||
FILEOS 0x40004L
|
||||
FILETYPE 0x1L
|
||||
FILESUBTYPE 0x0L
|
||||
BEGIN
|
||||
BLOCK "StringFileInfo"
|
||||
BEGIN
|
||||
@@ -183,20 +183,21 @@ BEGIN
|
||||
BEGIN
|
||||
VALUE "CompanyName", "TODO: <<3C><>˾<EFBFBD><CBBE>>"
|
||||
VALUE "FileDescription", "MFCApplication6"
|
||||
VALUE "FileVersion", "1.0.0.1"
|
||||
VALUE "InternalName", "MFCApplication6.exe"
|
||||
VALUE "FileVersion", "1.0.0.1"
|
||||
VALUE "InternalName", "MFCApplication6.exe"
|
||||
VALUE "LegalCopyright", "TODO: (C) <<3C><>˾<EFBFBD><CBBE>><3E><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȩ<EFBFBD><C8A8><EFBFBD><EFBFBD>"
|
||||
VALUE "OriginalFilename","MFCApplication6.exe"
|
||||
VALUE "OriginalFilename", "MFCApplication6.exe"
|
||||
VALUE "ProductName", "TODO: <<3C><>Ʒ<EFBFBD><C6B7>>"
|
||||
VALUE "ProductVersion", "1.0.0.1"
|
||||
VALUE "ProductVersion", "1.0.0.1"
|
||||
END
|
||||
END
|
||||
BLOCK "VarFileInfo"
|
||||
BEGIN
|
||||
VALUE "Translation", 0x0804, 1200
|
||||
VALUE "Translation", 0x804, 1200
|
||||
END
|
||||
END
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// DESIGNINFO
|
||||
@@ -212,6 +213,7 @@ BEGIN
|
||||
TOPMARGIN, 7
|
||||
BOTTOMMARGIN, 55
|
||||
END
|
||||
|
||||
IDD_MFCAPPLICATION6_FORM, DIALOG
|
||||
BEGIN
|
||||
LEFTMARGIN, 7
|
||||
@@ -222,26 +224,28 @@ BEGIN
|
||||
END
|
||||
#endif // APSTUDIO_INVOKED
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// <EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
// String Table
|
||||
//
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDP_OLE_INIT_FAILED "OLE <20><>ʼ<EFBFBD><CABC>ʧ<EFBFBD>ܡ<EFBFBD> <20><>ȷ<EFBFBD><C8B7> OLE <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȷ<EFBFBD>İ汾<C4B0><E6B1BE>"
|
||||
IDP_OLE_INIT_FAILED "OLE <20><>ʼ<EFBFBD><CABC>ʧ<EFBFBD>ܡ<EFBFBD> <20><>ȷ<EFBFBD><C8B7> OLE <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȷ<EFBFBD>İ汾<C4B0><E6B1BE>"
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
// <20><> Mac Ӧ<>ó<EFBFBD><C3B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƴ<EFBFBD><C6B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD>
|
||||
IDR_MAINFRAME "MFCApplication6\n\nMFCApplication6\n\n\nMFCApplication6.Document\nMFCApplication6.Document"
|
||||
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
AFX_IDS_APP_TITLE "MFCApplication6"
|
||||
AFX_IDS_IDLEMESSAGE "<22><><EFBFBD><EFBFBD>"
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
ID_INDICATOR_EXT "EXT"
|
||||
@@ -251,6 +255,7 @@ BEGIN
|
||||
ID_INDICATOR_OVR "OVR"
|
||||
ID_INDICATOR_REC "REC"
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
ID_FILE_NEW "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĵ<EFBFBD>\n<>½<EFBFBD>"
|
||||
@@ -258,8 +263,16 @@ BEGIN
|
||||
ID_FILE_CLOSE "<22>رջ<D5BB>ĵ<EFBFBD>\n<>ر<EFBFBD>"
|
||||
ID_FILE_SAVE "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĵ<EFBFBD>\n<><6E><EFBFBD><EFBFBD>"
|
||||
ID_FILE_SAVE_AS "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʊ<EFBFBD><C6B1><EFBFBD><EFBFBD><EFBFBD>ĵ<EFBFBD>\n<><6E><EFBFBD><EFBFBD>Ϊ"
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
ID_APP_ABOUT "<22><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD>汾<EFBFBD>źͰ<C5BA>Ȩ<EFBFBD><C8A8>Ϣ\n<><6E><EFBFBD><EFBFBD>"
|
||||
ID_APP_EXIT "<22>˳<EFBFBD>Ӧ<EFBFBD>ó<EFBFBD><C3B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD>ĵ<EFBFBD>\n<>˳<EFBFBD>"
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
ID_FILE_MRU_FILE1 "<22><EFBFBD><F2BFAAB4>ĵ<EFBFBD>"
|
||||
ID_FILE_MRU_FILE2 "<22><EFBFBD><F2BFAAB4>ĵ<EFBFBD>"
|
||||
ID_FILE_MRU_FILE3 "<22><EFBFBD><F2BFAAB4>ĵ<EFBFBD>"
|
||||
@@ -276,9 +289,21 @@ BEGIN
|
||||
ID_FILE_MRU_FILE14 "<22><EFBFBD><F2BFAAB4>ĵ<EFBFBD>"
|
||||
ID_FILE_MRU_FILE15 "<22><EFBFBD><F2BFAAB4>ĵ<EFBFBD>"
|
||||
ID_FILE_MRU_FILE16 "<22><EFBFBD><F2BFAAB4>ĵ<EFBFBD>"
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
ID_NEXT_PANE "<22>л<EFBFBD><D0BB><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\n<><6E>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>"
|
||||
ID_PREV_PANE "<22>л<EFBFBD><D0BB><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\n<><6E>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>"
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
ID_WINDOW_SPLIT "<22><><EFBFBD><EFBFBD><EEB6AF><EFBFBD>ڲ<EFBFBD><DAB2><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\n<><6E><EFBFBD><EFBFBD>"
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
ID_EDIT_CLEAR "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD>\n<><6E><EFBFBD><EFBFBD>"
|
||||
ID_EDIT_CLEAR_ALL "<22><><EFBFBD><EFBFBD>ȫ<EFBFBD><C8AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\nȫ<6E><C8AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
|
||||
ID_EDIT_COPY "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѡ<EFBFBD><D1A1><EFBFBD>ݣ<EFBFBD><DDA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\n<><6E><EFBFBD><EFBFBD>"
|
||||
@@ -290,6 +315,10 @@ BEGIN
|
||||
ID_EDIT_SELECT_ALL "ѡ<><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĵ<EFBFBD>\nȫѡ"
|
||||
ID_EDIT_UNDO "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>\n<><6E><EFBFBD><EFBFBD>"
|
||||
ID_EDIT_REDO "<22><><EFBFBD><EFBFBD><EFBFBD>ϴγ<CFB4><CEB3><EFBFBD><EFBFBD>IJ<EFBFBD><C4B2><EFBFBD>\n<><6E><EFBFBD><EFBFBD>"
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
ID_VIEW_STATUS_BAR "<22><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬<D7B4><CCAC>\n<>л<EFBFBD>״̬<D7B4><CCAC>"
|
||||
END
|
||||
|
||||
@@ -302,26 +331,34 @@ BEGIN
|
||||
AFX_IDS_SCNEXTWINDOW "<22>л<EFBFBD><D0BB><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD>ĵ<EFBFBD><C4B5><EFBFBD><EFBFBD><EFBFBD>"
|
||||
AFX_IDS_SCPREVWINDOW "<22>л<EFBFBD><D0BB><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD>ĵ<EFBFBD><C4B5><EFBFBD><EFBFBD><EFBFBD>"
|
||||
AFX_IDS_SCCLOSE "<22>رջ<D5BB><EEB6AF><EFBFBD>ڲ<EFBFBD><DAB2><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD>ĵ<EFBFBD>"
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
AFX_IDS_SCRESTORE "<22><><EFBFBD><EFBFBD><EFBFBD>ڻָ<DABB><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С"
|
||||
AFX_IDS_SCTASKLIST "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>"
|
||||
END
|
||||
|
||||
#endif // <20><><EFBFBD><EFBFBD>(<28><><EFBFBD>壬<EFBFBD>й<EFBFBD>) resources
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
#ifndef APSTUDIO_INVOKED
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// <EFBFBD><EFBFBD> TEXTINCLUDE 3 <EFBFBD><EFBFBD>Դ<EFBFBD><EFBFBD><EFBFBD>ɡ<EFBFBD>
|
||||
// Generated from the TEXTINCLUDE 3 resource.
|
||||
//
|
||||
|
||||
#define _AFX_NO_OLE_RESOURCES
|
||||
#define _AFX_NO_TRACKER_RESOURCES
|
||||
#define _AFX_NO_PROPERTY_RESOURCES
|
||||
|
||||
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_CHS)
|
||||
LANGUAGE 4, 2
|
||||
#include "res\\Fast.rc2" // <20><> Microsoft Visual C++ <20>༭<EFBFBD><E0BCAD><EFBFBD><EFBFBD>Դ
|
||||
#include "l.CHS\\afxres.rc" // <20><><EFBFBD><D7BC><EFBFBD><EFBFBD>
|
||||
#include "res\Fast.rc2" // <20><> Microsoft Visual C++ <20>༭<EFBFBD><E0BCAD><EFBFBD><EFBFBD>Դ
|
||||
#include "l.CHS\afxres.rc" // <20><><EFBFBD><D7BC><EFBFBD><EFBFBD>
|
||||
#endif
|
||||
#endif // <20><><EFBFBD><EFBFBD> APSTUDIO_INVOKED
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
#endif // not APSTUDIO_INVOKED
|
||||
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{DF8ED0A5-CC46-45BF-A8A1-594F5F6EAB22}</ProjectGuid>
|
||||
<RootNamespace>Fast</RootNamespace>
|
||||
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
|
||||
<WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
|
||||
<Keyword>MFCProj</Keyword>
|
||||
<ProjectName>Fast</ProjectName>
|
||||
</PropertyGroup>
|
||||
@@ -29,14 +29,14 @@
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<UseOfMfc>Dynamic</UseOfMfc>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<UseOfMfc>Dynamic</UseOfMfc>
|
||||
@@ -44,14 +44,14 @@
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<UseOfMfc>Dynamic</UseOfMfc>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<UseOfMfc>Dynamic</UseOfMfc>
|
||||
@@ -118,7 +118,7 @@
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<AdditionalLibraryDirectories>$(SolutionDir)\3rdparty\dahua\lib\win64;$(SolutionDir)\3rdparty\opencv\lib</AdditionalLibraryDirectories>
|
||||
<AdditionalDependencies>dhnetsdk.lib;dhconfigsdk.lib;dhplay.lib;opencv_core454d.lib;opencv_dnn454d.lib;opencv_features2d454d.lib;opencv_flann454d.lib;opencv_highgui454d.lib;opencv_imgcodecs454d.lib;opencv_imgproc454d.lib;opencv_ml454d.lib;opencv_video454d.lib;opencv_videoio454d.lib;opencv_face454d.lib;opencv_objdetect454d.lib;opencv_photo454d.lib</AdditionalDependencies>
|
||||
<AdditionalDependencies>dhnetsdk.lib;dhconfigsdk.lib;dhplay.lib;opencv_core454d.lib;opencv_dnn454d.lib;opencv_features2d454d.lib;opencv_flann454d.lib;opencv_highgui454d.lib;opencv_imgcodecs454d.lib;opencv_imgproc454d.lib;opencv_ml454d.lib;opencv_video454d.lib;opencv_videoio454d.lib;opencv_face454d.lib;opencv_objdetect454d.lib;opencv_photo454d.lib;opencv_calib3d454d.lib</AdditionalDependencies>
|
||||
</Link>
|
||||
<Midl>
|
||||
<MkTypLibCompatible>false</MkTypLibCompatible>
|
||||
@@ -171,7 +171,7 @@
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<AdditionalLibraryDirectories>$(SolutionDir)\3rdparty\dahua\lib\win64;$(SolutionDir)\3rdparty\opencv\lib</AdditionalLibraryDirectories>
|
||||
<AdditionalDependencies>dhnetsdk.lib;dhconfigsdk.lib;dhplay.lib;opencv_core454.lib;opencv_dnn454.lib;opencv_features2d454.lib;opencv_flann454.lib;opencv_highgui454.lib;opencv_imgcodecs454.lib;opencv_imgproc454.lib;opencv_ml454.lib;opencv_video454.lib;opencv_videoio454.lib;opencv_face454.lib;opencv_objdetect454.lib;opencv_photo454.lib</AdditionalDependencies>
|
||||
<AdditionalDependencies>dhnetsdk.lib;dhconfigsdk.lib;opencv_calib3d454.lib;dhplay.lib;opencv_core454.lib;opencv_dnn454.lib;opencv_features2d454.lib;opencv_flann454.lib;opencv_highgui454.lib;opencv_imgcodecs454.lib;opencv_imgproc454.lib;opencv_ml454.lib;opencv_video454.lib;opencv_videoio454.lib;opencv_face454.lib;opencv_objdetect454.lib;opencv_photo454.lib</AdditionalDependencies>
|
||||
</Link>
|
||||
<Midl>
|
||||
<MkTypLibCompatible>false</MkTypLibCompatible>
|
||||
@@ -193,6 +193,7 @@
|
||||
<ClInclude Include="Fast.h" />
|
||||
<ClInclude Include="FastMainDoc.h" />
|
||||
<ClInclude Include="FastMainView.h" />
|
||||
<ClInclude Include="ImageCalibrator.h" />
|
||||
<ClInclude Include="PlayApi.h" />
|
||||
<ClInclude Include="PlayWnd.h" />
|
||||
<ClInclude Include="PtzScreen.h" />
|
||||
@@ -206,6 +207,7 @@
|
||||
<ClCompile Include="Fast.cpp" />
|
||||
<ClCompile Include="FastMainDoc.cpp" />
|
||||
<ClCompile Include="FastMainView.cpp" />
|
||||
<ClCompile Include="ImageCalibrator.cpp" />
|
||||
<ClCompile Include="PlayApi.cpp" />
|
||||
<ClCompile Include="PlayWnd.cpp" />
|
||||
<ClCompile Include="PtzScreen.cpp" />
|
||||
|
||||
@@ -51,6 +51,9 @@
|
||||
<ClInclude Include="BSWndContainer.h">
|
||||
<Filter>头文件</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="ImageCalibrator.h">
|
||||
<Filter>头文件</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="stdafx.cpp">
|
||||
@@ -80,6 +83,9 @@
|
||||
<ClCompile Include="BSWndContainer.cpp">
|
||||
<Filter>源文件</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="ImageCalibrator.cpp">
|
||||
<Filter>源文件</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Image Include="res\Fast.ico">
|
||||
|
||||
@@ -17,6 +17,8 @@ IMPLEMENT_DYNCREATE(CFastMainFrame, CFrameWnd)
|
||||
|
||||
BEGIN_MESSAGE_MAP(CFastMainFrame, CFrameWnd)
|
||||
ON_WM_CREATE()
|
||||
ON_COMMAND(ID_CALIBRATOR, &CFastMainFrame::OnCalibrator)
|
||||
ON_COMMAND(ID_FISHEYE, &CFastMainFrame::OnFisheye)
|
||||
END_MESSAGE_MAP()
|
||||
|
||||
static UINT indicators[] =
|
||||
@@ -93,3 +95,17 @@ void CFastMainFrame::ActivateFrame(int nCmdShow)
|
||||
// TODO: <20>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD><EFBFBD>ר<EFBFBD>ô<EFBFBD><C3B4><EFBFBD><EFBFBD><EFBFBD>/<2F><><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><C3BB><EFBFBD>
|
||||
CFrameWnd::ActivateFrame(nCmdShow);
|
||||
}
|
||||
|
||||
|
||||
void CFastMainFrame::OnCalibrator()
|
||||
{
|
||||
// TODO: <20>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EEB4A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
theApp.m_bCalibrator = TRUE;
|
||||
}
|
||||
|
||||
|
||||
void CFastMainFrame::OnFisheye()
|
||||
{
|
||||
// TODO: <20>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EEB4A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
theApp.m_bCalibrator = FALSE;
|
||||
}
|
||||
|
||||
@@ -39,6 +39,8 @@ protected:
|
||||
|
||||
public:
|
||||
virtual void ActivateFrame(int nCmdShow = -1);
|
||||
afx_msg void OnCalibrator();
|
||||
afx_msg void OnFisheye();
|
||||
};
|
||||
|
||||
|
||||
|
||||
@@ -40,7 +40,7 @@ public:
|
||||
#endif
|
||||
|
||||
public:
|
||||
CPtzScreen m_ptzScreen;
|
||||
CPtzScreen m_ptzScreen;
|
||||
CRect m_clientRect;
|
||||
protected:
|
||||
|
||||
|
||||
48
fast/ImageCalibrator.cpp
Normal file
48
fast/ImageCalibrator.cpp
Normal file
@@ -0,0 +1,48 @@
|
||||
#include "stdafx.h"
|
||||
#include "ImageCalibrator.h"
|
||||
#include <opencv2\opencv.hpp>
|
||||
using namespace std;
|
||||
|
||||
CImageCalibrator::CImageCalibrator()
|
||||
{
|
||||
}
|
||||
|
||||
CImageCalibrator::~CImageCalibrator()
|
||||
{
|
||||
}
|
||||
|
||||
cv::Mat CImageCalibrator::imageCalibration(cv::Mat inImg)
|
||||
{
|
||||
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD>ڲξ<DAB2><CEBE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD><EFBFBD>ͨ<EFBFBD><CDA8><EFBFBD>ڰ<EFBFBD><DAB0><EFBFBD><EFBFBD≯<EFBFBD><CCB8>궨<EFBFBD><EAB6A8><EFBFBD>ⶨ<EFBFBD>õ<EFBFBD>
|
||||
cv::Mat cameraMatrix = (cv::Mat_ <double>(3, 3) << 720.689879, 0, 957.57171, 0, 721.705519, 935.484724, 0, 0, 1),
|
||||
distCoeffs = (cv::Mat_ <double>(1, 4) << -0.0765657862, 0.0190079504, -0.032948619, 0.0159874152); //<2F><>ͶӰ<CDB6><D3B0><EFBFBD><EFBFBD>rms<6D><73>0.601462
|
||||
|
||||
//ƽ<>Ʋ<EFBFBD><C6B2><EFBFBD>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC>λ<EFBFBD><CEBB>ƫ<EFBFBD><EFBFBD><EEA3AC><EFBFBD>ղⶨ<D5B2><E2B6A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɼ<EFBFBD><C9BC><EFBFBD>ͼƬ
|
||||
cv::Mat warp_matrix = (cv::Mat_<float>(2, 3) <<
|
||||
cos(0), -sin(0), -63, //x<><78>ƽ<EFBFBD><C6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
sin(0), cos(0), -68); //y<><79>ƽ<EFBFBD><C6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
cv::warpAffine(inImg, inImg, warp_matrix, inImg.size(), cv::INTER_LINEAR);
|
||||
|
||||
//ȡ<><C8A1>Ч<EFBFBD><D0A7><EFBFBD>۾<EFBFBD>ͷ<EFBFBD><CDB7><EFBFBD><EFBFBD>
|
||||
cv::Mat inImg2(inImg, cv::Rect(324, 0, 1944, 1944));
|
||||
//<2F><><EFBFBD>ۻ<EFBFBD><DBBB><EFBFBD>չƽ
|
||||
cv::Mat outImg, new_intrinsic_mat;
|
||||
cameraMatrix.copyTo(new_intrinsic_mat);
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD>ӳ<EFBFBD><D3B3><EFBFBD>С<EFBFBD><D0A1><EFBFBD>˵<EFBFBD>ϵ<EFBFBD><CFB5>ԽС<D4BD>ӳ<EFBFBD>Խ<EFBFBD>ɵ<F3A3ACBF><C9B5><EFBFBD>
|
||||
new_intrinsic_mat.at<double>(0, 0) *= 0.7;
|
||||
new_intrinsic_mat.at<double>(1, 1) *= 0.7;
|
||||
//<2F><><EFBFBD><EFBFBD>У<EFBFBD><D0A3>ͼ<EFBFBD><CDBC><EFBFBD>ģ<EFBFBD><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>У<EFBFBD><D0A3>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD>
|
||||
new_intrinsic_mat.at<double>(0, 2) = 0.5 * inImg2.cols;
|
||||
new_intrinsic_mat.at<double>(1, 2) = 0.5 * inImg2.rows;
|
||||
cv::fisheye::undistortImage(inImg2, outImg, cameraMatrix, distCoeffs, new_intrinsic_mat);
|
||||
|
||||
//չƽ<D5B9><C6BD><EFBFBD>۳<EFBFBD><DBB3><EFBFBD>Ч<EFBFBD><D0A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
//Mat roi(outImg, cv::Rect(711, 465, 557, 941));
|
||||
//<2F><>ʾչƽ<D5B9><C6BD><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC>
|
||||
//cv::imshow("<22>궨Ч<EAB6A8><D0A7>", outImg); cv::waitKey(0);
|
||||
|
||||
return outImg;
|
||||
|
||||
}
|
||||
|
||||
9
fast/ImageCalibrator.h
Normal file
9
fast/ImageCalibrator.h
Normal file
@@ -0,0 +1,9 @@
|
||||
#pragma once
|
||||
class CImageCalibrator
|
||||
{
|
||||
public:
|
||||
CImageCalibrator();
|
||||
~CImageCalibrator();
|
||||
static cv::Mat imageCalibration(cv::Mat inImg);
|
||||
};
|
||||
|
||||
261
fast/PlayWnd.cpp
261
fast/PlayWnd.cpp
@@ -2,6 +2,8 @@
|
||||
#include "Fast.h"
|
||||
#include "PlayWnd.h"
|
||||
#include "PtzScreen.h"
|
||||
#include "DrawImage.h"
|
||||
#include "ImageCalibrator.h"
|
||||
#include "dhplay.h"
|
||||
//#include "RealPlayAndPTZControlDlg.h"
|
||||
|
||||
@@ -12,6 +14,7 @@
|
||||
static char THIS_FILE[] = __FILE__;
|
||||
#endif
|
||||
|
||||
#define LOGIN_TIMER 1
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// CPlayWnd dialog
|
||||
|
||||
@@ -22,6 +25,9 @@ CPlayWnd::CPlayWnd():m_nWndID(0), m_FlagRect(FALSE),bIsPlaying(false)
|
||||
// NOTE: the ClassWizard will add member initialization here
|
||||
//}}AFX_DATA_INIT
|
||||
m_nIndex = 0;
|
||||
m_nPlayPort = 0;
|
||||
|
||||
//cv::namewindow("fsf");
|
||||
}
|
||||
|
||||
BEGIN_MESSAGE_MAP(CPlayWnd, CWnd)
|
||||
@@ -204,6 +210,13 @@ void CPlayWnd::OnActivate(UINT nState, CWnd* pWndOther, BOOL bMinimized)
|
||||
|
||||
void CPlayWnd::OnTimer(UINT_PTR nIDEvent)
|
||||
{
|
||||
switch (nIDEvent)
|
||||
{
|
||||
case 1:
|
||||
m_llLoginId = Login();
|
||||
KillTimer(1);
|
||||
break;
|
||||
}
|
||||
CWnd::OnTimer(nIDEvent);
|
||||
}
|
||||
|
||||
@@ -227,18 +240,30 @@ void CPlayWnd::ShowLoginErrorReason(int nError)
|
||||
else MessageBox(ConvertString("Login failed!"), ConvertString("Prompt"));
|
||||
}
|
||||
|
||||
// netsdk ʵʱ<CAB5>ص<EFBFBD><D8B5><EFBFBD><EFBFBD><EFBFBD>
|
||||
void CALL_METHOD fRealDataCB(LLONG lRealHandle, DWORD dwDataType, BYTE *pBuffer, DWORD dwBufSize, LDWORD dwUser)
|
||||
{
|
||||
|
||||
LLONG CPlayWnd::Login(CString strIpAddr, int nPort, CString strUser, CString strPW)
|
||||
CPlayWnd *pWnd = (CPlayWnd*)dwUser;
|
||||
if (pWnd->m_lRealHandle != lRealHandle)return;
|
||||
|
||||
// <20>Ѵ<EFBFBD><D1B4><EFBFBD>ʵʱ<CAB5><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>͵<EFBFBD>playsdk<64><6B>
|
||||
PLAY_InputData(pWnd->m_nWndID, pBuffer, dwBufSize);
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
LLONG CPlayWnd::Login()
|
||||
{
|
||||
//<2F><><EFBFBD>ε<EFBFBD>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1>¼ID
|
||||
|
||||
//m_strCameraIp, m_nCameraPort, m_strUserName, m_strPassWord);
|
||||
char *pchDVRIP;
|
||||
//CString strDvrIP = GetDvrIP();
|
||||
pchDVRIP = (LPSTR)(LPCSTR)strIpAddr;
|
||||
WORD wDVRPort = (WORD)nPort;
|
||||
char *pchUserName = (LPSTR)(LPCSTR)strUser;
|
||||
char *pchPassword = (LPSTR)(LPCSTR)strPW;
|
||||
|
||||
pchDVRIP = (LPSTR)(LPCSTR)m_strCameraIp;
|
||||
WORD wDVRPort = (WORD)m_nCameraPort;
|
||||
char *pchUserName = (LPSTR)(LPCSTR)m_strUserName;
|
||||
char *pchPassword = (LPSTR)(LPCSTR)m_strPassWord;
|
||||
/*
|
||||
NET_IN_LOGIN_WITH_HIGHLEVEL_SECURITY stInparam;
|
||||
memset(&stInparam, 0, sizeof(stInparam));
|
||||
stInparam.dwSize = sizeof(stInparam);
|
||||
@@ -274,7 +299,47 @@ LLONG CPlayWnd::Login(CString strIpAddr, int nPort, CString strUser, CString s
|
||||
}
|
||||
return lRet;
|
||||
}
|
||||
//SetWindowText(ConvertString("CapturePicture"));
|
||||
//SetWindowText(ConvertString("CapturePicture"));*/
|
||||
|
||||
PLAY_GetFreePort(&m_nWndID);
|
||||
PLAY_SetStreamOpenMode(m_nWndID, STREAME_REALTIME);
|
||||
PLAY_OpenStream(m_nWndID, NULL, 0, 1024 * 512 * 6);
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƶץͼ<D7A5>ص<EFBFBD><D8B5><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>Իص<D4BB><D8B5><EFBFBD>YUV<55><56><EFBFBD><EFBFBD>
|
||||
PLAY_SetDisplayCallBack(m_nWndID, fDisplayCB, this);
|
||||
PLAY_Play(m_nWndID, NULL);
|
||||
|
||||
|
||||
NET_DEVICEINFO_Ex stLoginInfo = { 0 };
|
||||
int nErrcode = 0;
|
||||
|
||||
LLONG lLoginHandle = CLIENT_LoginEx2(pchDVRIP, m_nCameraPort, pchUserName, pchPassword, (EM_LOGIN_SPAC_CAP_TYPE)0, NULL, &stLoginInfo, &nErrcode);
|
||||
if (0 == lLoginHandle)
|
||||
{
|
||||
//cout << "Login device failed" << endl;
|
||||
//cin >> szIpAddr;
|
||||
return -1;
|
||||
}
|
||||
else
|
||||
{
|
||||
//cout << "Login device success" << endl;
|
||||
}
|
||||
|
||||
//<2F><><EFBFBD><EFBFBD>
|
||||
m_lRealHandle = CLIENT_RealPlayEx(lLoginHandle, 0, 0);
|
||||
|
||||
if (0 == m_lRealHandle)
|
||||
{
|
||||
//cout << "CLIENT_RealPlayEx fail!" << endl;
|
||||
Sleep(100000);
|
||||
return -1;
|
||||
}
|
||||
//cout << "CLIENT_RealPlayEx success!" << endl;
|
||||
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD>
|
||||
CLIENT_SetRealDataCallBack(m_lRealHandle, fRealDataCB, (LDWORD)this);
|
||||
|
||||
return lLoginHandle;
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -288,78 +353,73 @@ int CPlayWnd::OnCreate(LPCREATESTRUCT lpCreateStruct)
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
SetTimer(1, 5000, NULL);
|
||||
|
||||
m_llLoginId = Login(m_strCameraIp, m_nCameraPort, m_strUserName, m_strPassWord);
|
||||
ServerPlayMode();
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
//Play video in data callback mode
|
||||
void CPlayWnd::ServerPlayMode()
|
||||
void CPlayWnd::StopPlayForServerMode()
|
||||
{
|
||||
//Close current video
|
||||
//CloseDispVideo(m_nWndID);
|
||||
|
||||
int iChannel = 0;
|
||||
|
||||
//Enable stream
|
||||
BOOL bOpenRet = g_PlayAPI.PLAY_OpenStream(m_nWndID, 0, 0, 1024 * 512 * 6);
|
||||
if (bOpenRet)
|
||||
/*
|
||||
BOOL bRealPlay = CLIENT_StopRealPlayEx(m_DispHanle);
|
||||
if (bRealPlay)
|
||||
{
|
||||
//Begin play
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƶץͼ<D7A5>ص<EFBFBD><D8B5><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>Իص<D4BB><D8B5><EFBFBD>YUV<55><56><EFBFBD><EFBFBD>
|
||||
PLAY_SetDisplayCallBack(m_nWndID, CPlayWnd::fDisplayCB, this);
|
||||
this->SetWndPlaying(false);
|
||||
|
||||
BOOL bPlayRet = g_PlayAPI.PLAY_Play(m_nWndID, NULL);
|
||||
if (bPlayRet)
|
||||
//And then close PLAY_Play
|
||||
BOOL bPlay = g_PlayAPI.PLAY_Stop(m_nWndID);
|
||||
if (bPlay)
|
||||
{
|
||||
//Real-time play
|
||||
m_DispHanle = CLIENT_RealPlayEx(m_llLoginId, iChannel, 0);
|
||||
if (0 != m_DispHanle)
|
||||
{
|
||||
//SetPlayVideoInfo(iDispNum, iChannel, ServerMode);
|
||||
CLIENT_SetRealDataCallBackEx2(m_DispHanle, RealDataCallBackEx, (LDWORD)this, 0x0f);
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
MessageBox(ConvertString("Fail to play!"), ConvertString("Prompt"));
|
||||
g_PlayAPI.PLAY_Stop(m_nWndID);
|
||||
g_PlayAPI.PLAY_CloseStream(m_nWndID);
|
||||
}
|
||||
//At last close PLAY_OpenStream
|
||||
BOOL bStream = g_PlayAPI.PLAY_CloseStream(m_nWndID);
|
||||
}
|
||||
else
|
||||
{
|
||||
g_PlayAPI.PLAY_CloseStream(m_nWndID);
|
||||
}
|
||||
}
|
||||
}*/
|
||||
}
|
||||
|
||||
|
||||
// playsdk <20>ص<EFBFBD> yuv<75><76><EFBFBD><EFBFBD>
|
||||
void CALL_METHOD CPlayWnd::fDisplayCB(LONG nPort, char * pBuf, LONG nSize, LONG nWidth, LONG nHeight, LONG nStamp, LONG nType, void* pReserved)
|
||||
{
|
||||
|
||||
CPlayWnd *pShowWnd = (CPlayWnd *)(pReserved);
|
||||
|
||||
CPlayWnd * pThis = (CPlayWnd *)pReserved;
|
||||
if (pShowWnd->m_nWndID != nPort)return;
|
||||
|
||||
//TRACE("%d\n", pThis->m_nWndID);
|
||||
|
||||
|
||||
//if (pThis->m_nWndID > 1)return;
|
||||
pThis->m_nIndex++;
|
||||
if (pThis->m_nIndex == 24)
|
||||
pShowWnd->m_nIndex++;
|
||||
if (pShowWnd->m_nIndex == 24)
|
||||
{
|
||||
TRACE("%d\n", pThis->m_nWndID);
|
||||
|
||||
cv::Mat cv_img;
|
||||
cv::Mat cv_yuv(nHeight + nHeight / 2, nWidth, CV_8UC1, pBuf);//pFrameΪYUV<55><56><EFBFBD>ݵ<EFBFBD>ַ,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> CV_8UC1<43><31> CV_8UC3.
|
||||
cv_img = cv::Mat(nHeight, nWidth, CV_8UC3);
|
||||
cv::cvtColor(cv_yuv, cv_img, cv::COLOR_YUV2BGR_I420); //cv::COLOR_YUV2BGR_I420
|
||||
//cv::imshow("video", cv_img);
|
||||
//cv::imwrite("d:\\1.jpg", cv_img);
|
||||
pThis->m_nIndex = 0;
|
||||
pThis->DrawMat(cv_img);
|
||||
cv::waitKey(50);
|
||||
|
||||
cv::Mat imgTmp;
|
||||
|
||||
CRect rect;
|
||||
pShowWnd->GetClientRect(&rect); // <20><>ȡ<EFBFBD>ؼ<EFBFBD><D8BC><EFBFBD>С
|
||||
int nWidth = cv_img.cols * rect.Height() *1.0 / cv_img.rows;
|
||||
|
||||
if (rect.Width() == 0)return;
|
||||
|
||||
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƭվչƽ
|
||||
if (theApp.m_bCalibrator)
|
||||
{
|
||||
cv_img = CImageCalibrator::imageCalibration(cv_img);
|
||||
}
|
||||
|
||||
cv::resize(cv_img, imgTmp, cv::Size(nWidth, rect.Height()));// <20><><EFBFBD><EFBFBD>Mat<61><74><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
|
||||
pShowWnd->m_nIndex = 0;
|
||||
pShowWnd->DrawMat(imgTmp, (rect.Width() - nWidth) / 2);
|
||||
cv::waitKey(10);
|
||||
|
||||
}
|
||||
|
||||
return;
|
||||
@@ -368,15 +428,16 @@ void CALL_METHOD CPlayWnd::fDisplayCB(LONG nPort, char * pBuf, LONG nSize, LONG
|
||||
|
||||
//<2F><><EFBFBD><EFBFBD>1<EFBFBD><31>opencv<63><76><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC>
|
||||
//<2F><><EFBFBD><EFBFBD>2<EFBFBD><32><EFBFBD><EFBFBD>Ҫչʾ<D5B9><CABE>Picture Control<6F><6C>ID
|
||||
void CPlayWnd::DrawMat(cv::Mat& img)
|
||||
void CPlayWnd::DrawMat(cv::Mat& imageMat, int nOffset)
|
||||
{
|
||||
cv::Mat imgTmp;
|
||||
/*cv::Mat img;
|
||||
CRect rect;
|
||||
GetClientRect(&rect); // <20><>ȡ<EFBFBD>ؼ<EFBFBD><D8BC><EFBFBD>С
|
||||
int nWidth = img.cols * rect.Height() *1.0 / img.rows;
|
||||
cv::resize(img, imgTmp, cv::Size(nWidth, rect.Height()));// <20><><EFBFBD><EFBFBD>Mat<61><74><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
// תһ<D7AA>¸<EFBFBD>ʽ ,<2C><><EFBFBD>ο<EFBFBD><CEBF>Է<EFBFBD><D4B7><EFBFBD><EFBFBD><EFBFBD>,
|
||||
switch (imgTmp.channels())
|
||||
int nWidth = imageMat.cols * rect.Height() *1.0 / imageMat.rows;
|
||||
cv::resize(imageMat, img, cv::Size(nWidth, rect.Height()));// <20><><EFBFBD><EFBFBD>Mat<61><74><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
// תһ<D7AA>¸<EFBFBD>ʽ ,<2C><><EFBFBD>ο<EFBFBD><CEBF>Է<EFBFBD><D4B7><EFBFBD><EFBFBD><EFBFBD>,*/
|
||||
|
||||
/*switch (imgTmp.channels())
|
||||
{
|
||||
case 1:
|
||||
cv::cvtColor(imgTmp, imgTmp, CV_GRAY2BGRA); // GRAY<41><59>ͨ<EFBFBD><CDA8>
|
||||
@@ -412,66 +473,28 @@ void CPlayWnd::DrawMat(cv::Mat& img)
|
||||
DIB_RGB_COLORS,
|
||||
SRCCOPY
|
||||
);
|
||||
ReleaseDC(pDC);
|
||||
ReleaseDC(pDC);*/
|
||||
|
||||
CImage image;
|
||||
image.Create(imageMat.cols, imageMat.rows, 24);
|
||||
for (int y = 0; y < imageMat.rows; ++y) {
|
||||
const uchar* src = imageMat.ptr<uchar>(y);
|
||||
uchar* dst = reinterpret_cast<uchar*>(image.GetBits()) + y * image.GetPitch();
|
||||
for (int x = 0; x < imageMat.cols; ++x) {
|
||||
dst[0] = src[0];
|
||||
dst[1] = src[1];
|
||||
dst[2] = src[2];
|
||||
src += 3;
|
||||
dst += 3;
|
||||
}
|
||||
}
|
||||
|
||||
HDC hdc = ::GetDC(m_hWnd);
|
||||
image.Draw(hdc, CRect(CPoint(nOffset, 0), CSize(imageMat.cols, imageMat.rows)));
|
||||
image.Destroy();
|
||||
::ReleaseDC(m_hWnd, hdc);
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
void CALLBACK CPlayWnd::RealDataCallBackEx(LLONG lRealHandle, DWORD dwDataType, BYTE *pBuffer, DWORD dwBufSize, LLONG lParam, LDWORD dwUser)
|
||||
{
|
||||
|
||||
if (dwUser == 0)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
CPlayWnd *pWnd = (CPlayWnd *)dwUser;
|
||||
pWnd->ReceiveRealData(lRealHandle, dwDataType, pBuffer, dwBufSize, lParam);
|
||||
}
|
||||
|
||||
//Process after receiving real-time data
|
||||
void CPlayWnd::ReceiveRealData(LLONG lRealHandle, DWORD dwDataType, BYTE *pBuffer, DWORD dwBufSize, LLONG lParam)
|
||||
{
|
||||
//Stream port number according to the real-time handle.
|
||||
LONG lRealPort = 1;// GetStreamPort(lRealHandle);
|
||||
|
||||
if (lRealHandle == m_DispHanle)
|
||||
{
|
||||
lRealPort = m_nWndID;
|
||||
}
|
||||
|
||||
if (0 == lRealPort)
|
||||
{
|
||||
return;
|
||||
}
|
||||
//Input the stream data getting from the card
|
||||
BOOL bInput = FALSE;
|
||||
switch (dwDataType)
|
||||
{
|
||||
case 0:
|
||||
|
||||
{
|
||||
//Original data
|
||||
bInput = g_PlayAPI.PLAY_InputData(lRealPort, pBuffer, dwBufSize);
|
||||
|
||||
|
||||
break;
|
||||
}
|
||||
case 1:
|
||||
//data with frame info
|
||||
|
||||
break;
|
||||
case 2:
|
||||
//yuv data
|
||||
AfxMessageBox("");
|
||||
break;
|
||||
case 3:
|
||||
//pcm audio data
|
||||
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -41,6 +41,8 @@
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// CPlayWnd dialog
|
||||
|
||||
class CPtzScreen;
|
||||
|
||||
class CPlayWnd : public CWnd
|
||||
{
|
||||
// Construction
|
||||
@@ -85,7 +87,7 @@ protected:
|
||||
DECLARE_MESSAGE_MAP()
|
||||
|
||||
public:
|
||||
void SetWinID(int ID, CString strName, CString strIp, int nPort, CString strUser, CString strPassword)
|
||||
void SetWinID(int ID, CString strName, CString strIp, int nPort, CString strUser, CString strPassword, CPtzScreen *pParent)
|
||||
{
|
||||
m_strCameraName = strName;
|
||||
m_strCameraIp = strIp;
|
||||
@@ -93,12 +95,13 @@ public:
|
||||
m_strUserName = strUser;
|
||||
m_strPassWord = strPassword;
|
||||
m_nWndID = ID;
|
||||
m_pParentWnd = pParent;
|
||||
}
|
||||
int GetWinID(void){return m_nWndID;}
|
||||
void SetWndPlaying(bool bPlay){ bIsPlaying = bPlay; }
|
||||
|
||||
private:
|
||||
int m_nWndID;
|
||||
|
||||
CPoint pointStart;
|
||||
CPoint pointEnd;
|
||||
CPoint pointMove;
|
||||
@@ -106,27 +109,31 @@ private:
|
||||
bool bIsPlaying;
|
||||
|
||||
|
||||
private:
|
||||
public:
|
||||
CString m_strCameraName;
|
||||
CString m_strCameraIp;
|
||||
CString m_strUserName;
|
||||
CString m_strPassWord;
|
||||
int m_nCameraPort;
|
||||
|
||||
LONG m_nWndID;
|
||||
LLONG m_llLoginId;
|
||||
LLONG m_DispHanle;
|
||||
LLONG m_lRealHandle;
|
||||
|
||||
int m_nIndex;
|
||||
int m_nState;
|
||||
LONG m_nPlayPort;
|
||||
CPtzScreen *m_pParentWnd;
|
||||
|
||||
public:
|
||||
LLONG Login(CString strIpAddr, int nPort, CString strUser, CString strPW);
|
||||
void ServerPlayMode();
|
||||
LLONG Login();
|
||||
|
||||
static void CALL_METHOD fDisplayCB(LONG nPort, char * pBuf, LONG nSize, LONG nWidth, LONG nHeight, LONG nStamp, LONG nType, void* pReserved);
|
||||
static void CALLBACK RealDataCallBackEx(LLONG lRealHandle, DWORD dwDataType, BYTE *pBuffer, DWORD dwBufSize, LLONG lParam, LDWORD dwUser);
|
||||
void ReceiveRealData(LLONG lRealHandle, DWORD dwDataType, BYTE *pBuffer, DWORD dwBufSize, LLONG lParam);
|
||||
void DrawMat(cv::Mat& img);
|
||||
|
||||
|
||||
void DrawMat(cv::Mat& img, int nOffset);
|
||||
void ShowLoginErrorReason(int nError);
|
||||
void StopPlayForServerMode();
|
||||
};
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
@@ -224,7 +224,7 @@ int CPtzScreen::OnCreate(LPCREATESTRUCT lpCreateStruct)
|
||||
int nPort = GetPrivateProfileInt("CAMERA", strParam, 37777, iniPath);
|
||||
|
||||
|
||||
m_wndVideo[i].SetWinID(i+1, strName, strIp, nPort, strUser, strPassword);
|
||||
m_wndVideo[i].SetWinID(i+1, strName, strIp, nPort, strUser, strPassword, this);
|
||||
|
||||
m_wndVideo[i].Create(
|
||||
NULL,
|
||||
@@ -235,16 +235,16 @@ int CPtzScreen::OnCreate(LPCREATESTRUCT lpCreateStruct)
|
||||
1979,
|
||||
NULL);
|
||||
|
||||
|
||||
//m_wndVideo[i].Login(strIp, nPort, strUser, strPassword);
|
||||
|
||||
AddPage(&m_wndVideo[i]);
|
||||
|
||||
}
|
||||
|
||||
SetActivePage(&m_wndVideo[0], TRUE);
|
||||
SetDrawActivePage(TRUE, RGB(248,5,182), RGB(248,5,182));
|
||||
|
||||
return 0;
|
||||
return 0;
|
||||
}
|
||||
|
||||
void CPtzScreen::OnDestroy()
|
||||
@@ -318,343 +318,3 @@ void CPtzScreen::OnCaptureChanged(CWnd *pWnd)
|
||||
|
||||
CWnd::OnCaptureChanged(pWnd);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,20 +1,24 @@
|
||||
//{{NO_DEPENDENCIES}}
|
||||
// <20><><EFBFBD>ɵ<EFBFBD> Microsoft Visual C++ <20><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>
|
||||
// <20><> MFCApplication6.rc ʹ<><CAB9>
|
||||
// Microsoft Visual C++ <20><><EFBFBD>ɵİ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD>
|
||||
// <20><> Fast.rc ʹ<><CAB9>
|
||||
//
|
||||
#define IDD_ABOUTBOX 100
|
||||
#define IDD_MFCAPPLICATION6_FORM 101
|
||||
#define IDP_OLE_INIT_FAILED 100
|
||||
#define IDR_MAINFRAME 128
|
||||
#define IDR_MFCApplication6TYPE 130
|
||||
#define IDD_ABOUTBOX 100
|
||||
#define IDP_OLE_INIT_FAILED 100
|
||||
#define IDD_MFCAPPLICATION6_FORM 101
|
||||
#define IDR_MAINFRAME 128
|
||||
#define IDR_MFCApplication6TYPE 130
|
||||
#define ID_32771 32771
|
||||
#define ID_CALIBRATOR 32772
|
||||
#define ID_32773 32773
|
||||
#define ID_FISHEYE 32774
|
||||
|
||||
// <EFBFBD>¶<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD>Ĭ<EFBFBD><EFBFBD>ֵ
|
||||
//
|
||||
// Next default values for new objects
|
||||
//
|
||||
#ifdef APSTUDIO_INVOKED
|
||||
#ifndef APSTUDIO_READONLY_SYMBOLS
|
||||
#define _APS_NEXT_RESOURCE_VALUE 310
|
||||
#define _APS_NEXT_CONTROL_VALUE 1000
|
||||
#define _APS_NEXT_SYMED_VALUE 310
|
||||
#define _APS_NEXT_COMMAND_VALUE 32771
|
||||
#define _APS_NEXT_RESOURCE_VALUE 310
|
||||
#define _APS_NEXT_COMMAND_VALUE 32775
|
||||
#define _APS_NEXT_CONTROL_VALUE 1000
|
||||
#define _APS_NEXT_SYMED_VALUE 310
|
||||
#endif
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user