Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
EasyOCR — 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. | Kitploit
Outils/GitHubGitHub/jaidedai/easyocr
Utilitaires GénérauxScripting et AutomatisationApprentissage Automatique
GitHubjaidedai/easyocr

EasyOCR

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.

Voir le dépôtSite web
29.9k3.6kil y a 8 moisVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

EasyOCR

PyPI Status license Tweet Twitter

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 : Hugging Face Spaces

Nouveautés

  • 24 septembre 2024 - Version 1.7.2

    • Correction de plusieurs problèmes de compatibilité
  • Lire toutes les notes de version

À venir

  • Prise en charge du texte manuscrit

Exemples

example

example2

example3

Installation

Installez avec pip

Pour la dernière version stable :

root@kitploit:~
pip install easyocr

Pour la dernière version de développement :

root@kitploit:~
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.

Utilisation

root@kitploit:~
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.

root@kitploit:~
[([[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.

root@kitploit:~
reader.readtext('chinese.jpg', detail = 0)

Résultat :

root@kitploit:~
['愚园路', '西', '东', '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.

root@kitploit:~
reader = easyocr.Reader(['ch_sim','en'], gpu=False)

Pour plus d'informations, lisez le tutoriel et la documentation de l'API.

Exécution en ligne de commande

root@kitploit:~
$ easyocr -l ch_sim en -f chinese.jpg --detail=1 --gpu=True

Entraîner/utiliser votre propre modèle

Pour le modèle de reconnaissance, lisez ici.

Pour le modèle de détection (CRAFT), lisez ici.

Feuille de route d'implémentation

  • Prise en charge du manuscrit
  • Restructurer le code pour prendre en charge des algorithmes de détection et de reconnaissance interchangeables L'API devrait être aussi simple que
root@kitploit:~
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.

plan

Remerciements et références

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.

Le modèle de reconnaissance est un CRNN (article). Il est composé de 3 composants principaux : l'extraction de caractéristiques (nous utilisons actuellement Resnet) et VGG, l'étiquetage de séquences (LSTM) et le décodage (CTC). Le pipeline d'entraînement pour l'exécution de la reconnaissance est une version modifiée du framework deep-text-recognition-benchmark. (Merci @ku21fan de @clovaai) Ce dépôt est un joyau qui mérite plus de reconnaissance.

Le code de recherche par faisceau (beam search) est basé sur ce dépôt et son blog. (Merci @githubharald)

La synthèse de données est basée sur TextRecognitionDataGenerator. (Merci @Belval)

Et une bonne lecture sur le CTC de distill.pub ici.

Envie de contribuer ?

Faisons progresser l'humanité ensemble en rendant l'IA accessible à tous !

3 façons de contribuer :

Développeur : Envoyez une PR pour les petits bugs/améliorations. Pour les plus gros, discutez avec nous en ouvrant d'abord une issue. Il existe une liste de problèmes/améliorations potentiels étiquetés avec 'PR WELCOME'.

Utilisateur : Dites-nous comment EasyOCR vous profite, à vous ou à votre organisation, pour encourager le développement continu. Publiez également les cas d'échec dans la section des issues pour aider à améliorer les futurs modèles.

Leader technique/Gourou : Si vous trouvez cette bibliothèque utile, faites passer le mot ! (Voir le post de Yann Lecun à propos d'EasyOCR)

Lignes directrices pour une demande de nouvelle langue

Pour demander une nouvelle langue, nous avons besoin que vous envoyiez une PR avec les 2 fichiers suivants :

  1. Dans le dossier easyocr/character, nous avons besoin de 'yourlanguagecode_char.txt' qui contient la liste de tous les caractères. Veuillez consulter les exemples de format des autres fichiers de ce dossier.
  2. Dans le dossier easyocr/dict, nous avons besoin de 'yourlanguagecode.txt' qui contient une liste de mots dans votre langue. En moyenne, nous avons ~30000 mots par langue, et plus de 50000 mots pour les langues les plus populaires. Plus il y en a, mieux c'est dans ce fichier.

Si votre langue a des éléments uniques (tels que 1. Arabe : les caractères changent de forme lorsqu'ils sont attachés les uns aux autres + écriture de droite à gauche 2. Thaï : certains caractères doivent être au-dessus de la ligne et d'autres en dessous), veuillez nous informer au mieux de vos connaissances et/ou fournir des liens utiles. Il est important de prêter attention aux détails pour obtenir un système qui fonctionne vraiment.

Enfin, veuillez comprendre que notre priorité devra aller aux langues populaires ou aux ensembles de langues qui partagent de grandes portions de leurs caractères entre elles (dites-nous également si c'est le cas pour votre langue). Il nous faut au moins une semaine pour développer un nouveau modèle, vous devrez donc peut-être attendre un certain temps avant que le nouveau modèle soit publié.

Voir la liste des langues en développement

Problèmes GitHub

En raison de ressources limitées, une issue datant de plus de 6 mois sera automatiquement fermée. Veuillez rouvrir une issue si elle est critique.

Demandes commerciales

Pour le support entreprise, Jaided AI propose un service complet pour les systèmes OCR/AI personnalisés, de l'implémentation à l'entraînement/fin-tunage et au déploiement. Cliquez ici pour nous contacter.

Télécharger l’outil