我正在尝试从弹出对话框中读取值。 我使用openCV查找信息图标和“关闭”按钮。然后我在两者之间进行裁剪。
这些是我的弹出对话框: Popup90409.png和Popup90411.png
我从弹出对话框中裁剪了以下图像:
从另一个SO问题开始,我使用ImageMagic增强图像以获得良好的效果(Is there any way to improve tesseract OCR with small fonts?)。
所以现在我尝试对图像进行OCR:
Tesseract正确读取90409,但不读取90411(来自各个图像)。 仔细观察图像,顶部有一条向右延伸的2像素线。 为了查看顶部的2像素行是否可能引起问题,我裁剪了图像,从顶部遗漏了2像素。
因此,从弹出对话框中裁剪出新图像:
再次使用上述ImageMagic方法增强以获得更好的OCR结果:
现在,Tesseract OCR可以正确读取90411。 但是,现在无法读取90409。
我应该如何处理图像以读取90409和90411?
p.s: Tesseract版本: tesseract 4.0.0-beta.3 leptonica-1.77.0(2018年9月10日,11:35:46)[MSC v.1915 LIB版本x64] libgif 5.1.4:libjpeg 9b:libpng 1.6.35:libtiff 4.0.9:zlib 1.2.11:libw ebp 1.0.0:libopenjp2 2.3.0 找到AVX 找到上证所
我在Windows上将Tesseract与python结合使用,如下所示:
config = ('--tessdata-dir "tessdata" -l eng --oem 1 --psm 3')
text = pytesseract.image_to_string(Image.open(filename), config=config)