Je suis récemment tombé sur Tesseract et OpenCV . Il semble que Tesseract est un moteur OCR à part entière et OpenCV peut être utilisé comme cadre pour créer une application / service OCR.
J'ai essayé d'utiliser Tesseract sur certaines de mes images et sa précision semble correcte. Plus tard, je suis tombé sur un tutoriel très simple sur l'utilisation d'OpenCV pour effectuer l'OCR en utilisant Python et j'ai été impressionné. En quelques minutes, j'ai terminé la formation du système et sa précision était bonne. Mais bien sûr, en adoptant cette approche, je dois entraîner mon système de manière approfondie à l'aide d'un grand ensemble de formation.
Mes questions spécifiques sont les suivantes:
- Comment choisir entre Tesseract et utiliser OpenCV pour créer une application OCR personnalisée?
- Il existe des ensembles de données de formation disponibles pour Tesseract pour différentes langues. OpenCV a-t-il quelque chose de similaire pour que je n'ai pas à recommencer pour réaliser l'OCR?
- Lequel est le meilleur pour une application commerciale qui veut être?
Aucune suggestion?
OCR accuracy tests
et vous trouverez des graphiques. Et en parlant d'applications mobiles, la plupart utilisent tesseract. Mais si vous prenez la peine de télécharger certains d'entre eux, vous verrez que les résultats sont un peu différents des promesses. Ils font généralement une démo vidéo dans un environnement soigneusement contrôlé et la publient sur youtube, mais dans la nature, si vous scannez une page / recette / carte / quoi que ce soit, vous obtiendrez des résultats amusants.Réponses:
Tesseract est un moteur OCR. Il est utilisé, travaillé et financé par Google spécifiquement pour lire du texte à partir d'images, effectuer une segmentation de base de documents et fonctionner sur des entrées d'image spécifiques (un seul mot, une ligne, un paragraphe, une page, des dictionnaires limités, etc.).
OpenCV, en revanche, est une bibliothèque de vision par ordinateur qui comprend des fonctionnalités qui vous permettent d'effectuer une extraction de fonctionnalités et une classification de données. Vous pouvez créer un segmenteur de lettres et un classificateur simples qui exécutent l'OCR de base, mais ce n'est pas un très bon moteur OCR (j'en ai déjà créé un en Python à partir de zéro. Il est vraiment inexact pour les entrées qui s'écartent de vos données d'entraînement).
Si vous voulez avoir une compréhension de base de la dureté de l'OCR, essayez OpenCV. Tesseract est pour la vraie OCR.
la source
0
comme un8
(au total de 20,00 $). J'admets que le chiffre était difficile même pour moi à déchiffrer mais je n'étais pas sûr de ce qui pouvait être fait d'autre pour adapter Tesseract à ces situations ou peut-être introduire un composant d'apprentissage si je disposais d'une base d'utilisateurs active.Je suis l'auteur de ce didacticiel sur la reconnaissance des chiffres que vous avez mentionné, et je dirais que ce n'est pas un substitut à tesseract.
Tesseract est un très bon moteur OCR, peut-être le meilleur moteur OCR OpenSource.
Le didacticiel que vous avez mentionné est juste un essai pour comprendre le fonctionnement le plus simple de l'OCR.
Donc, si vous recherchez une application OCR, je vous recommande d'utiliser OpenCV pour prétraiter l'image, puis d'appliquer le moteur tesseract.
la source
Les deux peuvent être complémentaires. Si vous lisez l'article sur OpenCV: https://github.com/tesseract-ocr/docs/blob/master/tesseracticdar2007.pdf
Il souligne que "étant donné que HP avait développé de manière indépendante une technologie d'analyse de mise en page qui était utilisée dans les produits, (et donc non disponible pour l'open-source), Tesseract n'a jamais eu besoin de sa propre analyse de mise en page. Tesseract suppose donc que son entrée est une image binaire avec régions de texte polygonales facultatives définies. "
Ce type de tâche peut être effectué par OpenCV et l'image résultante transmise à Tesseract. Vous pouvez trouver un exemple de ce type de code dans le référentiel Git: https://github.com/Itseez/opencv_contrib/tree/master/modules/text/samples Les exemples utilisent les API Tesseract pour effectuer la conversion d'image en texte.
la source
OpenCV est une bibliothèque de CV , utilisée pour analyser et traiter des images en général. Tesseract est une bibliothèque pour OCR , qui est un sous-ensemble spécialisé de CV dédié à l'extraction de texte à partir d'images.
Depuis OpenCV.org
Depuis Tesseract Github :
la source