Come implementare il riconoscimento ottico dei caratteri in Python



Questo articolo ti fornirà una conoscenza dettagliata e completa di come implementare un riconoscimento ottico dei caratteri in Python.

Il riconoscimento ottico dei caratteri è fondamentale e un aspetto chiave e linguaggio di programmazione. L'applicazione di tali concetti negli scenari del mondo reale è numerosa. In questo articolo, discuteremo come implementare il riconoscimento ottico dei caratteri in Python

Applicazioni del riconoscimento ottico dei caratteri

I contatori di biglietti lo utilizzano ampiamente per la scansione e il rilevamento delle informazioni chiave sul biglietto per tenere traccia dei percorsi e dei dettagli dei pendolari. Conversione del testo cartaceo in formati digitali in cui le fotocamere acquisiscono fotografie ad alta risoluzione e quindi viene utilizzato l'OCR per convertirle in una parola o in un formato PDF.





charachters

cos'è l'accoppiamento in java

L'introduzione dell'OCR con python è attribuita all'aggiunta di versatili librerie come 'Tesseract' e 'Orcad'. Queste librerie hanno aiutato molti programmatori e sviluppatori a semplificare la progettazione del codicee consentire loro di dedicare più tempo ad altri aspetti dei loro progetti. Poiché i vantaggi sono enormi, diamo un'occhiata a cosa è e come viene fatto.



Costruire un riconoscimento ottico dei caratteri in Python

Per prima cosa dobbiamo fare una lezione usando 'pytesseract'. Questa classe ci consentirà di importare immagini e scansionarle. Durante il processo produrrà file con estensione 'ocr.py'. Vediamo il codice sottostante. Il blocco funzione 'process_image' viene utilizzato per affinare il testo che otteniamo.

Il seguente gestore di route e la funzione di visualizzazione vengono aggiunti all'applicazione (app.py).

Codice gestore router



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

Codice motore OCR

// OCR ENGINE importa pytesseract import richieste da 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): return Image.open (StringIO (requests.get (url) .content)) //

Assicurati di aggiornare le importazioni e di aggiungere il numero di versione API.

import os import logging from logging import Formatter, FileHandler from flask import Flask, request, jsonify from ocr import process_image _VERSION = 1 # versione API

Stiamo aggiungendo la risposta JSON della funzione del motore OCR che è 'process_image ()'. JSON viene utilizzato per raccogliere informazioni in entrata e in uscita dall'API. Passiamo la risposta in un file oggetto utilizzando la libreria 'Image' da PIL per installarlo.

Tieni presente che questo codice funziona meglio solo con immagini .jpg. Se utilizziamo librerie complesse che possono contenere più formati di immagine, tutte le immagini possono essere elaborate in modo efficace. Nota inoltre, nel caso in cui sei interessato a provare questo codice da solo, installa prima il PIL che viene fornito dalla libreria 'Pillow'

& bull Inizia eseguendo l'app, che è 'app.py':

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

& bull Quindi, in un altro terminale esegui:

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

Per esempio:

stringa della data java alla data
// $ 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'} //

Vantaggi e svantaggi del motore OCR

Tra le molte applicazioni che utilizzano l'OCR in Python, quella popolare è il riconoscimento della grafia. Le persone applicano questo per ricreare il testo scritto che può quindi essere popolato in numerose copie anziché semplicemente fotocopiare la sceneggiatura originale. Questo per ottenere uniformità e leggibilità.

L'OCR è utile anche per convertire i PDF in testo e memorizzarli come variabili. Questo può essere successivamente sottoposto a qualsiasi quantità di pre-elaborazione per attività aggiuntive. Sebbene il concetto di OCR sembri essere un argomento vantaggioso nel mondo di Python, sicuramente condivide la sua parte di svantaggi.

L'OCR non può sempre garantire una precisione del 100%. Molte ore di formazione devono essere applicate con l'aiuto di concetti di Intelligenza Artificiale che possono consentire al motore OCR di apprendere e riconoscere immagini scadenti. Le immagini scritte a mano possono essere riconosciute ma dipendono da diversi fattori come lo stile della scrittura, il colore della pagina, il contrasto dell'immagine e la risoluzione dell'immagine.

Con questo, arriviamo alla fine di questo articolo sul riconoscimento ottico dei caratteri in Python. Spero che tu capisca come funziona esattamente l'OCR.

Per ottenere una conoscenza approfondita di Python e delle sue varie applicazioni, puoi farlo per formazione online dal vivo con supporto 24 ore su 24, 7 giorni su 7 e accesso a vita.

Hai domande per noi? Menzionateli nella sezione commenti di 'Riconoscimento ottico dei caratteri in Python' e vi risponderemo.