Comment installer et utiliser Easyocr dans Linux

Comment installer et utiliser Easyocr dans Linux
Cet article couvrira un guide sur l'installation et l'utilisation de l'outil de ligne de commande Easyocr et du module Python. Disponible en tant qu'application gratuite et open source, il peut être utilisé pour identifier et extraire du texte des images. Il utilise la technologie de reconnaissance des caractères optiques (OCR) et une variété d'algorithmes et de modèles de langage différents pour détecter le texte.

Caractéristiques principales de Easyocr

Easyocr peut détecter le texte dans plus de 80 langues et scripts. Il comprend des modèles pré-formés pour ces langues, mais vous pouvez utiliser Easyocr pour former vos propres modèles à partir de zéro. Outre le contenu basé sur du texte numérique et imprimé trouvé dans les images, EasyOCC peut également détecter et extraire du texte manuscrit. Les autres caractéristiques principales de EasyOCR incluent la capacité de traiter par lots plusieurs images à la fois, la capacité de limiter et de bloquer certains caractères d'une langue, une option pour convertir les lignes extraites en paragraphes, la capacité de redimensionner et d'agrandir des images pour améliorer la précision de détection, etc.

Installation Easyocr dans Linux

Vous pouvez installer Easyocr dans Linux en utilisant le gestionnaire de packages PIP. Pour installer PIP Package Manager dans Ubuntu, utilisez la commande suivante:

$ sudo apt installer python3-Pip

PIP Package Manager est disponible dans les référentiels officiels de nombreuses distributions Linux, vous pouvez donc l'installer à partir du gestionnaire de packages stock. Vous pouvez également suivre les instructions d'installation officielles disponibles ici pour installer le gestionnaire de packages PIP dans votre système Linux.

Après avoir installé avec succès le Pip Package Manager, exécutez la commande suivante pour installer EasyOrCr dans Linux:

$ pip3 installer easyocr

Utilisation d'Easyocr dans Linux

L'image suivante sera utilisée pour extraire du texte via diverses commandes EasyOCH expliquées ci-dessous:

Pour extraire le texte de l'image ci-dessus, vous devrez exécuter une commande dans le format suivant:

$ easyocr -l en -f image.PNG

La première option «-l» peut être utilisée pour spécifier le langage du contenu texte que vous souhaitez être capturé par Easyocr. Vous pouvez spécifier plusieurs langues à l'aide de codes de langue séparés par commande. Le commutateur «-f» est utilisé pour spécifier le fichier d'image d'entrée. Une liste de toutes les langues soutenues par Easyocr et leurs codes peut être trouvée ici (faites défiler vers le bas pour les voir).

Après avoir exécuté la commande ci-dessus, vous devriez voir la sortie suivante dans le terminal:

La sortie montre certains nombres et le texte extrait de l'image. Cette sortie peut être lue dans le format suivant: Coordonnées des pièces de texte individuelles> Texte détecté> Niveau de confiance. Ainsi, les nombres sur le côté gauche représentent les coordonnées des zones de texte identifiées tandis que le nombre de droite le plus à droite indique à quel point le texte extrait est précis.

Si vous souhaitez simplement être détecté du texte sous forme lisible par humain, ajoutez le commutateur «-detail 0» à la commande ci-dessus:

$ easyocr -l en - Detetail 0 -f image.PNG

Après avoir exécuté la commande ci-dessus, vous devriez obtenir une sortie similaire à ceci:

Comme vous pouvez le voir dans la sortie, le texte extrait n'est pas dans l'ordre approprié. Vous pouvez essayer l'option de ligne de commande «-Paragraph True» pour rejoindre des pièces et des phrases individuelles dans un ordre approprié.

$ easyocr -l en --detail 0 - paragraphe true -f image.PNG

Après avoir exécuté la commande ci-dessus, vous devriez obtenir une sortie similaire à ceci:

Notez que selon la qualité et la clarté d'une image et le contenu texte de l'image, certaines inexactitudes peuvent toujours être présentes dans le texte extrait et vous devrez peut-être apporter des corrections manuelles pour les réparer.

Pour enregistrer le texte identifié dans un fichier externe, utilisez le symbole ">" et fournissez un nom pour le fichier de sortie. Voici un exemple de commande:

$ easyocr -l en --detail 0 - paragraphe true -f image.PNG> Sortie.SMS

Pour en savoir plus sur toutes les options de ligne de commande prises en charge par Easyocr, utilisez la commande suivante:

$ Easyocr - help

Utilisation de programmes Easyocr dans Python

Easyocr est également disponible en tant que bibliothèque Python, vous pouvez donc importer son module principal dans vos programmes Python. Vous trouverez ci-dessous un exemple de code illustrant son utilisation dans un programme Python:

Importer Easyocr
lecteur = Easyocr.Lecteur (['en'])
résultat = lecteur.ReadText ('Image.png ', détail = 0, paragraphe = true)
avec ouvert ("sortie.txt "," w ") comme f:
pour la ligne dans le résultat:
Imprimer (ligne, fichier = f)

La première instruction est utilisée pour importer le module «Easyocr» dans votre programme Python. Ensuite, une nouvelle instance de la classe «Reader» (classe de base) est créée en fournissant une liste de langues soutenues par Easyocr comme argument principal. Si votre image contient du texte en plusieurs langues, vous pouvez ajouter plus de codes de langue à la liste. Ensuite, la méthode «ReadText» est appelée sur l'instance «lecteur» et le chemin du fichier image est fourni comme premier paramètre. Cette méthode identifiera et extraitra le texte de l'image fournie. Les deux arguments facultatifs, «détail» et «paragraphe» sont les mêmes que les options de ligne de commande expliquées ci-dessus. Ils simplifient le texte en supprimant les éléments inutiles.

Après avoir exécuté la commande ci-dessus, vous devriez avoir une ligne suivante dans «Sortie.Fichier txt ”:

Vous pouvez en savoir plus sur l'API Python d'Easyocr à partir d'ici. Une version en ligne d'Easyocr est disponible ici pour tester.

Conclusion

Easyocr est un outil d'extraction de texte de ligne de commande qui est livré avec des modèles pré-formés pour de nombreuses langues. Cela permet aux utilisateurs finaux d'identifier et d'extraire rapidement des images sans avoir leurs propres modèles de langue. Il fournit également des coordonnées détaillées pour les boîtes de délimitation autour de mots identifiés et tokenisés, ce qui facilite l'analyse des textes individuels.