繼承自本人部落格:
原文只是識別數字0-9,簡單修改後可以識別24個字母(除了i,o)與數字。
把0與o看成一類,1與i看成一類
+ vs2012 + 64位
#include #include #include #include using namespace cv;
using namespace std;
char* wchartochar(const wchar_t* wp)
wchar_t* chartowchar(const char* c)
wchar_t* stringtowchar(const string& s)
int main()
};//每一行乙個訓練樣本
float labels[class_mun*sample_mun_perclass][class_mun]=};//訓練樣本標籤
for(int i = 0; i <= class_mun - 1; i++)//不同類
else//a-z
filereadpath = perfilereadpath + "/" + temp + "/" + fileform;
cout<<"資料夾"<((int)k/8,(int)k%8);//(float)train_image.data[k];
//cout<(k/8,k%8)<(1,5) << image_rows*image_cols,128,128,128,class_mun);
bp.create(layersizes,cvann_mlp::sigmoid_sym,1.0,1.0);//cvann_mlp::sigmoid_sym
//cvann_mlp::gaussian
//cvann_mlp::identity
cout<<"training...."for(int i = 0; i(0,i) = (float)test_temp.at(i/8,i%8);
} mat responsemat;
bp.predict(samplemat,responsemat);
point maxloc;
double maxval = 0;
minmaxloc(responsemat,null,&maxval,null,&maxloc);
if (maxloc.x <= 9)//0-9
else//a-z
cout<<"識別結果:"<
用訓練好的神經網路識別字元
在sample資料夾下放了一些測試字元,都是20 20的。用來識別的。同時在工程目錄下放置了訓練好的神經網路xml檔案。如下圖 const int numcharacter 10 這裡只有0 9共10種字元 cvann mlp ann vectorgetfiles const string fold...
解決mariadb識別字母大小敏感問題
mariadb是mysql資料庫下的乙個分支,為什麼要用mariadb呢?是因為他是永久開源的,mysql自從被人收購後有不開源的風險,切換成mariadb也蠻容易的,但 linux下安裝好mariadb後,在使用時會發現mariadb對大小寫敏感,這對開發帶來一定的不利,這時只要在配置檔案中配置一...
神經網路識別車牌字元
opencv高階之路 神經網路識別車牌字元寫過有關用神經網路識別車牌字元的文章,但無奈只給出了樣本,沒有具體的 在這裡補足這個遺憾。opencv環境配置請參考 以下是 include mrdir.h const char mlpmodel ann.xml 中國車牌 const char strcha...