int main()
{
cv::Mat lettersmat = cv::imread("letters.jpeg", cv::IMREAD_GRAYSCALE);
cv::threshold(lettersmat, lettersmat, 128, 255, cv::THRESH_BINARY);
tesseract::TessBaseAPI* ocr = new tesseract::TessBaseAPI();
if (ocr->Init(NULL, "eng", tesseract::OEM_LSTM_ONLY) == 0)
{
ocr->SetVariable("user_defined_dpi", "96");
ocr->SetImage(lettersmat.data, lettersmat.cols, lettersmat.rows, 1, lettersmat.step);
std::string outText = std::string(ocr->GetUTF8Text());
cout << "Text: " << endl;
cout << outText.c_str() << endl;
ocr->End();
}
else
{
cout << "Could not initialize Tesseract API." << endl;
}
}我好像读不懂这4个简单的字母。他们在泰晤士报。输出结果远未达到预期效果,有时甚至会出现随机字符。
这是图片:letters.jpeg
发布于 2021-02-02 15:38:37
我在Tesseract上的工作并不多,但也许我能帮上忙。你不需要一个细分吗?喜欢
ocr->SetPageSegMode(tesseract::PSM_AUTO);?
发布于 2021-02-02 22:30:59
docs.
https://stackoverflow.com/questions/66004370
复制相似问题