Python PyTesseract 精度改进

Python PyTesseract Acuracy Improvement

我知道之前有人问过这个问题,我一直在尝试几种不同的方法并进行更改,但无法弄清楚如何让它发挥作用。我有一堆页面可以完美地工作。这是布局完美的明文。但出于某种原因,在其中一张纸上它搞砸了并且阅读了完全错误的信息。下面我附上了我的代码、输出和图像。

import pytesseract
import cv2
import numpy as np

img = cv2.imread('page_3.jpg')

img = cv2.resize(img, None, fx=2, fy=2)

img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)

kernel = np.ones((1, 1), np.uint8)

cv2.imwrite('thresh.png', img)


for psm in range(6, 13 + 1):
    config = '--oem 3 --psm %d' % psm
    txt = pytesseract.image_to_string(img, config=config, lang='eng')
    print('psm ', psm, ':', txt)

照片如下:

然后是输出。由于某种原因,它可以完美运行到最后。所有输出(psm 6、11 和 12)的读数完全相同。感谢任何帮助。

1885-1015

1886-1280

1956-0044

2087-0047

2087-0155

2087-1433

2221-0093L

2221-0093R

2331-4628R

2992-/114R

29593-0007R

您的图片根本不需要任何预处理。它已经是完美的和结构化的。因此,在将图像传递给 tesseract 之前尽量不要调整图像的大小。 您的情况不需要调整大小。 希望这有帮助。