#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