📄 recognition.cpp
字号:
// Recognition.cpp: implementation of the CRecognition class.
//
//////////////////////////////////////////////////////////////////////
#include "stdafx.h"
#include "数字识别.h"
#include "Recognition.h"
#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
CRecognition::CRecognition(){
int i = 0;
char fn[] = "data/n1.dat";
for(i = 0;i < 10; i++){
fn[6] = (char)((int)('0') + i);
node[i] = new CNode(fn);
}
}
CRecognition::~CRecognition(){
int i = 0;
for(i = 0;i < 10; i++){
delete node[i];
}
}
void CRecognition::Save(){
int i = 0;
for(i = 0;i < 10; i++){
node[i]->Save();
}
}
void CRecognition::Study(int * input, int * rs){ // 学习函数
int i = 0;
for(i = 0;i < 10; i++){
node[i]->Study(input, rs[i]);
}
}
int CRecognition::Get(int * input){
int r = 0;
int i = 0;
for(i = 9;i >= 0; i--){
r += r + node[i]->GetResult(input);
}
switch(r){
case 1:
case 2:
return 1;
case 20:
case 21:
case 532:
case 533:
case 529:
return 2;
case 36:
case 548:
case 545:
return 3;
case 10:
case 9:
return 4;
case 552:
return 5;
case 65:
case 72:
case 73:
case 97:
case 104:
case 105:
case 616:
case 584:
return 6;
case 513:
case 5:
case 517:
return 7;
case 192:
case 76:
case 204:
case 264:
case 288:
return 8;
case 129:
case 13:
case 44:
case 45:
case 133:
case 137:
case 141:
case 160:
case 164:
case 168:
case 172:
return 9;
case 256:
case 64:
case 128:
case 257:
case 258:
case 768:
case 769:
case 770:
return 0;
}
return -1;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -