📄 artdlg.h
字号:
// artDlg.h : header file
//
#if !defined(AFX_ARTDLG_H__58167AC7_CFB4_4D36_A08B_4F4FD7F02BD7__INCLUDED_)
#define AFX_ARTDLG_H__58167AC7_CFB4_4D36_A08B_4F4FD7F02BD7__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include "Dib.h"
#include "Ddb.h"
/////////////////////////////////////////////////////////////////////////////
// CArtDlg dialog
class CArtDlg : public CDialog
{
// Construction
public:
CArtDlg(CWnd* pParent = NULL); // standard constructor
// Dialog Data
//{{AFX_DATA(CArtDlg)
enum { IDD = IDD_ART_DIALOG };
BOOL m_WhiteOnBlack;
//}}AFX_DATA
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CArtDlg)
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
//}}AFX_VIRTUAL
// Implementation
protected:
HICON m_hIcon;
// Generated message map functions
//{{AFX_MSG(CArtDlg)
virtual BOOL OnInitDialog();
afx_msg void OnPaint();
afx_msg HCURSOR OnQueryDragIcon();
afx_msg void OnInit();
afx_msg void OnLoad();
virtual void OnOK();
afx_msg void OnSaveimg();
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
private:
CString str;
CWnd* pwnd1;
CDC* pControlDC1;
CBitmap* pOldBitmap;
BYTE pimg[200];
CString strofnnum,patternstring;
void invvector(int A[],int length);
BOOL Haveinit,recognize,mode;
BOOL Isload,haveinit;
void vector2img(int A[], BYTE img[], int width, int height);
void addpattern(double B[],int T[],int x[],int length,int& nofneuron);//增加一个模式
void adjustb(double A[],int Ti[],int length,int num); //调整B的权值
void adjustt(int A[],int tx[],int length,int num); //调整T的权值
BOOL findpattern(int T[],double B[],int ivector[],double C[],int nofneuron,int length); // 判断是否是一个新模式,并存储
double rulo; //警戒值
void vectormulti(int A[],int B[] ,int C[],int length);
int modofvector(int A[],int length); //向量相乘,计算匹配度
BOOL findtiofneuro(int T[],int Ti[],int Tm,int Tn,int neuro);
int findmaxneuro(double A[],int length); //选择最佳匹配样本
BOOL matrixmulti(double A[],int B[],double C[],int Am,int An,int Bm,int Bn); //矩阵相乘
int t[5000]; //自上而下的权值
void initt(int A[],int length); //权值初始化,自上而下
int nnum; //初始输入的样本个数
void initb(double A[],int length); //权值初始化,自下而上
int m_nHeight;
int m_nWidth;
int mlength;
CDib* m_pDib;
CDib* m_pDib2;
double b[5000];
void img2vector(BYTE* pimgdata, int A[], int width,int height);
int fixneuron;
int m_nbitcount;
};
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_ARTDLG_H__58167AC7_CFB4_4D36_A08B_4F4FD7F02BD7__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -