gpt4 book ai didi

opencv - Tesseract提取的文本不清楚

转载 作者:行者123 更新时间:2023-12-02 17:46:01 25 4
gpt4 key购买 nike

我正在实现OCR系统。 Tesseract API用于提取。在提取文本之前,使用OpenCV对图像进行预处理。在预处理灰度下,进行锐化和自适应阈值化。在图像中提取文本后,将获得以下输出。

预期输出

Let's talk ;-)

获得输出
" yr _ W??? V. ? _
W fag '7? |g§3:? V
é claw?!

有人知道原因吗?
我编辑问题的方法是使用不同的路径来实现我的项目。输入图像并使用opnCV来锐化图像。这是输入图像。 input image

然后我得到以下输出。 Sharpened output image。当我为Tesseract Api使用锐化的图像时,它提供了字符混合。但是,如果我将输入图像提供给Tesseract API,它将正确提取单词。如何去除锐化图像中的那些阴影区域?

这是我用来锐化输入图像的代码
try {
System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
Mat source = Imgcodecs.imread("input.jpg",
Imgcodecs.CV_LOAD_IMAGE_GRAYSCALE);
Mat destination = new Mat(source.rows(), source.cols(), source.type());

Imgproc.equalizeHist(source, destination);
Imgcodecs.imwrite("sharpen.jpg", destination);

} catch (Exception e) {
System.out.println("error: " + e.getMessage());
}

最佳答案

好吧,您至少应该为我们提供输入图像,以便我们更好地了解问题所在。但是,从预期和实际输出中可以看出,您的输入图像非常难以扫描,因此可能存在一些可能(最常见)的问题:

  • 您的输入图像可能旋转得太多(甚至旋转了90度左右(我遇到了这个问题,当用android手机拍摄的照片旋转了90度并且扫描结果很糟糕时)。Tesseract无法识别偏斜并旋转图像)。
  • 图像中的字符分辨率太小(尝试使它们至少为10-12 pix,低于此分辨率,扫描输出将显着下降,分辨率越高,扫描将越快,越准确(处理较大的图像)。分辨率图像,具体取决于您的操作方式,它会变慢,因此应该有一些平衡。)
  • 图像可能太模糊,因此无法识别字母大炮。
  • 字母与阴影或其他对象混合在一起,它们太暗或受环境影响太大而无法扫描。

  • 您应该向我们提供您的输入图像及其处理方式,这将很容易找到您的问题,因此,如果有可能,请与我们分享。

    关于opencv - Tesseract提取的文本不清楚,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35819366/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com