Implementieren der optischen Zeichenerkennung in Python



In diesem Artikel erhalten Sie detaillierte und umfassende Kenntnisse zur Implementierung einer optischen Zeichenerkennung in Python.

Die optische Zeichenerkennung ist von entscheidender Bedeutung und ein zentraler Aspekt Programmiersprache. Die Anwendung solcher Konzepte in realen Szenarien ist zahlreich. In diesem Artikel wird erläutert, wie die optische Zeichenerkennung in Python implementiert wird

Anwendungen der optischen Zeichenerkennung

Ticketschalter verwenden dies in großem Umfang zum Scannen und Erkennen von Schlüsselinformationen auf dem Ticket, um Routen und Pendlerdetails zu verfolgen. Konvertierung von Papiertext in digitale Formate, bei denen Kameras hochauflösende Fotos aufnehmen und diese dann mithilfe von OCR in ein Wort- oder PDF-Format bringen.





charachters

Die Einführung von OCR mit Python wird durch die Hinzufügung vielseitiger Bibliotheken wie 'Tesseract' und 'Orcad' zugeschrieben. Diese Bibliotheken haben vielen Programmierern und Entwicklern geholfen, ihr Code-Design zu vereinfachenund ihnen ermöglichen, mehr Zeit mit anderen Aspekten ihrer Projekte zu verbringen. Da die Vorteile enorm sind, lassen Sie uns einen Blick darauf werfen, was es ist und wie es gemacht wird.



Erstellen einer optischen Zeichenerkennung in Python

Wir müssen zuerst eine Klasse mit 'Pytesseract' machen. Mit dieser Klasse können wir Bilder importieren und scannen. Dabei werden Dateien mit der Erweiterung 'ocr.py' ausgegeben. Lassen Sie uns den folgenden Code sehen. Der Funktionsbaustein „process_image“ dient zum Schärfen des erhaltenen Textes.

Bereichsoperator c ++

Der folgende Routenhandler und die folgende Ansichtsfunktion werden der Anwendung hinzugefügt (app.py).

Router-Handler-Code



// ROUTE HANDLER @ app.route ('/ v {} / ocr'.format (_VERSION), Methoden = [' POST ']) def ocr (): try: url = request.json [' image_url '] if' jpg 'in url: output = process_image (url) return jsonify ({' output ': output}) else: return jsonify ({' error ':' nur .jpg-Dateien, bitte '}) außer: return jsonify ({' error ':' Wolltest du senden: {'image_url': 'some_jpeg_url'} '})

OCR-Motorcode

// OCR ENGINE importiere pytesseract importiere Anfragen von PIL importiere Image von PIL importiere ImageFilter von StringIO importiere StringIO def process_image (url): image = _get_image (url) image.filter (ImageFilter.SHARPEN) return pytesseract.image_to_string (image) def _get_image ( url): Image.open (StringIO (request.get (url) .content)) // zurückgeben

Stellen Sie sicher, dass Sie die Importe aktualisieren und die API-Versionsnummer hinzufügen.

import os import logging from logging import Formatter, FileHandler from flask import Flask, request, jsonify from ocr import process_image _VERSION = 1 # API version

Wir fügen der JSON-Antwort der OCR Engine-Funktion 'process_image ()' hinzu. JSON wird zum Sammeln von Informationen verwendet, die in die API ein- und ausgehen. Wir übergeben die Antwort in einer Objektdatei unter Verwendung der 'Image' -Bibliothek von PIL, um sie zu installieren.

Bitte beachten Sie, dass dieser Code nur mit JPG-Bildern am besten funktioniert. Wenn wir komplexe Bibliotheken verwenden, die mehrere Bildformate enthalten können, können alle Bilder effektiv verarbeitet werden. Wenn Sie diesen Code selbst ausprobieren möchten, installieren Sie bitte PIL, das zuerst aus der Bibliothek „Pillow“ bezogen wird

& bull Führen Sie zunächst die App aus, die 'app.py' lautet:

Installieren Sie PHP 7 unter Windows
// $ cd ../home/flask_server/ $ python app.py //

& bull Dann in einem anderen Terminal laufen:

// $ curl -X POST http: // localhost: 5000 / v1 / ocr -d '{' image_url ':' some_url '}' -H 'Inhaltstyp: application / json'

Beispielsweise:

// $ curl -X POST http: // localhost: 5000 / v1 / ocr -d '{' C: UsersakashDownloadsPic1 ':' https://edureka.com/images/blog_images/ocr/ocr.jpg '}' - H 'Inhaltstyp: application / json' {'Ausgabe': 'ABCDEnFGH I JnKLMNOnPQRST'} //

Vor- und Nachteile der OCR-Engine

Unter den vielen Anwendungen zur Verwendung von OCR in Python ist die Handschrifterkennung die beliebteste. Die Leute wenden dies an, um geschriebenen Text neu zu erstellen, der dann in zahlreiche Kopien gefüllt werden kann, anstatt nur das ursprüngliche Skript zu fotokopieren. Dies soll Einheitlichkeit und Lesbarkeit bewirken.

OCR ist auch nützlich, um PDFs in Texte zu konvertieren und als Variablen zu speichern. Dies kann später für beliebige Aufgaben einer beliebigen Vorverarbeitung unterzogen werden. Obwohl das Konzept der OCR in der Welt von Python ein nützliches Thema zu sein scheint, teilt es sicherlich seinen Teil der Nachteile.

Die OCR kann nicht immer eine 100% ige Genauigkeit garantieren. Mit Hilfe von Konzepten der künstlichen Intelligenz, die es der OCR-Engine ermöglichen, schlechte Bilder zu lernen und zu erkennen, müssen viele Stunden Training angewendet werden. Handschriftbilder können erkannt werden, hängen jedoch von verschiedenen Faktoren ab, wie dem Schreibstil, der Farbe der Seite, dem Kontrast des Bildes und der Auflösung des Bildes.

Damit sind wir am Ende dieses Artikels zur optischen Zeichenerkennung in Python angelangt. Ich hoffe, Sie verstehen, wie genau OCR funktioniert.

Sie können sich eingehend mit Python und seinen verschiedenen Anwendungen vertraut machen für Live-Online-Schulungen mit 24-Stunden-Support und lebenslangem Zugriff.

Hast du eine Frage an uns? Erwähnen Sie sie im Kommentarbereich von „Optische Zeichenerkennung in Python“ und wir werden uns bei Ihnen melden.