車牌字元識別OCR演算法評估

2021-07-04 00:21:39 字數 2005 閱讀 1230

最近學習了《mastering opencv with pratical computer vision projects》中第五章:基於svm和神經網路的車牌識別系統。原文最後提到:當訓練ocr這樣的機器學習演算法時,需要知道所使用的最佳引數和特徵,以及如何修正專案中出現的分類、識別和檢測錯誤。文中給出的方法是直接讀取儲存樣本特徵的xml檔案,將所有樣本分為測試組(100個)和訓練組,最後通過unix指令碼來批量不同引數下誤差率的計算,並使用gnuplot繪圖顯示。因為本人對unix指令碼語言沒有接觸,這裡提供一種生成.m檔案,匯入matlab實現誤差率與所取特徵視覺化方法。

1.ocr演算法評估類

class evalocr ;
2.ocr演算法類的具體實現

#include "evalocr.h"

char* data_type[4]=;

//隨機抽取100個樣本

void evalocr::generaterandom(int n,int min,int max,vector*samples)

if(n<100)

}//通過訓練模型分類結果與原始類別進行對比,求出錯誤率

float evalocr::test(mat samples,mat classes)

return errors/samples.rows;

}void evalocr::evaluate(const char* xml_file_path, const string &resname) ;

file* f = fopen(resname.c_str(), "w");

cv_assert(f != null);

fprintf(f, "clear;\nclose all;\nclc;\nhold on;\nfigure(1);\n\n");

evaluate(xml_file_path,prec);

string leglendstr("legend(");

for (int i = 0; i < train_data_type_num; i++)

leglendstr.resize(leglendstr.size() - 2);

leglendstr += ");";

fprintf(f, "%s\nhold off;\nxlabel('threshold');\nylabel('precise');\ngrid on;", leglendstr.c_str());

fclose(f);

}void evalocr::evaluate(const char* xml_file_path,vector>& prec)

fprintf(f, "];\n");

return i;

}

3.函式主框架

int main()

{ string resultfilename="d:\\evaluateshow.m";

string xml_path="d:\\ocr.xml";

//vector> precise;

evalocr evalocr;

evalocr.evaluate(xml_path.c_str(),resultfilename);

cout<

4.視覺化結果圖

總結說明:

1.讀入的"ocr.xml"檔案儲存了不同解析度下(5*5,10*10,15*15,20*20)下的特徵及所屬類別,本文讀取的是隨書附帶的".xml"檔案,並未做修改,讀入時請注意配置自己的檔案路徑,若需要自己選取字元特徵進行識別判斷,請生成自己的"xml"檔案。

2.神經網路隱藏層數本測試規定為100層,在此僅僅提供一種視覺化方法,並未對特徵選取,引數選擇做進一步的討論,而這些對優化系統至關重要。

3.本人小菜鳥一枚,如有任何錯誤,請大神指出,還要不斷努力學習。

OCR字元識別

ocr optical character recognition 全稱光學字元識別技術,在halcon中,ocr常被用來分割區域及讀取識別影象中的字元含義。字元識別ocr原理及應用實現 ocr指電子裝置 掃瞄器 數位相機等 檢測在紙上列印的字元,通過檢測暗亮的模式確定其形狀,然後用字元識別方法將形...

OCR光學字元識別

沒搞過計算機視覺,只好拿來主義了 根據網上的推薦 1.google vision,識別效果還不錯,收費,而且對於複雜文字也不是很理想,所以繼續尋找開源 2.tesseract,最負盛名的開源識別軟體,據說google vision內部也是基於此。就我們公司的需求來說 提取中嵌入的文字 tessera...

OCR字元識別檢測

一 字元識別系統描述 本系統用於電子秤出廠前校驗過程中顯示重量數字的讀取及傳送功能,系統採用進口工業相機,可以快速獲取產品影象,通過影象識別 分析和計算,給出電子秤顯示的重量數值,也可根據誤差範圍進行判斷並輸出ok ng訊號,以便於裝置執行下一步操 作。三 字元識別系統設計思路 本公司基於機器視覺影...