[PYTHON] J'ai essayé d'extraire le texte du fichier image en utilisant Tesseract du moteur OCR

Contexte

J'ai pu extraire rapidement des données texte à partir d'un fichier image (données de formulaire de numérisation) à l'aide de Tesseract, je l'ai donc organisé sous forme de mémorandum.

1. 1. introduction

2. Courir

--En exécution, en tant que données de test, les données d'image de test introduites dans [Excel Macro] Extraire le texte dans l'image avec VBA + OCR Utiliser --Avant l'exécution, reportez-vous à "Comment exécuter l'OCR avec Python (article connexe 3.)" pour l'exécution et le code python. Créer --Le package ** PyOCR ** est requis pour utiliser ** tesseract ** de python ―― En utilisant ce package, il est possible (probablement) d'améliorer la ** précision d'extraction du texte ** (supprimer la corbeille).

C:\Users\xxx\work>python ocr_card.py test_data_3.png
Il est possible d'analyser la chaîne de caractères décrite sur l'image avec un programme et d'acquérir uniquement le texte sous forme de chaîne de caractères.!Cette fois, je voudrais vous présenter une méthode de reconnaissance de caractère qui se déguise en ami et la regarde.
La chaîne de caractères décrite sur l'image
Analysé par programmation et texte

Peut être obtenu sous forme de chaîne de caractères

Est possible!

Cette fois, ce sont des frais.
Le Wakaroku de Nori vous regarde
Je voudrais présenter une méthode de reconnaissance de caractères
Je vais.

――En outre, en référence à "[Pyocr + TesseractOCR] Impression du journal des courses de chevaux; Amélioration de la précision ♬ (Article connexe 4.)", la taille des données d'image Développer

C:\Users\xxx\work>python ocr_card.py test_data_3_mod.png
Il est possible d'analyser la chaîne de caractères décrite sur l'image avec un programme et d'acquérir uniquement le texte sous forme de chaîne de caractères.!Cette fois, je voudrais vous présenter une méthode de reconnaissance des personnages talentueuse qui prétend être une taxe à la japonaise et la déguiser en une jeune maladie.
La chaîne de caractères décrite sur l'image
Analysé par programmation et texte
Peut être obtenu sous forme de chaîne de caractères
Est possible!

Cette fois, j'ai fait semblant d'être un frais de médecine japonaise
La jeune maladie de Nori est une phrase talentueuse
Je voudrais présenter une méthode de reconnaissance de caractères
Je vais.

--En outre, pour comprendre ** Tesseract **, voir "Blog mémoire d'Otake Yatani (Article connexe 5.) ] Sera utile

3. 3. Considération

Quatre. Amélioration de la précision

Alors, comment améliorez-vous la précision?

・ Créez vos propres données d'apprentissage et laissez-les apprendre

Les méthodes qui peuvent être considérées en amateur sont les suivantes. Cependant, il est nécessaire d'étudier l'outil (cette fois, Tesseract) pour voir si cela peut être fait. (1) Dans le cas de l'écriture manuscrite ⇒ Préparer et former des données d'apprentissage qui reflètent les caractéristiques (habitudes) des caractères manuscrits dans l'image originale. ・ "Tesseract 4.1 pour réapprendre les caractères manuscrits à l'aide de LSTM (Article connexe 7.)" ・ "[23 publié] OCR (reconnaissance optique de caractères) / résumé de l'ensemble de données de reconnaissance de caractères manuscrits (Article connexe 8.) »

(2) Préparez la police utilisée dans l'image d'origine en tant que données d'entraînement et entraînez-la.

・ Méthode immédiate

Ce qui suit décrit dans "[SikuliX] Trois moyens d'améliorer la précision de lecture du japonais OCR (article connexe 9.)" Vous pouvez vous attendre à une amélioration de la précision en essayant trois (je pense) (1) Agrandir et lire l'image à une taille de police appropriée (2) Préparez une image avec une résolution aussi élevée que possible (3) Définir la liste noire et la liste blanche

Article associé

  1. Comprendre la licence OSS (Connaissez-vous la différence entre «utiliser» et «utiliser»?)
  2. Comment installer Tesseract OCR sous Windows
  3. Comment exécuter l'OCR en Python
  4. [Pyocr + Tesseract OCR] Impression du journal des courses de chevaux; amélioration de la précision ♬
  5. Notes d'Odake Hachiya
  6. Comment convertir un PDF en fichier image (JPEG, PNG) avec Python
  7. Tesseract 4.1 pour réapprendre les caractères manuscrits à l'aide de LSTM
  8. [23 listes] OCR (reconnaissance optique de caractères) / résumé de l'ensemble de données de reconnaissance de caractères manuscrites
  9. [SikuliX] Trois moyens d'améliorer la précision de lecture du japonais OCR 10.Documentation of Tesseract OCR 11.tesseract-ocr/tesseract
  10. Reconnaissance de caractères avec Python et Tesseract OCR
  11. Tesseract 4.1 pour réapprendre le japonais avec LSTM
  12. Essayez de lire des phrases écrites en lettres shell avec OCR
  13. Apprendre avec le moteur de reconnaissance de caractères Tesseract OCR
  14. [Créer des données d'entraînement pour Tesseract avec jTessBoxEditor](https://nekodeki.com/jtessboxeditor%E3%81%A7tesseract%E3%81%AE%E5%AD%A6%E7%BF%92%E3% 83% 87% E3% 83% BC% E3% 82% BF% E3% 82% 92% E4% BD% 9C% E6% 88% 90% E3% 81% 99% E3% 82% 8B / # Tesseract)
  15. Essayez l'OCR simple avec Tesseract + PyOCR
  16. Utilisation de Tesseract avec PyOCR
  17. [Essayez ocr en redimensionnant l'image de 10 lignes et 10 colonnes de caractères régulièrement espacés sans bordures (Python + Tesseract)](http://chuckischarles.hatenablog.com/entry/2018/11/ 14/000952)
  18. [Comment utiliser la commande tesseract (Tesseract OCR 4.x)](https://blog.machine-powers.net/2018/08/02/learning-tesseract-command-utility/#%E3%83%9A% E3% 83% BC% E3% 82% B8% E3% 82% BB% E3% 82% B0% E3% 83% A1% E3% 83% B3% E3% 83% 86% E3% 83% BC% E3% 82% B7% E3% 83% A7% E3% 83% B3% E3% 83% A2% E3% 83% BC% E3% 83% 89 psm)
  19. J'ai essayé de jouer avec l'option PSM de tesseract
  20. Utilisation de base de Tesseract 4 écrit en Python. Comment exécuter l'OCR depuis l'API et la CLI

Recommended Posts

J'ai essayé d'extraire le texte du fichier image en utilisant Tesseract du moteur OCR
J'ai essayé de corriger la forme trapézoïdale de l'image
J'ai essayé d'utiliser le filtre d'image d'OpenCV
J'ai essayé de transformer l'image du visage en utilisant sparse_image_warp de TensorFlow Addons
J'ai essayé d'obtenir les résultats de Hachinai en utilisant le traitement d'image
J'ai essayé d'extraire et d'illustrer l'étape de l'histoire à l'aide de COTOHA
Python Open CV a essayé d'afficher l'image sous forme de texte.
J'ai essayé de compresser l'image en utilisant l'apprentissage automatique
[Python] J'ai essayé de juger l'image du membre du groupe d'idols en utilisant Keras
J'ai essayé de trouver l'entropie de l'image avec python
J'ai essayé de trouver la matrice affine dans l'alignement de l'image (correspondance des points caractéristiques) en utilisant la transformation affine
J'ai essayé de créer l'image de démarrage SD de LicheePi Nano
J'ai essayé de traiter l'image dans un "style de dessin au crayon" avec OpenCV
J'ai essayé d'utiliser Azure Speech to Text.
J'ai essayé de classer le texte en utilisant TensorFlow
J'ai essayé d'estimer la similitude de l'intention de la question en utilisant Doc2Vec de gensim
J'ai essayé d'extraire automatiquement les mouvements des joueurs Wiire avec un logiciel
J'ai essayé de visualiser le texte du roman "Weather Child" avec Word Cloud
J'ai fait un programme pour vérifier la taille d'un fichier avec Python
J'ai essayé d'afficher la valeur d'altitude du DTM dans un graphique
J'ai essayé l'histoire courante de l'utilisation du Deep Learning pour prédire la moyenne Nikkei
En utilisant COTOHA, j'ai essayé de suivre le cours émotionnel de la course aux meros.
J'ai essayé de vectoriser les paroles de Hinatazaka 46!
J'ai essayé de prédire la détérioration de la batterie lithium-ion en utilisant le SDK Qore
J'ai essayé de notifier la mise à jour de "Hameln" en utilisant "Beautiful Soup" et "IFTTT"
J'ai essayé d'automatiser le travail de masquage du visage de l'image de coordination pour l'usure
J'ai essayé d'extraire des fonctionnalités avec SIFT d'OpenCV
J'ai essayé de détecter l'iris à partir de l'image de la caméra
J'ai essayé de résumer la forme de base de GPLVM
J'ai essayé de toucher un fichier CSV avec Python
J'ai essayé d'approcher la fonction sin en utilisant le chainer
J'ai essayé d'utiliser l'API de Sakenowa Data Project
J'ai essayé de visualiser les informations spacha de VTuber
J'ai essayé d'effacer la partie négative de Meros
J'ai essayé d'identifier la langue en utilisant CNN + Melspectogram
J'ai essayé de compléter le graphe de connaissances en utilisant OpenKE
J'ai essayé de classer les voix des acteurs de la voix
J'ai essayé de résumer les opérations de chaîne de Python
L'arrière-plan des caractères de l'image texte est surexposé pour faciliter la lecture.
J'ai essayé de prédire la victoire ou la défaite de la Premier League en utilisant le SDK Qore
J'ai essayé de notifier la mise à jour de "Devenir romancier" en utilisant "IFTTT" et "Devenir un romancier API"
Python pratique 100 coups J'ai essayé de visualiser l'arbre de décision du chapitre 5 en utilisant graphviz
Je voulais collecter beaucoup d'images, j'ai donc essayé d'utiliser "google image download"
J'ai essayé de trier les objets de l'image du plat de steak-④ Clustering
J'ai essayé de mettre HULFT IoT (Agent) dans la passerelle Rooster de Sun Electronics
[First data science ⑥] J'ai essayé de visualiser le prix du marché des restaurants à Tokyo
Je souhaite extraire uniquement les pods avec l'étiquette spécifiée à l'aide du sélecteur d'étiquettes dans Client-go
[Courses de chevaux] J'ai essayé de quantifier la force du cheval de course
J'ai essayé d'obtenir les informations de localisation du bus Odakyu
J'ai essayé de trouver la moyenne de plusieurs colonnes avec TensorFlow
J'ai essayé de refactoriser le modèle CNN de TensorFlow en utilisant TF-Slim
J'ai essayé de simuler l'optimisation des publicités à l'aide de l'algorithme Bandit
J'ai essayé la reconnaissance faciale du problème du rire en utilisant Keras.
J'ai essayé de résumer le code souvent utilisé dans Pandas
J'ai essayé d'illustrer le temps et le temps du langage C
[Python] J'ai essayé de visualiser la relation de suivi de Twitter