Kako implementirati optičko prepoznavanje znakova u Pythonu



Ovaj će vam članak pružiti detaljno i sveobuhvatno znanje o tome kako implementirati optičko prepoznavanje znakova u Pythonu.

Optičko prepoznavanje znakova je vitalni i ključni aspekt programski jezik. Primjena takvih koncepata u stvarnim scenarijima je brojna. U ovom ćemo članku razgovarati o tome kako implementirati optičko prepoznavanje znakova u Pythonu

Primjene optičkog prepoznavanja znakova

Brojači karata to opsežno koriste za skeniranje i otkrivanje ključnih podataka na karti za praćenje ruta i detalja o putnicima. Pretvorba papirnatog teksta u digitalne formate gdje fotoaparati snimaju fotografije visoke rezolucije, a zatim se koristi OCR za njihovo pretvaranje u riječ ili PDF format.





charachters

Uvođenje OCR-a s pythonom zaslužno je za dodavanje svestranih knjižnica poput 'Tesseract' i 'Orcad'. Te su knjižnice pomogle mnogim programerima i programerima da pojednostave dizajn kodai omogućiti im da troše više vremena na druge aspekte svojih projekata. Budući da su blagodati ogromne, zavirimo u to što je i kako se to radi.



Izgradnja optičkog prepoznavanja znakova u Pythonu

Prvo moramo napraviti nastavu pomoću 'pytesseract' -a. Ova klasa omogućit će nam uvoz slika i njihovo skeniranje. U tom će procesu izlaziti datoteke s nastavkom 'ocr.py'. Pogledajmo donji kod. Funkcijski blok 'process_image' koristi se za izoštravanje teksta koji dobivamo.

Sljedeći rukovatelj i funkcija prikaza rute dodani su u aplikaciju (app.py).

Šifra ručnika rutera



spojiti u c ++
// RUKOVNIK RUTE @ app.route ('/ v {} / ocr'.format (_VERSION), methods = [' POST ']) def ocr (): try: url = request.json [' image_url '] if' jpg 'u url: output = process_image (url) return jsonify ({' output ': output}) else: return jsonify ({' error ':' only .jpg files, please '}) osim: return jsonify ({' error ':' Jeste li mislili poslati: {'image_url': 'some_jpeg_url'} '})

OCR kod motora

// OCR ENGINE uvoz pytesseract zahtjeva za uvoz iz PIL uvoza Slika iz PIL uvoza ImageFilter iz StringIO uvoza StringIO def process_image (url): image = _get_image (url) image.filter (ImageFilter.SHARPEN) return pytesseract.image_to_string (image) def _get_image (image) url): return Image.open (StringIO (requests.get (url) .content)) //

Obavezno ažurirajte uvoz i dodajte broj verzije API-ja.

import os import logging from logging import Formatter, FileHandler iz tikvice import Flask, request, jsonify from ocr import process_image _VERSION = 1 # API verzija

U odgovor JSON-a dodajemo funkciju OCR Engine-a koja je 'process_image ()'. JSON se koristi za prikupljanje podataka koji ulaze i izlaze iz API-ja. Odgovor prosljeđujemo u objektnu datoteku pomoću biblioteke “Image” iz PIL-a da bismo je instalirali.

višestruko nasljeđivanje u javi s primjerom

Imajte na umu da ovaj kod najbolje funkcionira samo sa slikama .jpg. Ako koristimo složene knjižnice koje mogu sadržavati više formata slika, tada se sve slike mogu učinkovito obraditi. Također imajte na umu da u slučaju da ste zainteresirani za samostalno isprobavanje ovog koda, molimo vas da prvo instalirate PIL koji je nabavljen iz biblioteke 'Jastuk'

& bull Započnite s pokretanjem aplikacije koja je 'app.py':

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

& bull Zatim, u drugom izvođenju terminala:

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

Na primjer:

// $ 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 i nedostaci OCR motora

Od mnogih primjena OCR-a u pythonu, popularno je prepoznavanje rukopisa. Ljudi primjenjuju ovo kako bi stvorili pisani tekst koji se zatim može popuniti u brojne kopije, a ne samo kopirati izvornu skriptu. Time se postiže jednoobraznost i čitljivost.

OCR je također koristan u pretvaranju PDF-ova u tekstove i pohranjuje ih kao varijable. To se kasnije može podvrgnuti bilo kojoj količini prethodne obrade za dodatne zadatke. Iako se čini da je koncept OCR korisna tema u svijetu Pythona, on sigurno dijeli svoj dio nedostataka.

povezani popis u c vodiču

OCR ne može uvijek jamčiti 100% točnost. Puno sati treninga treba primijeniti uz pomoć koncepata umjetne inteligencije koji mogu omogućiti OCR mehanizmu za učenje i prepoznavanje loših slika. Slike rukopisa mogu se prepoznati, ali one ovise o nekoliko čimbenika poput stila pisanja, boje stranice, kontrasta slike i razlučivosti slike.

Ovim smo došli do kraja ovog optičkog prepoznavanja znakova u Pythonu. Nadam se da ste shvatili kako točno funkcionira OCR.

Možete dobiti detaljno znanje o Pythonu, zajedno s raznim aplikacijama za mrežni trening uživo s podrškom 24/7 i doživotnim pristupom.

Imate pitanje za nas? Spomenite ih u odjeljku za komentare u 'Optičko prepoznavanje znakova u Pythonu' i javit ćemo vam se.