资源简介
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 graduationwork\Debug\graduationwork.exe
文件 1195352 2015-08-28 16:11 graduationwork\Debug\graduationwork.ilk
文件 6392832 2015-08-28 16:11 graduationwork\Debug\graduationwork.pdb
文件 10089 2015-06-10 14:43 graduationwork\graduationwork\BPN.cpp
文件 1115 2015-06-05 14:18 graduationwork\graduationwork\BPN.h
文件 140003 2015-08-28 16:09 graduationwork\graduationwork\Debug\BPN.obj
文件 11194 2015-08-28 16:09 graduationwork\graduationwork\Debug\cl.command.1.tlog
文件 220788 2015-08-28 16:09 graduationwork\graduationwork\Debug\CL.read.1.tlog
文件 12012 2015-08-28 16:09 graduationwork\graduationwork\Debug\CL.write.1.tlog
文件 21233 2015-08-28 16:09 graduationwork\graduationwork\Debug\DIBAPI.obj
文件 2426 2015-05-28 11:39 graduationwork\graduationwork\Debug\graduationwork.Build.CppClean.log
文件 667 2015-05-28 11:40 graduationwork\graduationwork\Debug\graduationwork.exe.em
文件 732 2015-08-28 16:09 graduationwork\graduationwork\Debug\graduationwork.exe.em
文件 381 2015-08-28 16:11 graduationwork\graduationwork\Debug\graduationwork.exe.intermediate.manifest
文件 55 2015-08-28 16:11 graduationwork\graduationwork\Debug\graduationwork.lastbuildstate
文件 2389 2015-08-28 16:11 graduationwork\graduationwork\Debug\graduationwork.log
文件 135920 2015-08-28 16:09 graduationwork\graduationwork\Debug\graduationwork.obj
文件 33685504 2015-08-28 16:09 graduationwork\graduationwork\Debug\graduationwork.pch
文件 69824 2015-08-28 16:09 graduationwork\graduationwork\Debug\graduationwork.res
文件 713 2015-05-28 14:20 graduationwork\graduationwork\Debug\graduationwork.vcxprojResolveAssemblyReference.cache
文件 0 2015-05-28 11:39 graduationwork\graduationwork\Debug\graduationwork.write.1.tlog
文件 192001 2015-08-28 16:09 graduationwork\graduationwork\Debug\graduationworkDlg.obj
文件 218 2015-05-28 11:40 graduationwork\graduationwork\Debug\graduationwork_manifest.rc
文件 2 2015-08-28 16:11 graduationwork\graduationwork\Debug\li
文件 2 2015-08-28 16:11 graduationwork\graduationwork\Debug\li
文件 2 2015-08-28 16:11 graduationwork\graduationwork\Debug\li
文件 2 2015-08-28 16:11 graduationwork\graduationwork\Debug\li
文件 2 2015-08-28 16:11 graduationwork\graduationwork\Debug\li
文件 2 2015-08-28 16:11 graduationwork\graduationwork\Debug\li
文件 6434 2015-08-28 16:11 graduationwork\graduationwork\Debug\li
............此处省略82个文件信息
相关资源
- 数字图像处理第3版pdf
- 基于STM32的数字示波器设计
- 光电大赛图像处理文献及资料整理
- 医学图像处理
- 数字信号处理 原理、实现及应用_第
- 对Dxva2解码数据进行简单图像处理
- 数字电子技术基础 第6版带书签
- 数字设计原理与实践(中文)
- QT+opencv的图像处理
- 图像工程 第四版 上册 图像处理 讲义
- 29张标准测试图像,bmp图像
- 数字图像处理 冈萨雷斯 VC代码
- 数字电路与系统+第一版+课后答案王兢
- 数字电子技术基础第五版——阎石课
- 数字测图原理与方法 PDF
- Real-Time Digital Signal Processing Implementa
- mingw编译的opencv库
- 信息隐藏研究与发展综述
- 数字图像处理 冈萨雷斯 英文版 第三
- Digital Systems Design Using Verilog.bak
- [章毓晋] 图象工程(上册)图象处理
- [章毓晋] 图象工程(上册)图象处理
- [章毓晋] 图象工程(上册)图象处理
- 基于单片机的数字气压计MPX4250气压传
- msp430使用OLED实现数字钟.zip
- Logisim汉化版附汉化说明
- 基于FPGA的多功能时钟verilog语言.zip
- MNIST(手写数字图片识别+csv文件)数
- 数字电路与逻辑设计第二版学习指导
- 标准手写数字识别数据库
评论
共有 条评论