
OCR prêt à l'emploi avec plus de 80 langues prises en charge et toutes les écritures courantes, notamment le latin, le chinois, l'arabe, le dévanagari, le cyrillique, etc.
OCR prêt à l'emploi avec 80+ langues prises en charge et tous les systèmes d'écriture populaires, notamment : latin, chinois, arabe, devanagari, cyrillique, etc.
Essayez la démo sur notre site web
Intégré dans Huggingface Spaces 🤗 à l'aide de Gradio. Essayez la démo web :
24 septembre 2024 - Version 1.7.2



Installez avec pip
Pour la dernière version stable :
pip install easyocr
Pour la dernière version de développement :
pip install git+https://github.com/JaidedAI/EasyOCR.git
Remarque 1 : Sous Windows, veuillez d'abord installer torch et torchvision en suivant les instructions officielles ici https://pytorch.org. Sur le site pytorch, assurez-vous de sélectionner la bonne version de CUDA que vous avez. Si vous avez l'intention de n'utiliser que le mode CPU, sélectionnez CUDA = None.
Remarque 2 : Nous fournissons également un Dockerfile ici.
import easyocr
reader = easyocr.Reader(['ch_sim','en']) # this needs to run only once to load the model into memory
result = reader.readtext('chinese.jpg')
La sortie sera sous forme de liste ; chaque élément représente respectivement une boîte englobante, le texte détecté et le niveau de confiance.
[([[189, 75], [469, 75], [469, 165], [189, 165]], '愚园路', 0.3754989504814148),
([[86, 80], [134, 80], [134, 128], [86, 128]], '西', 0.40452659130096436),
([[517, 81], [565, 81], [565, 123], [517, 123]], '东', 0.9989598989486694),
([[78, 126], [136, 126], [136, 156], [78, 156]], '315', 0.8125889301300049),
([[514, 126], [574, 126], [574, 156], [514, 156]], '309', 0.4971577227115631),
([[226, 170], [414, 170], [414, 220], [226, 220]], 'Yuyuan Rd.', 0.8261902332305908),
([[79, 173], [125, 173], [125, 213], [79, 213]], 'W', 0.9848111271858215),
([[529, 173], [569, 173], [569, 213], [529, 213]], 'E', 0.8405593633651733)]
Remarque 1 : ['ch_sim','en'] est la liste des langues que vous souhaitez lire. Vous pouvez passer plusieurs langues à la fois, mais toutes les langues ne peuvent pas être utilisées ensemble. L'anglais est compatible avec toutes les langues et les langues qui partagent des caractères communs sont généralement compatibles entre elles.
Remarque 2 : Au lieu du chemin de fichier chinese.jpg, vous pouvez également passer un objet image OpenCV (tableau numpy) ou un fichier image sous forme d'octets. Une URL vers une image brute est également acceptable.
Remarque 3 : La ligne reader = easyocr.Reader(['ch_sim','en']) sert à charger un modèle en mémoire. Cela prend du temps, mais il suffit de l'exécuter une seule fois.
Vous pouvez également définir detail=0 pour une sortie plus simple.
reader.readtext('chinese.jpg', detail = 0)
Résultat :
['愚园路', '西', '东', '315', '309', 'Yuyuan Rd.', 'W', 'E']
Les poids du modèle pour la langue choisie seront téléchargés automatiquement, ou vous pouvez les télécharger manuellement depuis le hub de modèles et les placer dans le dossier '~/.EasyOCR/model'
Si vous n'avez pas de GPU, ou si votre GPU a peu de mémoire, vous pouvez exécuter le modèle en mode CPU uniquement en ajoutant gpu=False.
reader = easyocr.Reader(['ch_sim','en'], gpu=False)
Pour plus d'informations, lisez le tutoriel et la documentation de l'API.
$ easyocr -l ch_sim en -f chinese.jpg --detail=1 --gpu=True
Pour le modèle de reconnaissance, lisez ici.
Pour le modèle de détection (CRAFT), lisez ici.
reader = easyocr.Reader(['en'], detection='DB', recognition = 'Transformer')
L'idée est de pouvoir intégrer n'importe quel modèle de pointe dans EasyOCR. Beaucoup de génies tentent de créer de meilleurs modèles de détection/reconnaissance, mais nous n'essayons pas d'être des génies ici. Nous voulons simplement rendre leurs travaux rapidement accessibles au public... gratuitement. (enfin, nous croyons que la plupart des génies veulent que leur travail ait un impact positif aussi rapidement et aussi largement que possible) Le pipeline devrait ressembler au schéma ci-dessous. Les emplacements gris sont des espaces réservés pour les modules bleu clair interchangeables.

Ce projet est basé sur la recherche et le code de plusieurs articles et dépôts open-source.
Toute l'exécution deep learning est basée sur Pytorch. ❤️
L'exécution de la détection utilise l'algorithme CRAFT de ce dépôt officiel et de leur article (Merci @YoungminBaek de @clovaai). Nous utilisons également leur modèle pré-entraîné. Le script d'entraînement est fourni par @gmuffiness.