Hvordan implementere optisk karaktergjenkjenning i Python



Denne artikkelen vil gi deg detaljert og omfattende kunnskap om hvordan du implementerer en optisk karaktergjenkjenning i Python.

Optisk karaktergjenkjenning er viktig og et sentralt aspekt og programmeringsspråk. Anvendelsen av slike konsepter i virkelige scenarier er mange. I denne artikkelen vil vi diskutere hvordan du implementerer Optical Character Recognition i Python

Anvendelser av optisk karaktergjenkjenning

Billettdisker bruker dette mye for å skanne og oppdage nøkkelinformasjon på billetten for å spore ruter og pendleropplysninger. Konvertering av papirtekst til digitale formater der kameraer tar bilder med høy oppløsning og deretter brukes OCR for å bringe dem til et ord eller et PDF-format.





charachters

Innføringen av OCR med python er kreditert tillegg av allsidige biblioteker som “Tesseract” og “Orcad”. Disse bibliotekene har hjulpet mange kodere og utviklere med å forenkle kodedesignenog la dem bruke mer tid på andre aspekter av prosjektene sine. Siden fordelene er enorme, la oss se på hva det er og hvordan det gjøres.



Å bygge en optisk karaktergjenkjenning i Python

Vi må først lage en klasse med “pytesseract”. Denne klassen vil gjøre det mulig for oss å importere bilder og skanne dem. I prosessen vil den sende ut filer med utvidelsen “ocr.py”. La oss se koden nedenfor. Funksjonsblokken “process_image” brukes til å spisse teksten vi får.

Følgende rutebehandler og visningsfunksjon legges til i applikasjonen (app.py).

hvordan kaste en dobbel til en int i java

Kode for ruterhåndterer



// RUTEHANTERER @ app.route ('/ v {} / ocr'.format (_VERSION), methods = [' POST ']) def ocr (): prøv: url = request.json [' image_url '] if' jpg 'i url: output = process_image (url) return jsonify ({' output ': output}) else: return jsonify ({' error ':' only .jpg files, please '}) unntatt: return jsonify ({' error ':' Mente du å sende: {'image_url': 'some_jpeg_url'} '})

OCR-motorkode

// OCR ENGINE import pytesseract importforespørsler fra PIL import Image fra PIL import ImageFilter fra StringIO import StringIO def process_image (url): image = _get_image (url) image.filter (ImageFilter.SHARPEN) return pytesseract.image_to_string (image) def _get_image ( url): returner Image.open (StringIO (requests.get (url) .content)) //

Sørg for å oppdatere importen og legge til API-versjonsnummer.

import os import logging fra logging import Formatter, FileHandler fra kolbe import Kolbe, forespørsel, jsonify fra ocr import process_image _VERSION = 1 # API-versjon

Vi legger til i JSON-responsen til OCR Engine-funksjonen som er 'process_image ()'. JSON brukes til å samle informasjon som går inn og ut av API. Vi sender svaret i en objektfil ved hjelp av 'Image' -biblioteket fra PIL for å installere det.

Vær oppmerksom på at denne koden bare fungerer best med .jpg-bilder. Hvis vi bruker komplekse biblioteker som kan ha flere bildeformater, kan alle bilder behandles effektivt. Vær også oppmerksom på at hvis du er interessert i å prøve ut denne koden selv, må du installere PIL som er anskaffet fra biblioteket “Pillow” først.

& bull Start med å kjøre appen, som er 'app.py':

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

& bull Så, i en annen terminalkjøring:

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

For eksempel:

// $ 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'} //

Fordeler og ulemper med OCR Engine

Av de mange bruksområdene for å bruke OCR i python, er den populære håndskriftgjenkjenning. Folk bruker dette for å gjenskape skrevet tekst som deretter kan fylles ut i mange eksemplarer i stedet for bare å kopiere originalskriptet. Dette for å få ensartethet og lesbarhet.

java forskjell mellom forlengere og redskaper

OCR er også nyttig for å konvertere PDF-filer til tekster og lagre dem som variabler. Dette kan senere bli utsatt for en hvilken som helst forbehandling for ytterligere oppgaver. Selv om begrepet OCR ser ut til å være et gunstig tema i Pythons verden, deler det sikkert sin del av ulemper.

OCR kan ikke alltid garantere 100% nøyaktighet. Mange timer med trening må brukes ved hjelp av kunstig intelligens-konsepter som kan gjøre OCR-motoren i stand til å lære og gjenkjenne dårlige bilder. Håndskriftbilder kan gjenkjennes, men de avhenger av flere faktorer som skrivestilen, fargen på siden, kontrasten på bildet og oppløsningen på bildet.

Med dette kommer vi til en slutt på denne Optical Character Recognition in Python-artikkelen. Jeg håper du får en forståelse av hvordan akkurat OCR fungerer.

For å få inngående kunnskap om Python sammen med dets forskjellige applikasjoner, kan du for live online trening med 24/7 support og levetidstilgang.

Har du et spørsmål til oss? Nevn dem i kommentarfeltet i “Optical Character Recognition in Python”, så kommer vi tilbake til deg.