Kako uporabiti optično prepoznavanje znakov v Pythonu



V tem članku boste našli podrobno in izčrpno znanje o tem, kako v Pythonu implementirati optično prepoznavanje znakov.

Optično prepoznavanje znakov je ključnega pomena in ključnega pomena programski jezik. Uporaba takšnih konceptov v resničnih scenarijih je številna. V tem članku bomo razpravljali o izvedbi optičnega prepoznavanja znakov v Pythonu

Aplikacije optičnega prepoznavanja znakov

Števci vozovnic to v veliki meri uporabljajo za skeniranje in zaznavanje ključnih informacij na vozovnici za sledenje poti in podrobnosti o potnikih. Pretvorba papirnatega besedila v digitalne formate, kjer fotoaparati zajemajo fotografije z visoko ločljivostjo, nato pa se z OCR pretvori v besedo ali format PDF.





charachters

Uvedba OCR s pythonom je zaslužna za dodajanje vsestranskih knjižnic, kot sta 'Tesseract' in 'Orcad'. Te knjižnice so mnogim programerjem in razvijalcem pomagale poenostaviti oblikovanje kodein jim omogoči, da porabijo več časa za druge vidike svojih projektov. Ker so koristi ogromne, si poglejmo, kaj je in kako se to počne.



Izdelava optičnega prepoznavanja znakov v Pythonu

Najprej moramo narediti razred z uporabo »pytesseract«. Ta razred nam bo omogočil uvoz slik in njihovo optično branje. V tem procesu bo izpisal datoteke s pripono 'ocr.py'. Oglejmo si spodnjo kodo. Funkcijski blok “process_image” se uporablja za ostrenje besedila, ki ga dobimo.

V aplikacijo sta dodana naslednja obdelava poti in funkcija pogleda (app.py).

Koda upravljavca usmerjevalnika



// ROUTE HANDLER @ app.route ('/ v {} / ocr'.format (_VERSION), methods = [' POST ']) def ocr (): poskusite: url = request.json [' image_url '] if' jpg 'v url: output = process_image (url) return jsonify ({' output ': output}) else: return jsonify ({' error ':' only .jpg files, please '}) razen: return jsonify ({' error ':' Ste mislili poslati: {'image_url': 'some_jpeg_url'} '})

Koda motorja OCR

// OCR ENGINE uvoz pytesseract zahteve za uvoz iz PIL uvoz Slika iz PIL uvoz ImageFilter iz StringIO uvoz StringIO def process_image (url): image = _get_image (url) image.filter (ImageFilter.SHARPEN) vrne pytesseract.image_to_string (image) def _get_image ( url): vrni Image.open (StringIO (questions.get (url) .content)) //

Poskrbite, da posodobite uvoz in dodate številko različice API-ja.

uvoz os uvoz beleženje iz beleženja uvoz Formatter, FileHandler iz bučke import Bučka, zahteva, jsonify iz ocr import process_image _VERSION = 1 # različica API

V odgovor JSON funkcije OCR Engine dodajamo »process_image ()«. JSON se uporablja za zbiranje informacij, ki vstopajo v API in iz njega. Odgovor posredujemo v datoteko predmeta s pomočjo knjižnice “Image” iz PIL-a, da jo namestimo.

Upoštevajte, da se ta koda najbolje obnese samo s slikami .jpg. Če uporabljamo zapletene knjižnice, ki lahko vsebujejo več slikovnih formatov, potem lahko vse slike učinkovito obdelamo. Upoštevajte tudi, da če želite to kodo preizkusiti sami, najprej namestite PIL, ki je nabavljen iz knjižnice 'Pillow'

& bull Začnite z zagonom aplikacije, ki je »app.py«:

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

& bull Nato v drugem terminalu:

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

Na primer:

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

Prednosti in slabosti OCR Engine

Med številnimi aplikacijami uporabe OCR v pythonu je priljubljeno prepoznavanje rokopisa. Ljudje to uporabljajo zato, da poustvarijo pisano besedilo, ki ga je nato mogoče vstaviti v številne kopije, ne pa samo kopirati izvirni skript. S tem se doseže enotnost in čitljivost.

zakaj bi se moral učiti python

OCR je koristen tudi pri pretvorbi PDF-jev v besedila in pri shranjevanju kot spremenljivke. To lahko kasneje za dodatne naloge podvržemo kakršni koli predhodni obdelavi. Čeprav se zdi koncept OCR koristna tema v svetu Pythona, vsekakor deli svoj del slabosti.

OCR ne more vedno zagotoviti 100-odstotne natančnosti. Veliko ur usposabljanja je treba izvesti s pomočjo konceptov umetne inteligence, ki lahko OCR-motorju omogočijo, da se uči in prepozna slabe slike. Slike rokopisa lahko prepoznamo, vendar so odvisne od več dejavnikov, kot so slog pisanja, barva strani, kontrast slike in ločljivost slike.

S tem smo prišli do konca tega članka o optičnem prepoznavanju znakov v Pythonu. Upam, da ste razumeli, kako natančno deluje OCR.

Če želite pridobiti poglobljeno znanje o Pythonu skupaj z različnimi aplikacijami, lahko za spletno usposabljanje v živo s podporo 24 ur na dan in 7 dni v tednu.

Imate vprašanje za nas? Omenite jih v oddelku za komentarje v optičnem prepoznavanju znakov v Pythonu in odgovorili vam bomo.