VietOCRest une interface graphique utilisateur pour Tesseract OCR engine qui permet une reconnaissance de caractères à partir de formats d'image courants, et d'images multi-pages. Le programme dispose d'un post-traitement qui corrige les erreurs habituellement produites par le processus de reconnaissance optique. Le taux de reconnaissance s'en trouve augmenté. Le programme peut aussi fonctionner en console, en utilisant la ligne de commande.
Le traitement par lot est maintenant possible. Le programme surveille l'ajout d'images dans un dossier déterminé, les traite automatiquement par OCR et envoie le texte reconnu dans un dossier de destination.
Java Runtime Environment 8 ou postérieur. Sous Windows, Microsoft Visual C++ 2022 Redistributable Package est également nécessaire.
L'exécutable Tesseract Windows est fourni avec le programme. Les fichiers de langues additionnelles pour Tesseract language data packs, dont le nom commence par des codes ISO639-3, doivent être placés dans le sous-dossier tessdata
.
Pour Linux, Tesseract et ses données de langues se trouvent dans le dépôt Graphics (universe). Ils peuvent être installés en utilisant Synaptic ou avec la commande suivante:
sudo apt-get install tesseract-ocr tesseract-ocr-eng tesseract-ocr-vie
Les fichiers seront placés dans /usr/bin
et /usr/share/tesseract-ocr/tessdata
,
respectivement. Mais si Tesseract est installé à partir de source,
ils seront placés dans /usr/local/bin
et /usr/local/share/tessdata
.
Vous pouvez aussi indiquer à VietOCR l'emplacement
de tessdata
par la variable d'environnement TESSDATA_PREFIX
:
export TESSDATA_PREFIX=/usr/local/share/
Pour les autres plate-formes, veuillez vous reporter à la page Tesseract Wiki.
VietOCR permet aussi le téléchargement et l'installation d'autres langues par le menu Download Language Data. Selon l'emplacement du
dossier tessdata
, vous devrez peut-être lancer le programme en root ou
en administrateur pour pouvoir installer les données téléchargées si le dossier se trouve dans un dossier système, comme /usr
sous Linux ou C:\Program Files
sous Windows.
Sous Windows, l'outil de numérisation est fourni par la bibliothèque d'acquisition d'image Windows v2.0.
Sous Linux, la numérisation nécessite l'installation de paquetages SANE:
sudo apt-get install libsane sane sane-utils libsane-extras xsane
La prise en compte du format PDF est possible via PDFBox.
La correction orthographique est assurée par Hunspell, dont les fichiers
dictionary (.aff
, .dic
) devraient être placés
dans le dossier dict
de VietOCR. user.dic
est un fichier encodé en UTF-8 qui contient une liste de mots personnalisés, un mot par ligne.
Sous Linux, Hunspell et ses dictionnaires peuvent être installés par Synaptic ou apt
, de la manière suivante:
sudo apt-get install hunspell hunspell-en-us
Pour lancer le programme:
java -jar VietOCR.jar
Note: En cas d'erreur Mémoire insuffisante, lancer le script ocr
au lieu d'utiliser le .jar.
Les données concernant la langue vietnamienne ont été créées pour les polices Times New Roman, Arial, Verdana et Courier New. De ce fait, la reconnaissance aura un meilleur taux de réussite pour les images de fontes aux caractéristiques visuelles semblables. Dans le cas de caractères d'apparence différente des polices supportées, l'utilisation de training Tesseract pour créer de nouvelles données de langue spécifiques donnera de meilleurs résultats. Des données pour quelques polices VNI et TCVN3 (ABC) ont été ajoutées aux versions les plus récentes.
Pour l'OCR, les images doivent être numérisées avec une résolution comprise entre 200 DPI (dot per inch) et 400 DPI en monochrome (noir et blanc) ou niveaux de gris. Numériser à des résolutions plus élevées n'améliorera pas forcément le taux de reconnaissance, qui atteint déjà 97¨% pour le Vietnamien, et sera sans doute amélioré par la prochaine version de Tesseract. Même ainsi, le taux réel dépend grandement de la qualité de l'image numérisée. Le réglage typique est de 300 DPI et 1 bpp (bit per pixel) en noir et blanc, ou 8 bpp en niveaux de gris, pour les formats TIFF ou PNG non compressés.
Le mode Screenshot Mode offre un meilleur taux de reconnaissance pour les images à basse résolution, telles que des captures d'écran, en les rééchantillonnant jusqu'à 300 DPI.
En complément à l'algorithme de post-traitement incorporé, vous pouvez ajouter votre schéma de remplacement de texte personnalisé, grâce à un fichier de texte séparé par tabulations et encodé en UTF-8. Son nom est x.DangAmbigs.txt
, ou x représente le code ISO639-3 de la langue. Texte ordinaire et Regex sont supportés.
Vous pouvez définir des paramètres de démarrage ou autres dans les fichiers tessdata/configs/tess_configs
et tess_configvars
respectivement, pour modifier le comportement de Tesseract.
Des outils ont été incorporés pour fusionner plusieurs images ou PDF en un seul fichier, ce qui rend les opérations d'OCR plus pratiques, ou pour fractionner un PDF en fichiers plus petits si sa taille initiale risque de poser des problèmes de mémoire insuffisante.
Les erreurs de reconnaissance peuvent être classées en trois catégories. La plupart concernent la casse - par exemple hOa, nhắC - et sont facilement corrigées par les éditeurs de texte Unicode courants. Beaucoup d'autres erreurs réultent du processus d'OCR, comme le manque de signes diacritiques, la confusion de lettres de formes proches, etc. - huu - huư, mang - marg, h0a - hoa, la - 1a, uhìu - nhìn. Elles peuvent être aussi facilement corrigées par des programmes de vérification orthographique. Le programme intégré de post-traitement peut corriger beaucoup d'erreurs de ces deux catégories.
La dernière catégorie d'erreurs est la plus difficile à détecter, car elles sont sémantiques, ce qui veut dire que les mots existent bien dans le dictionnaire, mais sont erronés dans leur contexte - ainsi tinh - tình, vân - vấn. Ces erreurs demandent une relecture et une correction manuelle en conformité avec l'image d'origine.
Les instructions suivantes expliquent comment corriger les deux premières catégories d'erreurs en utilisant les fonctionnalités intégrées:
Les étapes précédentes permettent d'éliminer la plupart des erreurs. Les erreurs sémantiques restantes sont peu nombreuses, mais elles nécessitent une relecture humaine et des corrections manuelles pour rendre le texte conforme au document numérisé.
Vous pouvez poster vos questions sur la page VietOCR Forum.