我可以使用 R 中的 tesseract ocr 包从该图像中提取某些单词吗?

问题描述 投票:0回答:1

我尝试使用 R 中的 ocr tesseract 包从 png 图像中提取文本(如下)

文字大部分是西班牙语。这是我的代码:

library(tesseract)
#tesseract_download("spa") #download the Spanish train data if you haven't already
spanish <- tesseract("spa")
path_string <- "factura.png"
text <- ocr(path_string, engine = spanish)
cat(text)

但结果却令人失望。

ném…c……
…r …
nw£ccwm … m…… u
mmm …"
pz… u—=,:4| nm;
mmmnzvgm 3134
NUM“ vmnscwm
cuaw ……er
nmcmvcn4 c…r vum
£m|unmusnm . u7m
¡…una
suma… ……
ncm u|s
m:s .
mm u7m
cmmo 1240
nmrAm au…va m m
m.
515 mu .…
…
=mmnzmo
a… rn¿a> rc.¿… ……
u7m
Rm mmm… swmks
…… mmm
m…—
Guuumwsucmm

这个糟糕的结果是由于低 dpi 造成的吗?是否可以通过修改预处理来改善这一点?

对于每张收据,我真正需要的只是取出带有“equilibrio”一词的行项目及其右侧的值(在本例中为 41,760)。可以告诉 tesseract 只关注某些单词并提取数字吗?

r ocr tesseract
1个回答
0
投票

我已经能够使用以下代码:

library(tesseract)
library(magick)

path_PDF <- "D:\\ymavy.pdf"
path_PNG <- "D:\\ymavy.png"

pdf(path_PDF, height = 12, width = 20)

im <- image_read(path_PNG)
plot(im)
dev.off()

text <- ocr(path_PDF)
strsplit(text, "\n")

[[1]]
 [1] "Réginen Comun"                   "NIT: $000808S5S-4"               "DIRECCION: Cra 68d#22b-71 L4"    "TELEFONO 4059003-3023099514"    
 [5] "FECHA 18-aqg0.-78 13:03:29"      "FACTURADE VENTA 312364"          "NOMBRE VENTAS CONTADO"           "CAJERO: ADMINISTRADOR"          
 [9] "DESCRIPCION CANT VALOR"          "EQUILIBRIOGATO j 41.760"         "FILHOTES"                        "SUBTOTAL 46,400"                
[13] "DCTO. 4479"                      "ITEMS 1"                         "TOTAL 47,7650"                   "CAMBIO 8,240"                   
[17] "TARIFAIVA BASE GRAVABLE VR.IVA"  "o% 0 0"                          "5% 39,771 1,888"                 "19% ) 0"                        
[21] "-ORMAS DE PAGO"                  "“fectwo T.Débao T.Crédao Cuenta" "47,760 0 0 0"                    "RESOL. FACTURACION SISTEMA POS" 
[25] "I8762005857222 2017-11-27"       "20086 al 1000000"                "GRACIAS POR SU COMPRA"          

© www.soinside.com 2019 - 2024. All rights reserved.