Cum se implementează recunoașterea optică a caracterelor în Python



Acest articol vă va oferi o cunoaștere detaliată și cuprinzătoare despre cum să implementați o recunoaștere optică a caracterelor în Python.

Recunoașterea optică a caracterelor este vitală și un aspect cheie și limbaj de programare. Aplicarea unor astfel de concepte în scenarii din lumea reală este numeroasă. În acest articol, vom discuta despre cum să implementăm recunoașterea optică a caracterelor în Python

print_r la șir

Aplicații de recunoaștere optică a caracterelor

Contoare de bilete folosesc acest lucru pe scară largă pentru scanarea și detectarea informațiilor cheie de pe bilet pentru a urmări traseele și detaliile navetiștilor. Conversia textului pe hârtie în formate digitale în care camerele captează fotografii de înaltă rezoluție și apoi OCR este utilizat pentru a le aduce într-un format Word sau PDF.





charachters

Introducerea OCR cu python este creditată la adăugarea de biblioteci versatile precum „Tesseract” și „Orcad”. Aceste biblioteci au ajutat mulți programatori și dezvoltatori să își simplifice proiectarea coduluiși să le permită să petreacă mai mult timp pe alte aspecte ale proiectelor lor. Deoarece beneficiile sunt enorme, să ne uităm la ce este și cum se realizează.



Construirea unei recunoașteri optice de caractere în Python

Mai întâi trebuie să facem o clasă folosind „pytesseract”. Această clasă ne va permite să importăm imagini și să le scanăm. În acest proces, va scoate fișiere cu extensia „ocr.py”. Să vedem codul de mai jos. Blocul funcțional „proces_imagine” este folosit pentru a clarifica textul pe care îl obținem.

Următoarele funcții de gestionare a traseului și vizualizare sunt adăugate aplicației (app.py).

Codul de manipulare a routerului



// ROUTE HANDLER @ app.route ('/ v {} / ocr'.format (_VERSION), methods = [' POST ']) def ocr (): try: url = request.json [' image_url '] if' jpg 'în url: output = process_image (url) return jsonify ({' output ': output}) else: return jsonify ({' error ':' numai fișiere .jpg, vă rog '}) cu excepția: return jsonify ({' error ':' Ați vrut să trimiteți: {'image_url': 'some_jpeg_url'} '})

Cod motor OCR

// OCR ENGINE import pytesseract solicitări de import din import PIL Imagine din import PIL ImageFilter din import StringIO 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)) //

Vă rugăm să vă asigurați că actualizați importurile și adăugați numărul versiunii API.

import os jurnal de import din jurnal de import Formatter, FileHandler din flask import Flask, request, jsonify from ocr import process_image _VERSION = 1 # API version

Adăugăm în răspunsul JSON al funcției motorului OCR care este „proces_imagine ()”. JSON este utilizat pentru colectarea informațiilor care intră și ies din API. Trecem răspunsul într-un fișier obiect folosind biblioteca „Image” din PIL pentru al instala.

Vă rugăm să rețineți că acest cod funcționează cel mai bine numai cu imagini .jpg. Dacă folosim biblioteci complexe care pot prezenta mai multe formate de imagine, atunci toate imaginile pot fi procesate eficient. Rețineți, de asemenea, în cazul în care sunteți interesat să încercați acest cod de unul singur, atunci vă rugăm să instalați mai întâi PIL care este achiziționat din biblioteca „Pillow”.

& bull Începeți rularea aplicației, care este „app.py”:

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

& bull Apoi, într-un alt terminal rulează:

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

De exemplu:

cum să compilezi codul Java
// $ 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'} //

tipuri de transformări în informatică

Avantajele și dezavantajele motorului OCR

Dintre numeroasele aplicații de utilizare a OCR în python, cea populară este recunoașterea scrisului de mână. Oamenii aplică acest lucru pentru a recrea text scris, care poate fi apoi populat în numeroase copii, mai degrabă decât doar fotocopierea scenariului original. Aceasta este pentru a aduce uniformitate și lizibilitate.

OCR este, de asemenea, util în conversia PDF-urilor în texte și stocarea lor ca variabile. Acest lucru poate fi ulterior supus oricărei cantități de pre-procesare pentru sarcini suplimentare. Deși conceptul OCR pare a fi un subiect benefic în lumea Python, acesta împărtășește cu siguranță partea sa de dezavantaje.

OCR nu poate garanta întotdeauna o precizie de 100%. O mulțime de ore de instruire trebuie aplicate cu ajutorul conceptelor de inteligență artificială care pot permite motorului OCR să învețe și să recunoască imagini slabe. Imaginile de scriere de mână pot fi recunoscute, dar depind de mai mulți factori, cum ar fi stilul scrierii, culoarea paginii, contrastul imaginii și rezoluția imaginii.

Cu aceasta, ajungem la sfârșitul acestui articol despre recunoașterea optică a caracterelor în Python. Sper să înțelegeți cum funcționează exact OCR.

Pentru a obține cunoștințe aprofundate despre Python împreună cu diferitele sale aplicații, puteți pentru instruire online live cu asistență 24/7 și acces pe viață.

Ai o întrebare pentru noi? Menționați-le în secțiunea de comentarii din „Recunoașterea optică a caracterelor în Python” și vă vom răspunde.