使用 Tesseract OCR 读取错误
Reading error using Tessearact OCR
我使用 Tesseract OCR 阅读文本。我的二值图是清晰的,但是用OCR读取图片的时候,出现读取错误。实际数字是05820,读出来是05320。非常清晰锐利的图像有错误,执行中可能有什么问题?
我附上了图片和我使用的 Tessearact 代码。
![enter image description here][1]int OCR::textRecognition(void){
tesseract::TessBaseAPI tess;
tess.Init(NULL, "eng", tesseract::OEM_DEFAULT);
tess.SetPageSegMode(tesseract::PSM_SINGLE_BLOCK);
tess.SetImage((uchar*)extText.data, extText.cols, extText.rows, 1, extText.cols);
// Get the text
char* out = tess.GetUTF8Text();
std::cout << out << std::endl;
return SUCCESS;
}
尝试使用您打算使用的字体训练 tesseract。它应该显着提高精度。您可以使用 Serak Tesseract Trainer 来执行此操作。
这是 youtube 教程:http://www.youtube.com/watch?v=47rgBL9NZkM
我使用 Tesseract OCR 阅读文本。我的二值图是清晰的,但是用OCR读取图片的时候,出现读取错误。实际数字是05820,读出来是05320。非常清晰锐利的图像有错误,执行中可能有什么问题? 我附上了图片和我使用的 Tessearact 代码。
![enter image description here][1]int OCR::textRecognition(void){
tesseract::TessBaseAPI tess;
tess.Init(NULL, "eng", tesseract::OEM_DEFAULT);
tess.SetPageSegMode(tesseract::PSM_SINGLE_BLOCK);
tess.SetImage((uchar*)extText.data, extText.cols, extText.rows, 1, extText.cols);
// Get the text
char* out = tess.GetUTF8Text();
std::cout << out << std::endl;
return SUCCESS;
}
尝试使用您打算使用的字体训练 tesseract。它应该显着提高精度。您可以使用 Serak Tesseract Trainer 来执行此操作。 这是 youtube 教程:http://www.youtube.com/watch?v=47rgBL9NZkM