資源簡介
基于開源視覺庫OpenCV 在MFC平臺上開發的車牌識別系統項目源代碼,可直接編譯運行
代碼片段和文件信息
//?AnnBP.cpp:?implementation?of?the?CAnnBP?class.
//
//////////////////////////////////////////////////////////////////////
#include?“StdAfx.h“
#include?“AnnBP.h“
#include?“math.h“
//////////////////////////////////////////////////////////////////////
//?Construction/Destruction
//////////////////////////////////////////////////////////////////////
CAnnBP::CAnnBP()
{
eta1=0.3;
momentum1=0.3;
}
CAnnBP::~CAnnBP()
{
}
double?CAnnBP::drnd()
{
return?((double)?rand()?/?(double)?BIGRND);
}
/***?返回-1.0到1.0之間的雙精度隨機數?***/
double?CAnnBP::dpn1()
{
return?(double)?(rand())/(32767/2)-1;
}
/***?作用函數,目前是S型函數?***/
double?CAnnBP::squash(double?x)
{
return?(1.0?/?(1.0?+?exp(-x)));
}
/***?申請1維雙精度實數數組?***/
double*?CAnnBP::alloc_1d_dbl(int?n)
{
double?*new1;
new1?=?(double?*)?malloc?((unsigned)?(n?*?sizeof?(double)));
if?(new1?==?NULL)?{
AfxMessageBox(“ALLOC_1D_DBL:?Couldn‘t?allocate?array?of?doubles\n“);
return?(NULL);
}
return?(new1);
}
/***?申請2維雙精度實數數組?***/
double**?CAnnBP::alloc_2d_dbl(int?m?int?n)
{
int?i;
double?**new1;
new1?=?(double?**)?malloc?((unsigned)?(m?*?sizeof?(double?*)));
if?(new1?==?NULL)?{
AfxMessageBox(“ALLOC_2D_DBL:?Couldn‘t?allocate?array?of?dbl?ptrs\n“);
return?(NULL);
}
for?(i?=?0;?i? new1[i]?=?alloc_1d_dbl(n);
}
return?(new1);
}
/***?隨機初始化權值?***/
void?CAnnBP::bpnn_randomize_weights(double?**w?int?m?int?n)
{
int?i?j;
for?(i?=?0;?i?<=?m;?i++)?{
for?(j?=?0;?j?<=?n;?j++)?{
w[i][j]?=?dpn1();
}
}
}
/***?0初始化權值?***/
void?CAnnBP::bpnn_zero_weights(double?**w?int?m?int?n)
{
int?i?j;
for?(i?=?0;?i?<=?m;?i++)?{
for?(j?=?0;?j?<=?n;?j++)?{
w[i][j]?=?0.0;
}
}
}
/***?設置隨機數種子?***/
void?CAnnBP::bpnn_initialize(int?seed)
{
CString?msgs;
msg=“Random?number?generator?seed:“;
s.Format(“%d“seed);
AfxMessageBox(msg+s);
srand(seed);
}
/***?創建BP網絡?***/
BPNN*?CAnnBP::bpnn_internal_create(int?n_in?int?n_hidden?int?n_out)
{
BPNN?*newnet;
newnet?=?(BPNN?*)?malloc?(sizeof?(BPNN));
if?(newnet?==?NULL)?{
printf(“BPNN_CREATE:?Couldn‘t?allocate?neural?network\n“);
return?(NULL);
}
newnet->input_n?=?n_in;
newnet->hidden_n?=?n_hidden;
newnet->output_n?=?n_out;
newnet->input_units?=?alloc_1d_dbl(n_in?+?1);
newnet->hidden_units?=?alloc_1d_dbl(n_hidden?+?1);
newnet->output_units?=?alloc_1d_dbl(n_out?+?1);
newnet->hidden_delta?=?alloc_1d_dbl(n_hidden?+?1);
newnet->output_delta?=?alloc_1d_dbl(n_out?+?1);
newnet->target?=?alloc_1d_dbl(n_out?+?1);
newnet->input_weights?=?alloc_2d_dbl(n_in?+?1?n_hidden?+?1);
newnet->hidden_weights?=?alloc_2d_dbl(n_hidden?+?1?n_out?+?1);
newnet->input_prev_weights?=?alloc_2d_dbl(n_in?+?1?n_hidden?+?1);
newnet->hidden_prev_weights?=?alloc_2d_dbl(n_hidden?+?1?n_out?+?1);
return?(newnet);
}
/*?釋放BP網絡所占地內存空間?*/
void?CAnnBP::bpnn_free(BPNN?*net)
{
int?n1?n2?i;
n1?=?net->
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2017-11-25?17:25??車牌識別系統code\
?????文件???????11579??2004-06-02?12:08??車牌識別系統code\AnnBP.cpp
?????文件????????2971??2004-06-02?11:54??車牌識別系統code\AnnBP.h
?????文件????????1456??2004-06-05?15:26??車牌識別系統code\CharView.cpp
?????文件????????1547??2004-06-05?15:26??車牌識別系統code\CharView.h
?????目錄???????????0??2017-11-25?16:54??車牌識別系統code\Debug\
?????文件???????49957??2017-11-23?23:41??車牌識別系統code\Debug\AnnBP.obj
?????文件???????????0??2017-11-23?23:41??車牌識別系統code\Debug\AnnBP.sbr
?????文件????????2462??2017-11-25?16:54??車牌識別系統code\Debug\BscMake.command.1.tlog
?????文件????????7048??2009-11-22?12:59??車牌識別系統code\Debug\BuildLog.htm
?????文件???????43300??2017-11-25?16:53??車牌識別系統code\Debug\CL.read.1.tlog
?????文件????????9230??2017-11-25?16:53??車牌識別系統code\Debug\CL.write.1.tlog
?????文件???????35065??2017-11-23?23:41??車牌識別系統code\Debug\CharView.obj
?????文件???????????0??2017-11-23?23:41??車牌識別系統code\Debug\CharView.sbr
?????文件???????32144??2017-11-23?23:41??車牌識別系統code\Debug\DigitClass.obj
?????文件???????????0??2017-11-23?23:41??車牌識別系統code\Debug\DigitClass.sbr
?????文件???????24430??2017-11-23?23:41??車牌識別系統code\Debug\GreyDlg.obj
?????文件???????????0??2017-11-23?23:41??車牌識別系統code\Debug\GreyDlg.sbr
?????文件???????39354??2017-11-23?23:41??車牌識別系統code\Debug\MainFrm.obj
?????文件???????????0??2017-11-23?23:41??車牌識別系統code\Debug\MainFrm.sbr
?????文件???????20410??2017-11-23?23:41??車牌識別系統code\Debug\Mdlg.obj
?????文件???????????0??2017-11-23?23:41??車牌識別系統code\Debug\Mdlg.sbr
?????文件???????23258??2017-11-23?23:41??車牌識別系統code\Debug\RecvChar.obj
?????文件???????????0??2017-11-23?23:41??車牌識別系統code\Debug\RecvChar.sbr
?????文件??????556008??2017-11-23?23:41??車牌識別系統code\Debug\StdAfx.obj
?????文件?????4137068??2017-11-23?23:41??車牌識別系統code\Debug\StdAfx.sbr
?????文件???????24297??2017-11-23?23:41??車牌識別系統code\Debug\Thinner.obj
?????文件???????????0??2017-11-23?23:41??車牌識別系統code\Debug\Thinner.sbr
?????文件???????23125??2017-11-23?23:41??車牌識別系統code\Debug\Training.obj
?????文件???????????0??2017-11-23?23:41??車牌識別系統code\Debug\Training.sbr
?????文件????????3970??2017-11-25?16:54??車牌識別系統code\Debug\bscmake.read.1.tlog
............此處省略108個文件信息
評論
共有 條評論