我对图像处理/计算机视觉很陌生,我试着读取sudoku图像的字符。我认为我的cv部分工作正常,因为我传递给tesseract的图像是我所期望的,但是tesseract给了我非常奇怪的结果。我正在传递的图像
是给我“ne”而不是"5“。
我有下面的代码来处理提取:
char* extract_value(Mat img)
{
tesseract::TessBaseAPI *ocr = new tesseract::TessBaseAPI();
char* outText;
ocr->SetPageSegMode(tesseract::PSM_AUTO);
ocr->Init(NULL, "eng", tesseract::OEM_LSTM_ONLY);
if (ocr->Init(NULL, "eng")) {
std::cout << "Could not initialize Tesseract." << std::endl;
return outText;
}
ocr->SetImage(img.data, img.cols, img.rows, 3, img.step);
outText = ocr->GetUTF8Text();
ocr->End();
delete ocr;
return outText;
}非常混乱,任何提示都将是非常感谢的,干杯!
发布于 2022-04-15 16:12:20
您应该从阅读tesseract文档开始,并了解用于OCR的参数。使用正确的参数,您可以得到正确的结果。
https://stackoverflow.com/questions/71877349
复制相似问题