📄 numrecogbpdlg.h
字号:
// NumRecogBPDlg.h : header file
//
#if !defined(AFX_NUMRECOGBPDLG_H__08228D96_01B5_4C27_BD63_19F9B44943BA__INCLUDED_)
#define AFX_NUMRECOGBPDLG_H__08228D96_01B5_4C27_BD63_19F9B44943BA__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#define NN_NUMBERS 14 //包含的数的个数
#define NN_RESX 9 //X方向的长度
#define NN_RESY 11 //Y方向的长度
#define NN_NOISY 25 //噪声数据的数目
#define NN_MAXITER 500 //最大循环次数
/////////////////////////////////////////////////////////////////////////////
// CNumRecogBPDlg dialog
class CNumRecogBPDlg : public CDialog
{
// Construction
public:
CNumRecogBPDlg(CWnd* pParent = NULL); // standard constructor
// Dialog Data
//{{AFX_DATA(CNumRecogBPDlg)
enum { IDD = IDD_NUMRECOGBP_DIALOG };
CSpinButtonCtrl m_TrainNum;
CListBox m_RunInfor;
CStatic m_RecogPic;
CStatic m_TrainPic;
//}}AFX_DATA
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CNumRecogBPDlg)
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
//}}AFX_VIRTUAL
// Implementation
protected:
HICON m_hIcon;
// 训练数据数组
int m_iTrainData[NN_NUMBERS][NN_RESX*NN_RESY];
// 识别数据数组
int m_iRecogData[NN_NUMBERS][NN_RESX*NN_RESY];
// 训练数据加上噪声后的数据数组
int m_iTrainNoisy[NN_NUMBERS*NN_NOISY][NN_RESX*NN_RESY];
// 神经网络的权值数组
float m_fWeights[NN_NUMBERS][NN_RESX*NN_RESY];
// 要画的数字
int *m_ipDrawTrainNum; // 画训练数字
int *m_ipDrawRecogNum; // 画识别数字
// 在识别窗口画数字标志
bool m_bDrawNum;
// CString m_Str;
// 强制重画
void InvalidateTrainPic();
void InvalidateRecogPic();
// 获取字符串
// void GetText(CString &, int);
// 运行神经网络
void RunBPNet(bool training);
// 画数字
void DrawTrainNumber(CDC *, int *, CRect *);
void DrawRecogNumber(CDC *, int *, CRect *);
// Generated message map functions
//{{AFX_MSG(CNumRecogBPDlg)
virtual BOOL OnInitDialog();
afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
afx_msg void OnPaint();
afx_msg HCURSOR OnQueryDragIcon();
afx_msg void OnButtonTrain();
afx_msg void OnButtonRecog();
afx_msg void OnDeltaposSpinTrainnum(NMHDR* pNMHDR, LRESULT* pResult);
afx_msg void OnOpenrecogfile();
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_NUMRECOGBPDLG_H__08228D96_01B5_4C27_BD63_19F9B44943BA__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -