opencv 神經網路識別字母 數字

2021-08-02 00:01:54 字數 1210 閱讀 1098

繼承自本人部落格:

原文只是識別數字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...