Я использую последний механизм распознавания текста Tesseract в R для извлечения текста из пары изображений. Это работает довольно хорошо, и я доволен результатами. Проблема в том, что мне не нужен весь текст, только какая-то его часть, но я не знаю, как его извлечь.
Код такой:
library("tesseract")
library("pdftools")
library("magick")
mypdfFile<-"C:/Users/.../fileName.pdf"
mypngFile<-pdf_convert(mypdfFile, format="png", pages=1, dpi=600)
myImage<-image_read("fileName_1.png")
textFile<-ocr(myImage,engine = tesseract("spa"), HOCR = FALSE) # Text is in spanish
cat(textFile)
Теперь конечный результат выглядит следующим образом
bla bla bla bla bla bla
bla text that I want to
extract bla bla bla bla
bla bla bla bla bla bla
Как я могу получить текст, который я хочу извлечь и только это?
Я пытался обрезать изображение перед применением функции ocr (), но просто невозможно обрезать эту часть. ocr () возвращает простой текст.
Полный пример ниже
Изображение (первоначально файл PDF) представляет собой счет за электроэнергию. Я не могу предоставить его полностью из-за проблем с конфиденциальностью, но выглядит это пример изображения . В разделе NOMBRE Y DIRECCION (имя и адрес) должно быть две строки (одна с именем, а другая с адресом), за которыми следует «GALEANA CENTRO LERDO. CP» (название города) и "35150 LERDO, DGO." (почтовый индекс и штат). Мой код выглядит так
myImage<-image_read("sampleImage.png")
myImage<-image_crop(myImage, new dimensions) #crop the right half and some from the top
textFile<-ocr(myImage,engine = tesseract("spa"), HOCR = FALSE)
cat(textFile)
Я получаю
Nombre y Domicilio
NAME REDACTED
ADDRESS REDACTED
GALEANA CENTRO LERDO. C.P.
35150 LERDO, DGO.
Cuenta E Tarifa
30DC27B011164660 General < 25kW 02
AE A MA E
Num. de Lectura Lectura Mult. C
Medidor actual anterior
BD6687 40994 40539 1 ¿
Apoyo gubernamental
Я просто хочу извлечь из этого все, что находится между "ИМЯ УДАЛЕНО" и "35150 ЛЕРДО, ДГО". включительно.