Kuidas rakendada optilist märgituvastust Pythonis

See artikkel annab teile üksikasjalikud ja põhjalikud teadmised selle kohta, kuidas Pythonis optilist märgituvastust rakendada.

Märgi optiline äratundmine on ülioluline ja põhiaspekt ning programmeerimiskeel. Selliste kontseptsioonide rakendamine reaalses stsenaariumis on arvukas. Selles artiklis käsitleme, kuidas rakendada optilist märkituvastust Pythonis

Märgi optilise äratundmise rakendused

Piletiloendurid kasutavad seda laialdaselt pileti põhiteabe skannimiseks ja tuvastamiseks, et jälgida marsruute ja pendeldajate üksikasju. Paberiteksti teisendamine digitaalsesse vormingusse, kus kaamerad hõivavad kõrge eraldusvõimega fotosid ja seejärel kasutatakse tekst- või PDF-vormingusse viimiseks OCR-i.





charachters

Püütoniga OCR-i kasutuselevõtt on arvestatud mitmekülgsete teekide nagu „Tesseract” ja „Orcad” lisamisega. Need teegid on aidanud paljudel kodeerijatel ja arendajatel oma koodikujundust lihtsustadaja võimaldada neil kulutada rohkem aega oma projektide teistele aspektidele. Kuna kasu on tohutu, siis piilugem, mis see on ja kuidas seda tehakse.



Optilise märgituvastuse loomine Pythonis

Kõigepealt peame tegema klassi, kasutades pytesseract'i. See klass võimaldab meil pilte importida ja skannida. Selle käigus väljastab see failid laiendiga “ocr.py”. Vaatame allolevat koodi. Funktsiooniplokki “process_image” kasutatakse saadud teksti teritamiseks.

Rakendusele lisatakse järgmine marsruudi käitleja ja vaate funktsioon (app.py).

Ruuteri käitleja kood



// Marsruudi käitleja @ app.route ('/ v {} / ocr'.formaat (_VERSION), meetodid = [' POST ']] def ocr (): proovige: url = request.json [' image_url '] kui' jpg 'URL-is: output = process_image (url) return jsonify ({' output ': output}) else: return jsonify ({' error ':' ainult .jpg-failid, palun '}), välja arvatud: return jsonify ({' tõrge ':' Kas sa tahtsid saata: {'image_url': 'some_jpeg_url'} '})

OCR mootori kood

// OCR ENGINE impordib pytesseract imporditaotlused PIL-ist impordib pildi PIL-st impordib pildifiltrit StringIO-st import Impordi StringIO def process_image (url): image = _get_image (url) image.filter (ImageFilter.SHARPEN) tagastab pytesseract.image_to_string (image) def _get_image ( url): tagastage Image.open (StringIO (request.get (url) .content)) //

Veenduge, et värskendaksite importi ja lisaksite API versiooni numbri.

impordi os import logimine logimisest impordi vormindaja, FileHandler kolbist importimine Kolb, taotlus, jsonify alates ocr import process_image _VERSION = 1 # API versioon

Lisame OCR Engine'i funktsiooni JSON vastusesse „process_image ()”. JSON-i kasutatakse API-sse siseneva ja sellest väljuva teabe kogumiseks. Vastuse edastame objektifailis, kasutades selle installimiseks PIL-i teeki 'Pilt'.

Pange tähele, et see kood toimib kõige paremini ainult .jpg-piltidega. Kui kasutame keerukaid teeke, millel võib olla mitu pildivormingut, saab kõiki pilte tõhusalt töödelda. Pange tähele ka seda, et kui olete huvitatud selle koodi ise proovimisest, siis installige kõigepealt PIL, mis hangitakse raamatukogust “Padi”

& bull Alustuseks käivitage rakendus, mis on “app.py”:

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

& bull Siis teises terminali perspektiivis:

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

Näiteks:

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

OCR-mootori eelised ja puudused

OCR-i Pythonis kasutamise paljudest rakendustest on populaarne käekirja tuvastamine. Inimesed kasutavad seda selleks, et taastada kirjalik tekst, mille saab seejärel täita arvukateks eksemplarideks, mitte ainult originaalkirja koopiate tegemiseks. Selle eesmärk on saavutada ühtsus ja loetavus.

kuidas massiivi dünaamiliselt javas jaotada

OCR on kasulik ka PDF-ide teisendamiseks tekstidesse ja nende muutujana salvestamiseks. Hiljem võib seda täiendavate ülesannete jaoks eeltöödelda. Kuigi OCR-i mõiste näib olevat Pythoni maailmas kasulik teema, jagab see kindlasti oma osa puudustest.

OCR ei taga alati 100% täpsust. Tehisintellekti kontseptsioonide abil tuleb rakendada palju tunde koolitust, mis võimaldab OCR-mootoril õppida ja ära tunda halbu pilte. Käsitsikirjutisi saab tuvastada, kuid need sõltuvad mitmest tegurist, näiteks kirjutamise stiilist, lehe värvist, pildi kontrastist ja pildi eraldusvõimest.

Sellega jõuame Pythoni artikli optilise märgituvastuse lõpuni. Loodan, et saate aru, kuidas täpselt OCR töötab.

Põhjalike teadmiste saamiseks Pythoni kohta koos selle erinevate rakendustega saate seda teha reaalajas veebikoolituse jaoks, millel on 24-tunnine tugi ja juurdepääs kogu elule.

Kas teil on meile küsimus? Mainige neid kommentaari jaotises „Optiline märkide tuvastamine Pythonis” ja me võtame teiega ühendust.