PyTesseract 在表中看不到一些个位数

我有这张桌子的图片

http://img2.mukewang.com/64915d070001ae2d06500250.jpg

我正在尝试使用 PyTesseract 解析它。我已经非常接近使用这段代码了:


from PIL import Image, ImageOps

import pytesseract


og_image = Image.open('og_image.png')

grayscale = ImageOps.grayscale(og_image)

inverted = ImageOps.invert(grayscale.convert('RGB'))

print(pytesseract.image_to_string(inverted))

这似乎非常准确,除了倒数第二列中的个位数是空白。我需要做一些不同的事情来获取这些数字吗?


芜湖不芜
浏览 136回答 1
1回答

富国沪深

Tesseract有多种页面切分模式,选择合适的切分模式有助于获得最佳效果。同样在这种情况下,您可以限制tesseract为特定字符集。另一件事tesseract是对字体和图像大小敏感。一个简单的调整大小可以大大改变结果。在这里,我将图像大小水平更改为 2,垂直更改以获得最佳结果;)结合以上所有内容,您将获得:custom_config = r'--psm 6  -c tessedit_char_whitelist=0123456789.'print(pytesseract.image_to_string(inverted.resize((1506, 412), Image.ANTIALIAS), config=custom_config))      1525 .199 303 82 161 162 7 .2411464 .290 424 70 139 198 25 .3521456 .292 425 116 224 224 0 .3451433 .240 346 81 130 187 15 .2751390 .273 373 108 217 216 3 .3451386 .276 383 54 181 154 18 .3151225 .208 255 68 148 129 1 .2421218 .238 230 46 128 127 18 .2731117 .240 268 43 113 1193 1 .308
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python