Skip to contents

Helper function to download training data from the official tessdata repository. On Linux, the fast training data can be installed directly with yum or apt-get.

Helper function to download training data from the contributed tessdata_contrib repository.

Usage

tesseract_download(
  lang,
  model = c("fast", "best"),
  datapath = NULL,
  progress = interactive()
)

tesseract_contributed_download(
  lang,
  model = c("fast", "best"),
  datapath = NULL,
  progress = interactive()
)

Arguments

lang

three letter code for language, see tessdata repository.

model

either fast or best is currently supported. The latter downloads more accurate (but slower) trained models for Tesseract 4.0 or higher

datapath

destination directory where to download store the file

progress

print progress while downloading

Value

no return value, called for side effects

no return value, called for side effects

Details

Tesseract uses training data to perform OCR. Most systems default to English training data. To improve OCR performance for other languages you can to install the training data from your distribution. For example to install the spanish training data:

  • tesseract-ocr-spa (Debian, Ubuntu)

  • tesseract-langpack-spa (Fedora, EPEL)

On Windows and MacOS you can install languages using the tesseract_download function which downloads training data directly from github and stores it in a the path on disk given by the TESSDATA_PREFIX variable.

See also

tesseract_download

Other tesseract: ocr(), tesseract()

Other tesseract: ocr(), tesseract()

Examples

# download the french training data
# this is wrapped around a \donttest{} block because otherwise the clang19
# CRAN check will fail with a "> 5 seconds" message
# \donttest{
 dir <- tempdir()
 tesseract_download("fra", model = "best", datapath = dir)
#> [1] "/tmp/RtmphFJR7E/fra.traineddata"
 file <- system.file("examples", "french.png", package = "cpp11tesseract")
 text <- ocr(file, engine = tesseract("fra", datapath = dir))
 cat(text)
#> La fonction du langage, dit-on, est d'exprimer la pensée en la manifestant extérieurement. Il faut
#> pourtant apporter à cette formule une précision importante, et même en souligner l'insuffisance. En
#> effet la pensée doit ici être entendue au sens conceptuel, voire rationnel : l'expérience a montré que
#> les singes anthropoïdes peuvent accéder à une expression symbolique abstraite (utilisation de la
#> langue des signes des personnes sourdes, manipulation de symboles abstraits), mais il n'a jamais pu
#> être établi qu'un animal non humain soit capable d'exprimer une idée, ni même un concept. En
#> d'autres termes, certains animaux sont capables d'exprimer leurs besoins (la faim, la soif), leurs
#> émotions (désirs ou craintes, tristesse ou joie…), mais aucun ne semble capable de porter un
#> jugement liant des concepts, à l'exception de notre espèce. Cette précision rejoint la remarque déjà
#> formulée par des philosophes. Par exemple, remarque Aristote, les autres animaux peuvent exprimer
#> le plaisir ou la douleur, qui sont des sensations, non le juste et l'injuste, qui sont des idées (et c'est
#> pourquoi l'Homme, et l'Homme seulement, est « un animal politique »). Selon Descartes, seul le
#> langage (sous la forme de paroles articulées ou de tout autre système de signes équivalent) est
#> capable de formuler des idées et de les communiquer à d'autres.
# }
# download the greek training data
# this is wrapped around a \donttest{} block because otherwise the clang19
# CRAN check will fail with a "> 5 seconds" message
# \donttest{
 dir <- tempdir()
 tesseract_contributed_download("grc_hist", model = "best", datapath = dir)
#> [1] "https://github.com/tesseract-ocr/tessdata_contrib/raw/main/grc_hist/best/grc_hist.traineddata"
#> [1] "/tmp/RtmphFJR7E/grc_hist.traineddata"
 file <- system.file("examples", "polytonicgreek.png",
   package = "cpp11tesseract")
 text <- ocr(file, engine = tesseract("grc_hist", datapath = dir))
 cat(text)
#> 20 Ε 2 Σ. ΣΣ ν
#> ἠὲ καὶ ἀμφαδίην, ἐπεὶ οὔ τινα δείδιμεν ἔμπης·
#> οὐ γάρ τίς με βίῃ γε ἑκὼν ἀέκοντα δίηται,
#> 
#> 2 . 2 ’ 2 ο 2 2 Σ Α ΣΣΣ . 2 ῳ.
#> οὐδέ τι ἰδρείῃ, ἐπεὶ οὐδ’ ἐμὲ νήϊδά γ’ οὕτως
#> ἔλπομαι ἐν Σαλαμῖνι γενέσθαι τε τραφέμεν τε.
# }