Я работаю над проектом, который включает в себя чрезвычайно большое количество PDF. Каждый PDF является изображением обычного документа офисного типа. Каждая страница PDF хранится отдельный файл. Есть ли способ сделать это быстрее (то есть с более низким вычислительным временем), чем мой текущий подход? < /p>
С помощью проекта такого размера любое небольшое улучшение производительности приведет к значительному снижению затрат на вычисление /время. В настоящее время призыв к Tesseract занимает примерно 2-3 порядка больше времени, чем все другие шаги обработки в проекте. Я лишил Python от этого вызова для ясности. < /P>
ghostscript -o image.tiff -q -r300x300 -sCompression=none -sDEVICE=tiffgray page.pdf
< /code>
Затем я запускаю по существу следующую процедуру. < /p>
def ocr( image ):
import tesseract, cv2.cv as cv
# Load Tesseract
api = tesseract.TessBaseAPI()
api.Init(".","eng",tesseract.OEM_DEFAULT)
api.SetPageSegMode(tesseract.PSM_AUTO)
# Load and OCR the image file
cv_image = cv.LoadImage(image, cv.CV_LOAD_IMAGE_GRAYSCALE)
tesseract.SetCvImage(cv_image, api)
# Return the text
return api.GetUTF8Text()
< /code>
Я немного упростил для ясности. Например, я на самом деле не загружаю Tesseract для каждого файла. Я обрабатываю исключения и т. Д. Однако различия не имеют значения, поскольку 99,9% случаев используется в вызове API.getUtf8text ().>
Подробнее здесь: https://stackoverflow.com/questions/161 ... finetuning
Эффективная тонкая настройка OCR ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение