如何使用Tesseract提高OCR质量?

时间:2016-04-19 11:19:03

标签: java opencv ocr tesseract

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

对于tesseract,附加图像的质量是否太低?我该怎么做才能改善它?

enter image description here enter image description here

更新

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

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

3 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分:1)

我终于使用此代码解决了它,使用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);

答案 2 :(得分:1)

正如nguyenq所说,你应该重新调整你的图像,因为tesseract很难扫描低质量的图像。

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

相关问题