OpenCV 3.1 + tesseract 3.04的OCR(文本识别)结果因识别顺序而异

时间:2016-11-15 00:59:55

标签: c++ opencv text ocr tesseract

我目前正在使用以下示例代码:

https://github.com/opencv/opencv_contrib/blob/master/modules/text/samples/textdetection.cpp

奇怪的是,看似OCR结果可能会因我传递给ocr模块的图像顺序而有所不同。

例如。)如果有100帧图像带有文本,并且识别结果可能不同 - 我按顺序将每个帧传递给tesseract模块(总共100帧) 和 - 我按顺序将每个帧传递给tesseract模块(总共100帧)

理想情况下,上述两种情况都应该有相同的结果。

我已经确认它不是由erFilter部件引起的。来自erFilter的结果完全相同。这种差异似乎发生在openCV中的tesseract或tesseract包装器中。

差异也可能不同,只是信心值差异很小,与识别的文本不同。

我觉得OpenCV或tesseract记住了某些东西并影响了新框架的OCR结果,但我找不到任何规格说明。

请告诉我OpenCV / Tesseract的行为是否正常。

1 个答案:

答案 0 :(得分:2)

尝试使用handleNotificationReceived清除自适应数据或使用配置变量关闭自适应分类器:

ClearAdaptiveClassifier()

请参阅Tesseract FAQ