Hur man implementerar optiskt teckenigenkänning i Python



Den här artikeln ger dig en detaljerad och omfattande kunskap om hur du implementerar ett optiskt teckenigenkänning i Python.

Optiskt teckenigenkänning är avgörande och en nyckelaspekt och programmeringsspråk. Tillämpningen av sådana begrepp i verkliga scenarier är många. I den här artikeln kommer vi att diskutera hur man implementerar optisk teckenigenkänning i Python

Tillämpningar av optisk karaktärsigenkänning

Biljetträknare använder detta i stor utsträckning för att skanna och upptäcka nyckelinformation på biljetten för att spåra rutter och pendlare. Omvandling av papperstekst till digitala format där kameror tar bilder med hög upplösning och sedan används OCR för att få dem till ett ord eller ett PDF-format.





charachters

Introduktionen av OCR med python krediteras tillägget av mångsidiga bibliotek som 'Tesseract' och 'Orcad'. Dessa bibliotek har hjälpt många kodare och utvecklare att förenkla sin koddesignoch låta dem spendera mer tid på andra aspekter av sina projekt. Eftersom fördelarna är enorma, låt oss titta på vad det är och hur det görs.



Bygga ett optiskt teckenigenkänning i Python

Vi måste först göra en lektion med 'pytesseract'. Denna klass gör det möjligt för oss att importera bilder och skanna dem. I processen kommer den att mata ut filer med tillägget “ocr.py”. Låt oss se nedanstående kod. Funktionsblocket “process_image” används för att skärpa texten vi får.

Följande rutthanterare och visningsfunktion läggs till i applikationen (app.py).

Routerhanterarkod



hur man installerar hadoop i ubuntu
// ROUTE HANDLER @ app.route ('/ v {} / ocr'.format (_VERSION), methods = [' POST ']) def ocr (): try: url = request.json [' image_url '] if' jpg 'i url: output = process_image (url) returnera jsonify ({' output ': output}) annat: returnera jsonify ({' error ':' endast .jpg-filer, snälla '}) utom: returnera jsonify ({' error ':' Menade du att skicka: {'image_url': 'some_jpeg_url'} '})

OCR-motorkod

// OCR MOTOR importera pytesseract importförfrågningar från PIL import Bild från PIL importera ImageFilter från StringIO import StringIO def process_image (url): image = _get_image (url) image.filter (ImageFilter.SHARPEN) returnera pytesseract.image_to_string (image) def _get_image ( url): returnera Image.open (StringIO (requests.get (url) .content)) //

Se till att uppdatera importen och lägga till API-versionsnummer.

import os importloggning från loggning import Formatering, FileHandler från kolv import Kolv, begär, jsonify från ocr import process_image _VERSION = 1 # API-version

Vi lägger till i JSON-svaret på OCR Engine-funktionen som är 'process_image ()'. JSON används för att samla in information som går in och ut ur API: et. Vi skickar svaret i en objektfil med hjälp av 'Image' -biblioteket från PIL för att installera det.

installera php 7 på Windows

Observera att den här koden endast fungerar bäst med .jpg-bilder. Om vi ​​använder komplexa bibliotek som kan innehålla flera bildformat kan alla bilder behandlas effektivt. Observera också, om du är intresserad av att testa den här koden själv, installera sedan PIL som anskaffas ur 'Pillow' -biblioteket först

& bull Börja med att köra appen, som är 'app.py':

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

& bull Sedan, i en annan terminal körning:

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

Till exempel:

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

Fördelar och nackdelar med OCR-motor

Av de många applikationerna för att använda OCR i python är den populära handskriftsigenkänning. Människor tillämpar detta är att återskapa skriven text som sedan kan fyllas i flera kopior snarare än att bara kopiera originalskriptet. Detta för att skapa enhetlighet och läsbarhet.

OCR är också användbart för att konvertera PDF-filer till texter och lagra dem som variabler. Detta kan senare utsättas för vilken mängd förbehandling som helst för ytterligare uppgifter. Även om begreppet OCR verkar vara ett fördelaktigt ämne i Pythons värld delar det verkligen sin del av nackdelarna.

hur man lägger till i Java

OCR kan inte alltid garantera 100% noggrannhet. Många timmars träning behöver tillämpas med hjälp av koncept för artificiell intelligens som kan göra det möjligt för OCR-motorn att lära sig och känna igen dåliga bilder. Handskriftsbilder kan kännas igen men de beror på flera faktorer som skrivstilen, sidans färg, bildens kontrast och bildens upplösning.

Med detta kommer vi till ett slut på detta Optical Character Recognition i Python-artikeln. Jag hoppas att du förstår hur OCR fungerar exakt.

För att få fördjupad kunskap om Python tillsammans med dess olika applikationer kan du för live online-utbildning med support dygnet runt och livstidsåtkomst.

Har du en fråga till oss? Nämn dem i kommentarsektionen i “Optical Character Recognition in Python” så återkommer vi till dig.