• 大小: 60KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-14
  • 语言: 其他
  • 标签:

资源简介

识别0-9十个数字,BP神经网络数字识别源代码 使用说明 第一步:训练网络。使用训练样本进行训练。(此程序中也可以不训练,因为笔者已经将训练好的网络参数保存起来了,读者使用时可以直接识别) 第二步:识别。首先,打开图像(256色);再次,进行归一化处理,点击“一次性处理”;最后,点击“R”或者使用菜单找到相应项来进行识别。识别的结果显示在屏幕上,同时也输出到文件result.txt中。 该系统的识别率一般情况下为90%。 此外,也可以单独对打开的图片一步一步进行图像预处理工作,但要注意,每一步工作只能执行一遍,而且要按顺序执行。 具体步骤为:“256色位图转为灰度图”-“灰度图二值化”-“去噪”-“倾斜校正”-“分割”-“标准化尺寸”-“紧缩重排”。 注意,待识别的图片要与win.dat和whi.dat位于同一目录,这两文件保存训练后网络的权值参数。 具体使用请参照书中说明。

资源截图

代码片段和文件信息

// ChildView.cpp : implementation of the CChildView class
//
#include “stdafx.h“
#include “DigitRec.h“
#include “ChildView.h“
#include “INPUT1.h“
#include “mydiblib.h“
#include “Bp.h“
#include “DBpParamater.h“
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
void ThiningDIB(LPSTR lpDIBBits LONG lWidth LONG lHeight);
/////////////////////////////////////////////////////////////////////////////
// CChildView

CChildView::CChildView()
{
fileloaded=false;
gyhinfoinput=false;
gyhfinished=false;
m_hDIB=NULL;
}

CChildView::~CChildView()
{
}

BEGIN_MESSAGE_MAP(CChildViewCWnd )
//{{AFX_MSG_MAP(CChildView)
ON_WM_PAINT()
ON_COMMAND(IDmy_FILE_OPEN_BMP OnFileOpenBmp)
ON_COMMAND(IDmy_FILE_SAVE_BMP OnFileSaveBmp)
ON_COMMAND(IDmy_IMGPRC_SHRINK_ALIGN OnImgprcShrinkAlign)
ON_COMMAND(IDmy_IMGPRC_ALL OnImgprcAll)
ON_COMMAND(IDmy_IMGPRC_256ToGray OnIMGPRC256ToGray)
ON_COMMAND(IDmy_IMGPRC_DIVIDE OnImgprcDivide)
ON_COMMAND(IDmy_IMGPRC_TO_DIB_AND_SAVE OnImgprcToDibAndSave)
ON_COMMAND(IDmy_IMGPRC_REMOVE_NOISE OnImgprcRemoveNoise)
ON_COMMAND(IDmy_IMGPRC_STANDARIZE OnImgprcStandarize)
ON_COMMAND(IDmy_IMGPRC_THINNING OnImgprcThinning)
ON_COMMAND(IDmy_IMGPRC_ADJUST_SLOPE OnImgprcAdjustSlope)
ON_COMMAND(IDmy_IMGPRC_GrayToWhiteBlack OnIMGPRCGrayToWhiteBlack)
ON_COMMAND(IDmy_IMGPRC_SHARP OnImgprcSharp)
ON_COMMAND(IDmy_FILE_RE_LOAD_BMP OnFileReLoadBmp)
ON_COMMAND(ID_INPUT1 OnInputGuiyihuaInfo)
ON_COMMAND(IDmy_BPNET_TRAIN OnBpnetTrain)
ON_COMMAND(IDmy_BPNET_RECOGNIZE OnBpnetRecognize)
ON_COMMAND(ID_aver Onaver)
ON_COMMAND(ID_Gass OnGass)
ON_COMMAND(ID_Mid OnMid)
ON_COMMAND(IDmy_IMGPRC_EQUALIZE OnImgprcEqualize)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CChildView message handlers

BOOL CChildView::PreCreateWindow(CREATESTRUCT& cs) 
{
if (!CWnd::PreCreateWindow(cs))
return FALSE;

cs.dwExstyle |= WS_EX_CLIENTEDGE;
cs.style &= ~WS_BORDER;
cs.lpszClass = AfxRegisterWndClass(CS_HREDRAW|CS_VREDRAW|CS_DBLCLKS 
::LoadCursor(NULL IDC_ARROW) HBRUSH(COLOR_WINDOW+1) NULL);

return TRUE;
}

void CChildView::OnPaint() 
{
CPaintDC dc(this); // device context for painting
OnDraw(&dc);
// Do not call CWnd::OnPaint() for painting messages
}

//打开256色位图文件
void CChildView::OnFileOpenBmp() 
{
//创建一个打开文件对话框,并返回完整的文件路径
static char baseD_CODE szFilter[] = “256色位图文件(*.bmp)|“;
CFileDialog dlg(TRUENULLNULLOFN_HIDEREADONLY|OFN_OVERWRITEPROMPTszFilterNULL);
    if(dlg.DoModal() == IDOK)
   strPathName = dlg.GetPathName();
else return;
//创建一个文件对象
    CFile file;
//以只读模式打开文件
file.Open (strPathNameCFile::modeRead);
//读取文件到HDIB句柄中. 注意:此时只是读取位图文件中文件头之后的部分不含文件头
m_hDIB=::ReadDIBFile (file);
//HDIB句柄: 就是一块存储位图数据的内存区域的地址
//HDIB句柄包含:位图信息头、调色板(如果有的话)、DIB图像数据
//关闭文件
file.Close ();
//指向DIB的指针(指向位图信息头)
BYTE* lpDIB

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      19140  2004-04-26 00:00  数字识别系统源代码\Bp.h

     文件      14319  2004-04-29 00:00  数字识别系统源代码\ChildView.cpp

     文件       2039  2004-04-29 00:00  数字识别系统源代码\ChildView.h

     文件       1282  2004-04-19 00:00  数字识别系统源代码\DBpParamater.h

     文件       1119  2004-04-19 00:00  数字识别系统源代码\DBpParamater.cpp

     文件      18382  2004-04-27 00:00  数字识别系统源代码\DIBAPI.CPP

     文件       1300  2004-04-15 00:00  数字识别系统源代码\DIBAPI.H

     文件       3908  2004-04-29 00:00  数字识别系统源代码\DigitRec.clw

     文件      46352  2004-04-29 00:00  数字识别系统源代码\DigitRec.aps

     文件       4890  2004-04-26 00:00  数字识别系统源代码\DigitRec.dsp

     文件       3682  2004-04-20 00:00  数字识别系统源代码\DigitRec.cpp

     文件        541  2004-04-15 00:00  数字识别系统源代码\DigitRec.dsw

     文件       1389  2004-04-15 00:00  数字识别系统源代码\DigitRec.h

     文件      13458  2004-04-29 00:00  数字识别系统源代码\DigitRec.rc

     文件       1184  2004-04-20 00:00  数字识别系统源代码\INPUT1.h

     文件       1008  2004-04-20 00:00  数字识别系统源代码\INPUT1.cpp

     文件       3256  2004-04-28 00:00  数字识别系统源代码\MainFrm.cpp

     文件       1625  2004-04-28 00:00  数字识别系统源代码\MainFrm.h

     文件       3893  2004-04-15 00:00  数字识别系统源代码\ReadMe.txt

     文件       1995  2004-04-29 00:00  数字识别系统源代码\Resource.h

     文件        210  2004-04-15 00:00  数字识别系统源代码\StdAfx.cpp

     文件        999  2004-04-15 00:00  数字识别系统源代码\StdAfx.h

     文件      50133  2004-04-29 00:00  数字识别系统源代码\mydiblib.h

     文件       1078  2004-04-19 00:00  数字识别系统源代码\res\DigitRec.ico

     文件        400  2004-04-15 00:00  数字识别系统源代码\res\DigitRec.rc2

     文件       1054  2004-04-15 00:00  数字识别系统源代码\res\Toolbar.bmp

    ..A.SH.      5120  2005-05-29 19:14  数字识别系统源代码\res\Thumbs.db

     目录          0  2005-05-20 12:02  数字识别系统源代码\res

     文件        720  2004-08-04 00:00  数字识别系统源代码\使用说明.txt

     目录          0  2005-05-20 12:02  数字识别系统源代码

............此处省略3个文件信息

评论

共有 条评论