我正在开发一个可以识别车牌(ANPR)的应用程序。第一步是从图像中提取车牌。我正在使用 OpenCV 根据宽度/高度比检测板,这很好用:
但正如您所见,OCR 结果非常糟糕。
我tesseract
在我的Objective C
(iOS)环境中使用。这些是我init
启动引擎时的变量:
// init the tesseract engine.
tesseract = new tesseract::TessBaseAPI();
int initRet=tesseract->Init([dataPath cStringUsingEncoding:NSUTF8StringEncoding], [language UTF8String]);
tesseract->SetVariable("tessedit_char_whitelist", "BCDFGHJKLMNPQRSTVWXYZ0123456789-");
tesseract->SetVariable("language_model_penalty_non_freq_dict_word", "1");
tesseract->SetVariable("language_model_penalty_non_dict_word ", "1");
tesseract->SetVariable("load_system_dawg", "0");
我怎样才能改善结果?我需要让 OpenCV 做更多的图像处理吗?或者有什么我可以用tesseract改进的吗?