Com implementar el reconeixement òptic de caràcters a Python



Aquest article us proporcionarà un coneixement detallat i exhaustiu de com implementar un reconeixement òptic de caràcters a Python.

El reconeixement òptic de caràcters és vital i és un aspecte clau llenguatge de programació. L’aplicació d’aquests conceptes en escenaris del món real és nombrosa. En aquest article, analitzarem com implementar el reconeixement òptic de caràcters a Python

què és __init__

Aplicacions del reconeixement òptic de caràcters

Els comptadors de bitllets l’utilitzen àmpliament per escanejar i detectar informació clau del bitllet per fer un seguiment de les rutes i els detalls dels viatgers. Conversió de text en paper en formats digitals on les càmeres capturen fotografies d’alta resolució i, a continuació, s’utilitza OCR per portar-les a un format Word o PDF.





charachters

La introducció d’OCR amb python s’acredita a l’addició de biblioteques versàtils com “Tesseract” i “Orcad”. Aquestes biblioteques han ajudat a molts programadors i programadors a simplificar el disseny del seu codii els permetrà dedicar més temps a altres aspectes dels seus projectes. Com que els beneficis són enormes, vegem què és i com es fa.



Construint un reconeixement òptic de caràcters a Python

Primer hem de fer una classe amb 'pytesseract'. Aquesta classe ens permetrà importar imatges i escanejar-les. En el procés sortirà fitxers amb l'extensió 'ocr.py'. Vegem el codi següent. El bloc de funcions 'process_image' s'utilitza per afinar el text que rebem.

El següent gestor de rutes i la funció de visualització s’afegeixen a l’aplicació (app.py).

Codi de manipulador d’encaminadors



// ROUTE HANDLER @ app.route ('/ v {} / ocr'.format (_VERSION), methods = [' POST ']) def ocr (): try: url = request.json [' image_url '] if' jpg 'a url: output = process_image (url) return jsonify ({' output ': output}) else: retorna jsonify ({' error ':' només fitxers .jpg, si us plau '}) excepte: return jsonify ({' error ':' Voleu enviar: {'image_url': 'some_jpeg_url'} '})

Codi de motor OCR

// OCR ENGINE import pytesseract pets request from PIL import Image from PIL import ImageFilter from 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): retorna Image.open (StringIO (requests.get (url) .content)) //

Assegureu-vos d'actualitzar les importacions i afegir el número de versió de l'API.

importació o importació del registre des del registre d'importació Formatador, FileHandler des del flascó importació Flask, sol·licitud, jsonify des de la importació ocr process_image _VERSION = 1 # versió de l'API

Afegim a la resposta JSON de la funció del motor OCR que és 'process_image ()'. JSON s'utilitza per recopilar informació que entra i surt de l'API. Passem la resposta en un fitxer objecte mitjançant la biblioteca “Image” de PIL per instal·lar-la.

Tingueu en compte que aquest codi només funciona millor només amb imatges .jpg. Si utilitzem biblioteques complexes que poden contenir diversos formats d’imatges, totes les imatges es poden processar amb eficàcia. Tingueu en compte també, en cas que esteu interessats a provar aquest codi per vosaltres mateixos, instal·leu PIL que es procura primer a la biblioteca 'Pillow'

& bull Comenceu executant l'aplicació, que és 'app.py':

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

& bull Després, en un altre terminal:

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

Per exemple:

què fa un desenvolupador de quadres
// $ curl -X POST http: // localhost: 5000 / v1 / ocr -d '{' C: UsersakashDownloadsPic1 ':' https://edureka.com/images/blog_images/ocr/ocr.jpg '}' - H 'Tipus de contingut: application / json' {'output': 'ABCDEnFGH I JnKLMNOnPQRST'} //

com s'utilitza tableau public

Avantatges i desavantatges del motor OCR

De les moltes aplicacions d’ús d’OCR a Python, la popular és el reconeixement d’escriptura a mà. La gent aplica que això és per recrear text escrit que després es pot omplir en nombroses còpies en lloc de fotocopiar el guió original. Es tracta d’aconseguir uniformitat i llegibilitat.

L’OCR també és útil per convertir PDF a textos i emmagatzemar-los com a variables. Posteriorment, això es pot sotmetre a qualsevol quantitat de processament previ per a tasques addicionals. Tot i que el concepte d’OCR sembla ser un tema beneficiós al món de Python, segur que comparteix la seva part de desavantatges.

L’OCR no sempre pot garantir una precisió del 100%. Cal aplicar moltes hores de formació amb l’ajut de conceptes d’Intel·ligència Artificial que poden permetre al motor OCR aprendre i reconèixer imatges deficients. Es poden reconèixer imatges d’escriptura a mà, però depenen de diversos factors com l’estil de l’escriptura, el color de la pàgina, el contrast de la imatge i la resolució de la imatge.

Amb això, arribem al final d’aquest article sobre reconeixement òptic de caràcters a Python. Espero que entengueu exactament el funcionament de l'OCR.

Per obtenir coneixements en profunditat sobre Python juntament amb les seves diverses aplicacions, podeu fer-ho per a formació en línia en directe amb assistència les 24 hores del dia, els 7 dies de la setmana i accés durant tota la vida.

Tens alguna pregunta? Esmenteu-los a la secció de comentaris de 'Reconeixement òptic de caràcters a Python' i us respondrem.