我正在实施OCR系统。 Tesseract API用于提取。图像在提取文本之前使用OpenCV进行预处理。在预处理灰度化下,进行锐化和自适应阈值处理。在提取图像中的文本后,获得以下输出。Tesseract不清楚的文本提取
期望输出
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());
}
什么是输入图像? – Ferrybig
这是一个带有文本的jpg图像让我们来谈谈;-) –
我尝试在Java项目中使用tesseract从我们网站上的图像中提取文本。我得到了混合的结果,我们使用的图像通常是500 x 500像素。 – neal