Kuinka toteuttaa optinen merkintunnistus Pythonissa



Tämä artikkeli antaa sinulle yksityiskohtaisen ja kattavan tiedon optisen merkintunnistuksen toteuttamisesta Pythonissa.

Optinen merkintunnistus on elintärkeää ja keskeinen näkökohta ohjelmointikieli. Tällaisten käsitteiden soveltaminen reaalimaailman tilanteissa on lukuista. Tässä artikkelissa keskustellaan optisen merkintunnistuksen toteuttamisesta Pythonissa

Optisen merkintunnistuksen sovellukset

Lipputiskit käyttävät tätä laajasti lipun tärkeimpien tietojen skannaamiseen ja havaitsemiseen reittien ja työmatkalaisten tietojen seuraamiseksi. Paperitekstin muuntaminen digitaalisiksi muodoiksi, joissa kamerat sieppaavat korkean resoluution valokuvia ja sitten OCR: ää käytetään niiden tuomiseen sana- tai PDF-muotoon.





charachters

Python-tekstintunnistuksen käyttöönotto hyvitetään monipuolisten kirjastojen, kuten “Tesseract” ja “Orcad”, lisäämiseen. Nämä kirjastot ovat auttaneet monia koodereita ja kehittäjiä yksinkertaistamaan koodinsuunnitteluaja antaa heidän viettää enemmän aikaa projektien muihin näkökohtiin. Koska hyödyt ovat valtavat, katsokaamme, mitä se on ja miten se tehdään.



Optisen merkintunnistuksen rakentaminen Pythoniin

Meidän on ensin tehtävä luokka käyttäen 'pytesseract'. Tämän luokan avulla voimme tuoda kuvia ja skannata niitä. Prosessissa se tuottaa tiedostoja, joiden tunniste on ”ocr.py”. Katsotaanpa alla oleva koodi. Toimintolohkoa 'process_image' käytetään terävöittämään saamamme teksti.

Seuraava reitin käsittelijä ja näkymäfunktio lisätään sovellukseen (app.py).

Reitittimen käsittelijän koodi



// REITINKÄSITTELijä @ app.route ('/ v {} / ocr'.format (_VERSION), metodit = [' POST ']] def ocr (): kokeile: url = request.json [' image_url '] jos' jpg 'URL-osoitteessa: output = process_image (url) return jsonify ({' output ': output}) else: return jsonify ({' error ':' only .jpg files, please '}) paitsi: return jsonify ({' error ':' Tarkoititko lähettää: {'image_url': 'some_jpeg_url'} '})

OCR-moottorin koodi

// OCR ENGINE tuo pytesseract-tuontipyynnöt PIL: stä Tuo kuva PIL: stä Tuo ImageFilter StringIO-tuonnista 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 (request.get (url) .content)) //

Päivitä tuonti ja lisää API-versionumero.

miten poistut ohjelmasta Java
tuonti os tuonti loki lokien kirjaamisesta tuonnin muotoilija, FileHandler pullosta tuonti pullo, pyyntö, jsonify ocr tuonti process_image _VERSION = 1 # API-versio

Lisäämme OCR Engine -toiminnon JSON-vastaukseen prosessin_kuva (). JSONia käytetään tietojen keräämiseen API: n sisään ja ulos. Välitämme vastauksen objektitiedostoon käyttämällä PIL: n 'Image' -kirjastoa sen asentamiseen.

Huomaa, että tämä koodi toimii parhaiten vain .jpg-kuvien kanssa. Jos käytämme monimutkaisia ​​kirjastoja, joissa voi olla useita kuvamuotoja, kaikkia kuvia voidaan käsitellä tehokkaasti. Huomaa myös, että jos olet kiinnostunut kokeilemaan tätä koodia itse, asenna ensin PIL, joka hankitaan Tyyny-kirjastosta

& bull Aloita suorittamalla sovellus, joka on “app.py”:

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

& bull Sitten, toisessa terminaalissa:

// $ curl -X POST http: // localhost: 5000 / v1 / ocr -d '{' image_url ':' some_url '}' -H 'Sisältötyyppi: application / json'

Esimerkiksi:

// $ curl -X POST http: // localhost: 5000 / v1 / ocr -d '{' C: UsersakashDownloadsPic1 ':' https://edureka.com/images/blog_images/ocr/ocr.jpg '} - H 'Sisältötyyppi: application / json' {'output': 'ABCDEnFGH I JnKLMNOnPQRST'} //

OCR-moottorin edut ja haitat

Monista OCR: n käytön python-sovelluksista suosittu on käsinkirjoituksen tunnistus. Ihmiset soveltavat tätä luomaan kirjoitettua tekstiä, joka voidaan sitten täyttää useiksi kopioiksi eikä vain kopioida alkuperäistä käsikirjoitusta. Tämän tarkoituksena on saada aikaan yhtenäisyys ja luettavuus.

OCR on hyödyllinen myös muunnettaessa PDF-tiedostoja teksteiksi ja tallentaessa niitä muuttujina. Tämä voidaan myöhemmin suorittaa missä tahansa määrässä esikäsittelyä lisätehtäviä varten. Vaikka OCR: n käsite näyttää olevan hyödyllinen aihe Pythonin maailmassa, se varmasti jakaa osan haitoistaan.

OCR ei aina takaa 100% tarkkuutta. Paljon tuntia koulutusta on käytettävä keinotekoisen älykkyyden käsitteiden avulla, joiden avulla OCR-moottori voi oppia ja tunnistaa heikot kuvat. Käsinkirjoitetut kuvat voidaan tunnistaa, mutta ne riippuvat useista tekijöistä, kuten kirjoitustyylistä, sivun väristä, kuvan kontrastista ja kuvan tarkkuudesta.

miten tarkistaa palindromi java

Tämän avulla olemme päässeet tämän optisen merkintunnistuksen python-artikkeliin. Toivon, että ymmärrät OCR: n toiminnan.

Voit saada syvällistä tietoa Pythonista sen eri sovellusten kanssa live-verkkokoulutukseen 24/7 tuella ja käyttöikä.

Onko sinulla kysymys meille? Mainitse ne ”Optinen merkintunnistus Pythonissa” -kommenttiosassa ja palaamme sinuun.