7 nyílt forráskódú eszköz szövegfelismeréshez

A papíralapú dokumentumok digitalizálása és a képeken lévő szövegek kinyerése ma már alapvető feladat. Ezek az open source OCR modellek lehetővé teszik a folyamat automatizálását anélkül, hogy drága szoftverekre kellene költeni. Ebben a cikkben végigvesszük a hét legjobb eszközt, működő kódokkal illusztrálva.

A példák futtatásához Python környezet szükséges. Hozzon létre egy mappát, és telepítse a függőségeket a leírtak szerint. Készítsen elő egy teszt_kep.png nevű fájlt, amelyen jól olvasható szöveg található.

1. Tesseract: A megbízható veterán

A HP és a Google által gondozott motor az iparág egyik legismertebb szereplője. Használatához a rendszerre telepíteni kell magát a bináris motort, majd a Python csatolót.

Telepítés:

pip install pytesseract pillow

A kód (tesseract_demo.py):

from PIL import Image
import pytesseract

# Kép betöltése
img = Image.open('teszt_kep.png')

# Szöveg kinyerése
szoveg = pytesseract.image_to_string(img)

print("Eredmény:")
print(szoveg)

Ez a megoldás gyors és kevés erőforrást igényel, de zajos képeknél pontatlan lehet.

2. EasyOCR: A modern mindenes

A PyTorch alapokra épülő könyvtár több mint 80 nyelvet támogat. Nevéhez hűen rendkívül egyszerű a használata, és GPU-val gyorsítható.

Telepítés:

pip install easyocr

A kód (easyocr_demo.py):

import easyocr

# Olvasó inicializálása (magyar és angol)
olvaso = easyocr.Reader(['hu', 'en'])

# Feldolgozás
eredmeny = olvaso.readtext('teszt_kep.png', detail=0)

print("Felismerés:")
for sor in eredmeny:
    print(sor)

Az első futtatáskor letölti a szükséges modelleket. Kiválóan kezeli a természetes környezetben készült fotókat.

3. Keras-OCR: A nehéz esetek specialistája

Ha a szöveg görbült, vagy szabálytalan alakzatban helyezkedik el, ez a TensorFlow alapú eszköz jó választás.

Telepítés:

pip install keras-ocr

A kód (keras_demo.py):

import keras_ocr

# Pipeline létrehozása
pipeline = keras_ocr.pipeline.Pipeline()

# Kép beolvasása és elemzése
kepek = [keras_ocr.tools.read('teszt_kep.png')]
eredmenyek = pipeline.recognize(kepek)

# Kiírás
for szoveg, doboz in eredmenyek[0]:
    print(f"Szöveg: {szoveg}")

Lassabb lehet társainál, de a pontossága kárpótol a bonyolultabb elrendezéseknél.

4. PaddleOCR: Sebesség és struktúra

A PaddlePaddle keretrendszerre épülő motor különösen erős a táblázatok és strukturált dokumentumok feldolgozásában. Rendkívül könnyűsúlyú.

Telepítés:

pip install paddlepaddle paddleocr

A kód (paddle_demo.py):

from paddleocr import PaddleOCR

# Motor indítása
ocr = PaddleOCR(use_angle_cls=True, lang='en')

eredmeny = ocr.ocr('teszt_kep.png', cls=True)

print("Kinyert adatok:")
for sor in eredmeny[0]:
    print(sor[1][0])

A kimenet tartalmazza a szöveg koordinátáit és a felismerés bizonyosságát is.

5. Surya: A dokumentumelemző

A Surya nemcsak a betűket ismeri fel, hanem a dokumentum szerkezetét is értelmezi. Képes a sorok logikai sorrendjének megállapítására.

Telepítés:

pip install surya-ocr

A kód (surya_demo.py):

from PIL import Image
from surya.ocr import run_ocr
from surya.model.detection import segformer
from surya.model.recognition.model import load_model
from surya.model.recognition.processor import load_processor

kep = Image.open('teszt_kep.png')
nyelvek = ["en"]

# Modellek betöltése
det_proc, det_mod = segformer.load_processor(), segformer.load_model()
rec_mod, rec_proc = load_model(), load_processor()

# Futtatás
kiiras = run_ocr([kep], [nyelvek], det_mod, det_proc, rec_mod, rec_proc)
print(kiiras)

Ideális választás, ha a formázás megőrzése is fontos.

6. DocTR: A teljes kép

A Mindee fejlesztése a teljes dokumentum megértésére törekszik. Képes elemezni a weboldalakat és a szkennelt PDF-eket is.

Telepítés:

pip install python-doctr

A kód (doctr_demo.py):

from doctr.io import DocumentFile
from doctr.models import ocr_predictor

modell = ocr_predictor(pretrained=True)
doc = DocumentFile.from_images("teszt_kep.png")

eredmeny = modell(doc)
eredmeny.show(doc)

A vizuális megjelenítés segít a hibák gyors kiszűrésében.

7. MMOCR: A kutatói eszköztár

Az OpenMMLab projekt része rengeteg előtanított modellt kínál. Bár a beüzemelése bonyolultabb lehet a specifikus verziók miatt, a rugalmassága páratlan.

A használata haladó ismereteket igényel, gyakran konfigurációs fájlok testreszabásával jár. Elsősorban azoknak ajánlott, akik saját modellt szeretnének tanítani vagy speciális kutatási feladaton dolgoznak.

Összehasonlító táblázat

Az alábbi táblázat segít a megfelelő eszköz kiválasztásában a feladat típusa alapján.

EszközFő erősségAjánlott felhasználásNehézségi szint
TesseractSebesség, elterjedtségSzkennelt dokumentumok, egyszerű szövegKezdő
EasyOCRNyelvi támogatás (80+)Természetes képek, többnyelvű anyagokKezdő
Keras-OCRSzabálytalan szövegGörbült, torz feliratokKözepes
PaddleOCRKönnyűsúlyú, gyorsMobil eszközök, táblázatokKözepes
SuryaStruktúra felismerésKönyvek, cikkek tördelésselHaladó
DocTRDokumentum megértésTeljes űrlapok, PDF elemzésKözepes
MMOCRModularitásKutatás, egyedi modellek tanításaProfi

Válassza azt az eszközt, amely leginkább illeszkedik a projekt igényeihez. Kezdésnek az EasyOCR vagy a Tesseract ajánlott a gyors sikerélmény érdekében.

Kérjük, ellenőrizd a mező formátumát, és próbáld újra.
Köszönjük, hogy feliratkoztál.

vagyunk.hu hírlevél

Hozzászólás

Az e-mail címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük