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öz | Fő erősség | Ajánlott felhasználás | Nehézségi szint |
| Tesseract | Sebesség, elterjedtség | Szkennelt dokumentumok, egyszerű szöveg | Kezdő |
| EasyOCR | Nyelvi támogatás (80+) | Természetes képek, többnyelvű anyagok | Kezdő |
| Keras-OCR | Szabálytalan szöveg | Görbült, torz feliratok | Közepes |
| PaddleOCR | Könnyűsúlyú, gyors | Mobil eszközök, táblázatok | Közepes |
| Surya | Struktúra felismerés | Könyvek, cikkek tördeléssel | Haladó |
| DocTR | Dokumentum megértés | Teljes űrlapok, PDF elemzés | Közepes |
| MMOCR | Modularitás | Kutatás, egyedi modellek tanítása | Profi |
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.




