Hoe optische tekenherkenning in Python te implementeren



Dit artikel geeft je een gedetailleerde en uitgebreide kennis van hoe je een optische tekenherkenning in Python implementeert.

Optische karakterherkenning is essentieel en een belangrijk aspect en programmeertaal. De toepassing van dergelijke concepten in realistische scenario's is talrijk. In dit artikel zullen we bespreken hoe optische tekenherkenning in Python geïmplementeerd kan worden

Toepassingen van optische tekenherkenning

Ticketbalies gebruiken dit op grote schaal voor het scannen en detecteren van belangrijke informatie op het ticket om routes en pendeldetails te volgen. Omzetting van papieren tekst in digitale formaten waarbij camera's foto's met hoge resolutie vastleggen en vervolgens wordt OCR gebruikt om ze om te zetten in een Word- of PDF-indeling.





charachters

De introductie van OCR met python wordt toegeschreven aan de toevoeging van veelzijdige bibliotheken zoals 'Tesseract' en 'Orcad'. Deze bibliotheken hebben veel codeerders en ontwikkelaars geholpen hun code-ontwerp te vereenvoudigenen laat ze meer tijd besteden aan andere aspecten van hun projecten. Omdat de voordelen enorm zijn, laten we eens kijken wat het is en hoe het wordt gedaan.



wat is meervoudige overerving in java

Een optische karakterherkenning bouwen in Python

We moeten eerst een klas maken met behulp van “pytesseract”. Met deze klasse kunnen we afbeeldingen importeren en scannen. Tijdens het proces zal het bestanden uitvoeren met de extensie “ocr.py”. Laten we de onderstaande code bekijken. Het functieblok 'process_image' wordt gebruikt om de tekst die we krijgen te verscherpen.

De volgende route-handler en view-functie zijn aan de applicatie toegevoegd (app.py).

Code routerhandler



// ROUTE HANDLER @ app.route ('/ v {} / ocr'.format (_VERSION), methodes = [' 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 ':' alleen .jpg-bestanden, alstublieft '}) behalve: return jsonify ({' error ':' Bedoelde u verzenden: {'image_url': 'some_jpeg_url'} '})

OCR-motorcode

// OCR ENGINE importeer pytesseract importverzoeken van PIL importeer afbeelding uit PIL importeer ImageFilter uit StringIO import StringIO def process_image (url): image = _get_image (url) image.filter (ImageFilter.SHARPEN) retourneer pytesseract.image_to_string (image) def _get_image ( url): return Image.open (StringIO (requests.get (url) .content)) //

Zorg ervoor dat u de invoer bijwerkt en het API-versienummer toevoegt.

import os import logging uit logging import Formatter, FileHandler uit flask import Flask, request, jsonify uit ocr import process_image _VERSION = 1 # API-versie

We voegen het JSON-antwoord van de functie van de OCR-engine toe dat 'process_image ()' is. JSON wordt gebruikt voor het verzamelen van informatie die in en uit de API gaat. We geven het antwoord door in een objectbestand met behulp van de 'Image' -bibliotheek van PIL om het te installeren.

Houd er rekening mee dat deze code alleen het beste werkt met .jpg-afbeeldingen. Als we complexe bibliotheken gebruiken die meerdere afbeeldingsindelingen kunnen bevatten, kunnen alle afbeeldingen effectief worden verwerkt. Merk ook op dat als u geïnteresseerd bent in het zelf uitproberen van deze code, installeer dan eerst PIL, dat u uit de 'Pillow' -bibliotheek kunt halen.

& bull Begin met het uitvoeren van de app, die 'app.py' is:

// $ cd ../home/flask_server/ $ python app.py //

& bull Dan, in een andere terminal run:

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

Bijvoorbeeld:

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

Voordelen en nadelen van OCR Engine

Van de vele toepassingen voor het gebruik van OCR in Python, is handschriftherkenning de meest populaire. Mensen passen dit toe om geschreven tekst opnieuw te maken die vervolgens in meerdere kopieën kan worden ingevuld in plaats van alleen het originele script te fotokopiëren. Dit om uniformiteit en leesbaarheid te bewerkstelligen.

OCR is ook handig bij het converteren van pdf's naar tekst en ze op te slaan als variabelen. Dit kan later worden onderworpen aan een willekeurige hoeveelheid voorbehandeling voor aanvullende taken. Hoewel het concept van OCR een nuttig onderwerp lijkt te zijn in de wereld van Python, deelt het zeker zijn nadelen.

De OCR kan niet altijd 100% nauwkeurigheid garanderen. Er zijn veel uren training nodig met behulp van kunstmatige intelligentie-concepten die de OCR-engine in staat kunnen stellen om slechte afbeeldingen te leren en te herkennen. Handgeschreven afbeeldingen kunnen worden herkend, maar ze zijn afhankelijk van verschillende factoren, zoals de stijl van het schrijven, de kleur van de pagina, het contrast van de afbeelding en de resolutie van de afbeelding.

Hiermee komen we aan het einde van dit artikel over optische tekenherkenning in Python. Ik hoop dat je begrijpt hoe OCR precies werkt.

Om diepgaande kennis over Python en de verschillende toepassingen te krijgen, kunt u dat voor live online training met 24/7 ondersteuning en levenslange toegang.

Heeft u een vraag voor ons? Noem ze in het commentaargedeelte van 'Optical Character Recognition in Python' en we nemen zo snel mogelijk contact met je op.