Kaip įgyvendinti optinį simbolių atpažinimą „Python“



Šis straipsnis suteiks jums išsamių ir išsamių žinių apie tai, kaip „Python“ įdiegti optinį simbolių atpažinimą.

Optinis simbolių atpažinimas yra gyvybiškai svarbus ir pagrindinis aspektas programavimo kalba. Tokių sąvokų pritaikymas realiuose scenarijuose yra daugybė. Šiame straipsnyje aptarsime, kaip „Python“ įdiegti optinį simbolių atpažinimą

paversti objektą masyvo php

Optinio simbolių atpažinimo programos

Bilietų skaitikliai tai plačiai naudoja nuskaitydami ir aptikdami pagrindinę informaciją apie bilietą, kad galėtų sekti maršrutus ir informaciją apie keleivius. Popieriaus teksto pavertimas skaitmeniniais formatais, kai kameros fiksuoja didelės raiškos nuotraukas, o tada OCR naudojamas joms perkelti į žodį arba PDF formatą.





charachters

Įvedus OCR su python, prisidedama prie universalių bibliotekų, tokių kaip „Tesseract“ ir „Orcad“, pridėjimo. Šios bibliotekos daugeliui programuotojų ir kūrėjų padėjo supaprastinti kodų dizainąir leisti jiems skirti daugiau laiko kitiems savo projektų aspektams. Kadangi nauda yra didžiulė, pažiūrėkime, kas tai yra ir kaip tai daroma.



Optinio simbolių atpažinimo kūrimas „Python“

Pirmiausia turime sukurti klasę naudodami „pytesseract“. Ši klasė leis mums importuoti vaizdus ir juos nuskaityti. Proceso metu ji išves failus su plėtiniu „ocr.py“. Pažiūrėkime žemiau esantį kodą. Funkcijų blokas „process_image“ naudojamas patobulinti gautą tekstą.

Šis maršruto tvarkytuvas ir peržiūros funkcija pridedama prie programos (app.py).

Maršrutizatoriaus tvarkytojo kodas



// MARŠRUTO HANDLERIS @ app.route ('/ v {} / ocr'.format (_VERSION), metodai = [' POST ']] def ocr (): try: url = request.json [' image_url '] if' jpg 'URL: output = process_image (url) return jsonify ({' output ': output}) else: return jsonify ({' error ':' prašome tik .jpg failus, prašome '}), išskyrus: return jsonify ({' error ':' Ar norėjote siųsti: {'image_url': 'some_jpeg_url'} '})

OCR variklio kodas

// OCR ENGINE importuoti „pytesseract“ importo užklausas iš PIL importuoti vaizdą iš PIL importuoti „ImageFilter“ iš „StringIO“ importavimo „StringIO“ def process_image (url): image = _get_image (url) image.filter (ImageFilter.SHARPEN) grąžinti pytesseract.image_to_string (image) def _get_image ( url): grąžinkite Image.open (StringIO (užklausos.get (url) .content)) //

Įsitikinkite, kad atnaujinate importavimą ir pridėkite API versijos numerį.

importuoti OS importuoti registravimą iš registravimo importuoti formatavimą, „FileHandler“ iš kolbos importavimo kolbą, užklausą, jsonify iš „ocr import process_image _VERSION = 1 # API versija

JSON atsakyme pridedame OCR variklio funkciją, kuri yra „process_image ()“. JSON naudojamas rinkti informaciją, einančią į API ir iš jos. Atsakymą perduodame objekto faile, naudodami „Image“ biblioteką iš PIL, kad ją įdiegtume.

Atminkite, kad šis kodas geriausiai veikia tik su .jpg vaizdais. Jei mes naudojame sudėtingas bibliotekas, kuriose gali būti keli vaizdų formatai, visus vaizdus galima efektyviai apdoroti. Taip pat atkreipkite dėmesį, jei norite patys išbandyti šį kodą, pirmiausia įdiekite PIL, kuris įsigytas iš „Pagalvių“ bibliotekos

& bull Pradėkite paleisdami programą, kuri yra „app.py“:

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

& bull Tada kitame terminalo paleidime:

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

Pavyzdžiui:

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

OCR variklio pranašumai ir trūkumai

Iš daugelio OCR naudojimo pitone programų populiariausia yra rašysenos atpažinimas. Žmonės taiko tai norėdami atkurti parašytą tekstą, kurį vėliau galima užpildyti daugybe kopijų, o ne tik kopijuoti originalų scenarijų. Taip siekiama vienodumo ir įskaitomumo.

kas yra pojo pavasarį

OCR taip pat naudinga konvertuojant PDF į tekstus ir saugant juos kaip kintamuosius. Vėliau tai gali būti atlikta bet kokiu išankstiniu apdorojimu papildomoms užduotims atlikti. Nors OCR samprata atrodo naudinga tema „Python“ pasaulyje, ji tikrai dalijasi savo trūkumų dalimi.

OCR ne visada gali garantuoti 100% tikslumą. Dirbtinio intelekto koncepcijos, kurios gali padėti OCR varikliui išmokti ir atpažinti prastus vaizdus, ​​turi būti mokomos daug valandų. Rašysenos atvaizdus galima atpažinti, tačiau jie priklauso nuo kelių veiksnių, tokių kaip rašymo stilius, puslapio spalva, vaizdo kontrastas ir vaizdo skiriamoji geba.

Tuo mes baigėme šį „Optical Character Recognition in Python“ straipsnį. Tikiuosi, kad suprasite, kaip tiksliai veikia OCR.

Norėdami gauti išsamių žinių apie „Python“ kartu su įvairiomis jo programomis, galite tiesioginėms internetinėms treniruotėms, palaikančioms visą parą visą parą ir visą gyvenimą.

Turite mums klausimą? Paminėkite juos komentarų skiltyje „Optinis simbolių atpažinimas„ Python ““ ir mes su jumis susisieksime.