Az optikai karakterfelismerés megvalósítása a Pythonban



Ez a cikk részletes és átfogó ismereteket nyújt Önnek az optikai karakterfelismerés Pythonban történő megvalósításáról.

Az optikai karakterfelismerés létfontosságú és kulcsfontosságú szempont, és programozási nyelv. Számos ilyen koncepció alkalmazása valós helyzetben. Ebben a cikkben megvitatjuk, hogyan lehet az optikai karakterfelismerést megvalósítani a Pythonban

Az optikai karakterfelismerés alkalmazásai

A jegypénztárak ezt széles körben használják a jegyen szereplő legfontosabb információk beolvasására és felderítésére, hogy nyomon kövessék az útvonalakat és az ingázók adatait. A papírszöveg konvertálása digitális formátumba, ahol a kamerák nagyfelbontású fényképeket készítenek, majd OCR-t használnak szó vagy PDF formátumúvá.





charachters

A Python-nal történő OCR bevezetése sokoldalú könyvtáraknak köszönhető, mint például a „Tesseract” és az „Orcad”. Ezek a könyvtárak számos kódolónak és fejlesztőnek segítettek a kódtervezés egyszerűsítésébenés lehetővé tehetik számukra, hogy több időt töltsenek projektjeik más vonatkozásain. Mivel az előnyök óriásiak, lássuk, mi ez és hogyan történik.



Optikai karakterfelismerés kiépítése a Pythonban

Először egy osztályt kell készítenünk a „pytesseract” használatával. Ez az osztály lehetővé teszi számunkra a képek importálását és beolvasását. Ennek során az „ocr.py” kiterjesztésű fájlokat fog kiadni. Lássuk az alábbi kódot. A „process_image” funkcióblokk a kapott szöveg élesítésére szolgál.

egy számjegyek összege a java-ban a ciklushoz

A következő útvonalkezelő és nézet funkció hozzáadódik az alkalmazáshoz (app.py).

Router Handler kód



// ÚTVONALKEZELŐ @ app.route ('/ v {} / ocr'.format (_VERSION), method = [' POST ']] def ocr (): try: url = request.json [' image_url '] if' jpg 'az url-ben: output = process_image (url) return jsonify ({' output ': output}) else: return jsonify ({' error ':' csak .jpg fájlokat kérem '}), kivéve: return jsonify ({' error ':' Küldeni akartad: {'image_url': 'some_jpeg_url'} '})

OCR motorkód

// OCR ENGINE importálja a pytesseract import kérelmeket a PIL-ből importálja a képet a PIL-ből 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 (request.get (url) .content)) //

Kérjük, frissítse az importálást és adja hozzá az API verziószámát.

import os importálás naplózás naplózásból import Formatter, FileHandler lombikból importálás Lombik, kérés, jsonify az ocr import process_image _VERSION = 1 # API verzió

Hozzáadjuk az OCR Engine függvényének JSON válaszát, amely a „process_image ()”. A JSON-t az API-ba be- és belépő információk gyűjtésére használják. A választ egy objektumfájlban továbbítjuk a PIL „Image” könyvtárának használatával.

Felhívjuk figyelmét, hogy ez a kód csak a .jpg képekkel működik a legjobban. Ha olyan összetett könyvtárakat használunk, amelyek több képformátumot tartalmazhatnak, akkor az összes kép hatékonyan feldolgozható. Kérjük, vegye figyelembe, hogy ha ön szeretné kipróbálni ezt a kódot, akkor először telepítse a PIL-t, amelyet a „Párna” könyvtárból szerez be

& bull Kezdje az alkalmazás futtatásával, amely „app.py”:

mi a különbség egy osztály és egy interfész között
// $ cd ../home/flask_server/ $ python app.py //

& bull Ezután egy másik terminál futtatásakor:

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

Például:

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

Az OCR motor előnyei és hátrányai

Az OCR Pythonban történő alkalmazásának számos alkalmazása közül a népszerű a kézírás-felismerés. Az emberek ezt az írott szöveg újrateremtésére használják, amelyet aztán számos példányba lehet tölteni, nem csak az eredeti szkript fénymásolását. Ennek célja az egységesség és az olvashatóság elérése.

Az OCR szintén hasznos a PDF-ek szövegekké konvertálásában és változóként történő tárolásában. Ezt később bármiféle előkezelésnek vethetjük alá további feladatok elvégzésére. Bár úgy tűnik, hogy az OCR fogalma hasznos téma a Python világában, biztosan osztja a hátrányok részét.

Az OCR nem mindig garantálja a 100% -os pontosságot. Sok órányi képzést kell alkalmazni a mesterséges intelligencia koncepcióinak segítségével, amelyek lehetővé tehetik az OCR motor számára, hogy megtanulja és felismerje a gyenge képeket. A kézírásos képek felismerhetők, de számos tényezőtől függenek, például az írás stílusától, az oldal színétől, a kép kontrasztjától és a kép felbontásától.

Ezzel véget értünk ennek az optikai karakterfelismerésnek a Python-ban. Remélem, megértette, hogyan működik pontosan az OCR.

Ha részletes ismereteket szeretne szerezni a Pythonról és annak különböző alkalmazásokról, megteheti élő online képzéshez, napi 24 órás támogatással és életre szóló hozzáféréssel.

Van egy kérdésünk? Említse meg őket az „Optikai karakterfelismerés a Pythonban” megjegyzés rovatban, és kapcsolatba lépünk Önnel.