Jak implementovat optické rozpoznávání znaků v Pythonu



Tento článek vám poskytne podrobné a komplexní znalosti o tom, jak implementovat optické rozpoznávání znaků v Pythonu.

Optické rozpoznávání znaků je zásadní a klíčový aspekt a programovací jazyk. Uplatňování těchto konceptů ve scénářích reálného světa je četné. V tomto článku probereme, jak implementovat optické rozpoznávání znaků v Pythonu

Aplikace optického rozpoznávání znaků

Čítače jízdenek toto značně využívají ke skenování a zjišťování klíčových informací na lístku ke sledování tras a podrobností dojíždějících. Konverze papírového textu do digitálních formátů, kde fotoaparáty pořizují fotografie ve vysokém rozlišení a poté se pomocí OCR převádí do formátu slova nebo PDF.





charachters

Zavedení OCR s pythonem je připisováno přidání univerzálních knihoven jako „Tesseract“ a „Orcad“. Tyto knihovny pomohly mnoha kodérům a vývojářům zjednodušit jejich návrh kódua umožnit jim trávit více času jinými aspekty jejich projektů. Protože výhody jsou obrovské, podívejme se, co to je a jak se to dělá.



Vytváření optického rozpoznávání znaků v Pythonu

Nejprve musíme vytvořit třídu pomocí „pytesseract“. Tato třída nám umožní importovat obrázky a skenovat je. V procesu bude vydávat soubory s příponou „ocr.py“. Uvidíme níže uvedený kód. Funkční blok „process_image“ se používá k zostření textu, který dostaneme.

Následující obslužná rutina trasy a funkce zobrazení jsou přidány do aplikace (app.py).

Kód obslužné rutiny směrovače



// 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 '}) except: return jsonify ({' error ':' Chtěli jste odeslat: {'image_url': 'some_jpeg_url'} '})

Kód motoru OCR

// OCR ENGINE import pytesseract požadavky na import z PIL import Obrázek z PIL import ImageFilter ze StringIO import StringIO def process_image (url): image = _get_image (url) image.filter (ImageFilter.SHARPEN) vrátit pytesseract.image_to_string (obrázek) def _get_image ( url): return Image.open (StringIO (requests.get (url) .content)) //

Nezapomeňte aktualizovat importy a přidat číslo verze API.

import os import logování z logování import formátovač, FileHandler z baňky import baňky, požadavek, jsonify z ocr import process_image _VERSION = 1 # verze API

Přidáváme odpověď JSON funkce OCR Engine, která je „process_image ()“. JSON se používá ke shromažďování informací do a z API. Odpověď předáme do souboru objektu pomocí knihovny „Image“ od PIL, abychom ji nainstalovali.

co je funkce v sql

Upozorňujeme, že tento kód funguje nejlépe pouze u obrázků .jpg. Pokud používáme složité knihovny, které mohou obsahovat více formátů obrázků, pak lze všechny obrázky efektivně zpracovat. Také si všimněte, že pokud si chcete tento kód vyzkoušet sami, nainstalujte si prosím nejprve PIL, který je získán z knihovny „Pillow“

& bull Začněte spuštěním aplikace, která je „app.py“:

nastavení php na Windows
// $ cd ../home/flask_server/ $ python app.py //

& bull Potom v dalším spuštění terminálu:

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

Například:

// $ 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'} //

Výhody a nevýhody OCR Engine

Z mnoha aplikací používání OCR v pythonu je populární rozpoznávání rukopisu. Lidé toto používají k tomu, aby znovu vytvořili psaný text, který pak může být naplněn do mnoha kopií, spíše než jen kopírování původního skriptu. To má zajistit jednotnost a čitelnost.

OCR je také užitečné při převodu souborů PDF na texty a jejich uložení jako proměnných. To lze později podrobit libovolnému množství předběžného zpracování pro další úkoly. Ačkoli se koncept OCR ve světě Pythonu jeví jako přínosné téma, určitě sdílí svou část nevýhod.

OCR nemůže vždy zaručit 100% přesnost. Je třeba věnovat spoustu hodin tréninku pomocí konceptů umělé inteligence, které mohou motoru OCR umožnit naučit se a rozpoznat špatné obrázky. Obrázky rukopisu lze rozpoznat, ale závisí na několika faktorech, jako je styl psaní, barva stránky, kontrast obrázku a rozlišení obrázku.

S tímto se dostáváme na konec tohoto článku o optickém rozpoznávání znaků v Pythonu. Doufám, že pochopíte, jak přesně OCR funguje.

Chcete-li získat podrobné znalosti o Pythonu a jeho různých aplikacích, můžete pro živé online školení s 24/7 podporou a celoživotním přístupem.

Máte na nás dotaz? Uveďte je v sekci komentářů v části „Optické rozpoznávání znaků v Pythonu“ a my se vám ozveme.