Как я могу использовать обученные данные?

#python #math #ocr #tesseract

Вопрос:

Я пытаюсь использовать модуль tesseract для распознавания математических уравнений. Итак, вот что я пробовал до сих пор:

 import cv2
import pytesseract

pytesseract.pytesseract.tesseract_cmd = r"C:Program FilesTesseract-OCRtesseract.exe"

img = cv2.imread("goodtest.jpg")


text = pytesseract.image_to_string(img, lang="eng equ")
print(text)

cv2.imshow("Img", img)
cv2.waitKey(0) # I can exit whenever I want
 

Вот изображение: изображение
Я включил lang="eng equ" в image_to_string часть кода, но мой вывод все равно получается таким:

 242/33
2x

2x 3xX

2xX 3x=4

2x?-3x  1=0
(x-1)(x 1) =x2-1
(x 2)/((x 3)(x-4))

7-4=3
V(x/2) =3

2xx—-3  3= 6x —3

fetdx=e% e

dy 2
ae
dz i

dy = (x? — 3)dx

(x3) 
 

Я слышал, что вы должны включать обученные данные equ.traineddata , чтобы они работали, но я не уверен, где я должен их включать и как. Я скачал файл с таким именем, equ.traineddata но я не уверен, что с ним делать, чтобы программа могла выполнять распознавание математических уравнений и таких терминов, как показатель степени или квадратный корень.

Любая помощь будет очень признательна.

Комментарии:

1. ваши данные могут иметь слишком низкое разрешение… простое увеличение масштаба не улучшает качество данных. это проблема, не зависящая от какой-либо математической разметки (надписей и т. Д.), Которая фактически потребовала бы распознавания текста для анализа и выражения таких пространственных/геометрических отношений между символами… github.com/tesseract-ocr/tesseract/issues/3028