基于BP神经网络的数字识别系统源代码


VS2010环境下开发的基于BP神经网络的数字识别系统 本系统可以识别彩色数字 已经多数字数字 仅供学习交流
资源截图
代码片段和文件信息

#include “stdafx.h“
#include “BPN.h“
#include 
#include 
extern int flag;
 /*** 返回 weightPath的值 ***/
CString BPNET::bpn_get_weightPath()
{
return weightPath;
}
 /*** 返回 filePathName的值 ***/
CString BPNET::bpn_get_filePathName()
{
return filePathName;
}
 /*** 设置weightPath的值 ***/
void BPNET::bpn_set_weightPath(CString str1)
{
weightPath=str1;
}
/*** 设置filePathName的值 ***/
void BPNET::bpn_set_filePathName(CString str1)
{
filePathName=str1;
}


/**********************************
* 函数名称 getVector()
*
* 参量:
*   CString strPathName 样本文件路径
*
*  函数功能 :
*      对于输入样本提取特征向量,在这里把样本的横向和纵向的黑点的
*  数量做为向量
**************************************/
double*  BPNET::getVector(CString strPathName)
{   
//加载图片
CvScalar cs;                               //声明像素变量
IplImage *imgt;
double *data;
// 为这个数组申请一维存储空间
data = alloc_1d_dbl(40);

for(int i=0;i<40;i++)
{
data[i]=0;
}

imgt=cvLoadImage(strPathName-1);
for(int j=0;jheight;j++)
for(int t=0;twidth;t++)
{
cs=cvGet2D(imgt j t);
if((cs.val[0]+cs.val[1]+cs.val[2])==0)
{
data[j]++;
data[t+20]++;
}

}


return(data);

}

/*double*  BPNET::getVector(BYTE* lpDIBBitsint lSwidthint lSheight)
{   
//循环变量
    BYTE* lpSrc; 

    //  建立保存特征向量的数组
double *data;
int len = lSwidth*lSheight/8;
// 为这个数组申请一维存储空间
data = alloc_1d_dbl(lSwidth+lSheight);

for(int i=0;i {
data[i]=0;
}

for(int j=0;j {

lpSrc = lpDIBBits + j;
unsigned char buf=*lpSrc;
for(int n=0;n<8;n++)
{
int x=buf;
if(x<128)//该位为0,黑色
{
data[(j*8+n)/lSwidth]++;
data[(j*8+n)%lSwidth+20]++;
}
(buf<<1);
}
}

return(data);  
}*/
/**********************************
* 函数名称 getVector8()
*
* 参量:
*   CString mm 样本序号

*  
*
*  函数功能 :
*      对于输入样本8位位图提取特征向量,在这里把样本的横向和纵向的黑点的
*  数量做为向量
**************************************/
double*  BPNET::getVector8(CString xh)
{   
//加载图片
CvScalar cs;                               //声明像素变量
IplImage *imgt;
double *data;
// 为这个数组申请一维存储空间
data = alloc_1d_dbl(40);

for(int i=0;i<40;i++)
{
data[i]=0;
}
CString strPathNameSave=filePathName;//1
if(flag!=1)
{

int s=strPathNameSave.Find(‘.‘);//2
strPathNameSave.Insert(sxh);//3 

}
imgt=cvLoadImage(strPathNameSave-1);
for(int j=0;jheight;j++)
for(int t=0;twidth;t++)
{
cs=cvGet2D(imgt j t);
if((cs.val[0]+cs.val[1]+cs.val[2])==0)
{
data[j]++;
data[t+20]++;
}

}


return(data);

}

  




/****************************************************
* 函数名称 BpTrain()

* 参数:
*   double **data_in    -指向输入的特征向量数组的指针    
* double **data_out   -指向理想输出数组的指针
* int n_in            -输入层结点的个数 
*   int n_hidden        -BP网络隐层结点的数目
*   double min_ex       -训练时允许的最大均方误差
*   double momentum     -BP网

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

     文件     187392  2015-08-28 16:11  graduationworkDebuggraduationwork.exe

     文件    1195352  2015-08-28 16:11  graduationworkDebuggraduationwork.ilk

     文件    6392832  2015-08-28 16:11  graduationworkDebuggraduationwork.pdb

     文件      10089  2015-06-10 14:43  graduationworkgraduationworkBPN.cpp

     文件       1115  2015-06-05 14:18  graduationworkgraduationworkBPN.h

     文件     140003  2015-08-28 16:09  graduationworkgraduationworkDebugBPN.obj

     文件      11194  2015-08-28 16:09  graduationworkgraduationworkDebugcl.command.1.tlog

     文件     220788  2015-08-28 16:09  graduationworkgraduationworkDebugCL.read.1.tlog

     文件      12012  2015-08-28 16:09  graduationworkgraduationworkDebugCL.write.1.tlog

     文件      21233  2015-08-28 16:09  graduationworkgraduationworkDebugDIBAPI.obj

     文件       2426  2015-05-28 11:39  graduationworkgraduationworkDebuggraduationwork.Build.CppClean.log

     文件        667  2015-05-28 11:40  graduationworkgraduationworkDebuggraduationwork.exe.embed.manifest

     文件        732  2015-08-28 16:09  graduationworkgraduationworkDebuggraduationwork.exe.embed.manifest.res

     文件        381  2015-08-28 16:11  graduationworkgraduationworkDebuggraduationwork.exe.intermediate.manifest

     文件         55  2015-08-28 16:11  graduationworkgraduationworkDebuggraduationwork.lastbuildstate

     文件       2389  2015-08-28 16:11  graduationworkgraduationworkDebuggraduationwork.log

     文件     135920  2015-08-28 16:09  graduationworkgraduationworkDebuggraduationwork.obj

     文件   33685504  2015-08-28 16:09  graduationworkgraduationworkDebuggraduationwork.pch

     文件      69824  2015-08-28 16:09  graduationworkgraduationworkDebuggraduationwork.res

     文件        713  2015-05-28 14:20  graduationworkgraduationworkDebuggraduationwork.vcxprojResolveAssemblyReference.cache

     文件          0  2015-05-28 11:39  graduationworkgraduationworkDebuggraduationwork.write.1.tlog

     文件     192001  2015-08-28 16:09  graduationworkgraduationworkDebuggraduationworkDlg.obj

     文件        218  2015-05-28 11:40  graduationworkgraduationworkDebuggraduationwork_manifest.rc

     文件          2  2015-08-28 16:11  graduationworkgraduationworkDebuglink-cvtres.read.1.tlog

     文件          2  2015-08-28 16:11  graduationworkgraduationworkDebuglink-cvtres.write.1.tlog

     文件          2  2015-08-28 16:11  graduationworkgraduationworkDebuglink.7472-cvtres.read.1.tlog

     文件          2  2015-08-28 16:11  graduationworkgraduationworkDebuglink.7472-cvtres.write.1.tlog

     文件          2  2015-08-28 16:11  graduationworkgraduationworkDebuglink.7472.read.1.tlog

     文件          2  2015-08-28 16:11  graduationworkgraduationworkDebuglink.7472.write.1.tlog

     文件       6434  2015-08-28 16:11  graduationworkgraduationworkDebuglink.command.1.tlog

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。

发表评论

评论列表(条)