如何使用 Tesseract 提高 OCR 质量?

How to improve OCR quality using Tesseract?

我正在使用 opencv 从桌面应用程序屏幕截图中提取图像矩阵,并使用 tesseract 读取裁剪后的图像。例如,如果您参考下面的图片,Tesseract 提取 "Relationship" 图像为 R'e'auunshwp,成员为 Mamba!

对于tesseract,附加图像的质量是否太低?我可以做些什么来改善它?

更新

我使用以下代码调整图像大小,提高了 OCR 质量。但是,如何计算 300DPI,然后如何确保图像的纵横比在比例下保持不变?

    Mat resizedMat = new Mat();
    Size sz = new Size(mat.rows()*10,mat.cols()*10);
    Imgproc.resize(mat,resizedMat,sz);

分辨率太低。尝试重新缩放到 300DPI。

我终于用这段代码解决了它,使用 OpenCV -

Mat resizedMat = new Mat();
double width = mat.cols();
double height = mat.rows();
double aspect = width / height;
Size sz = new Size(width * aspect * 2, height * aspect * 2);
Imgproc.resize(mat, resizedMat, sz);

正如 nguyenq 所说,您应该重新缩放图像,因为 tesseract 难以扫描低质量图像。

我已经为另一个人回答过类似的问题,你也应该尝试这样做。将图像大小增加 200-400%,如果这没有帮助,请进行一些模糊处理,然后设置阈值。