optical character recognition
Főnév
optical character recognition (tsz. optical character recognitions)
Az optikai karakterfelismerés (angolul: Optical Character Recognition, röviden: OCR) egy olyan technológia, amely képes nyomtatott vagy kézzel írott szöveget digitális formába alakítani úgy, hogy az később szerkeszthető, kereshető vagy tárolható legyen elektronikus dokumentumként. Az OCR alkalmazási területei igen széleskörűek, beleértve a dokumentum-archiválást, könyvdigitalizálást, számlakezelést, biztonsági rendszereket, és sok más területet.
1. Alapfogalmak és célkitűzések
Az OCR célja, hogy egy képi bemenetről – például szkennelt papírról, fényképről, PDF-ről – automatikusan felismerje és digitalizálja a karaktereket. Az eredmény lehet egyszerű szövegfájl, formázott dokumentum, vagy metaadatokkal ellátott strukturált adat.
2. Működési elve
Az OCR folyamat több lépésből áll:
2.1. Előkészítés és képfeldolgozás
- Zajszűrés: eltávolítja a képen lévő zajokat, foltokat, árnyékokat.
- Szürkeárnyalatos konverzió: a képet fekete-fehér vagy szürkeárnyalatos formátumra konvertálja.
- Binárisítás: a képet fekete-fehérre alakítja, hogy elkülöníthetőek legyenek a karakterek a háttértől.
- Dőléskorrekció: javítja a beolvasott szöveg dőlését (deskew).
- Élsimítás és kontúrnövelés: segíti a karakterhatárok pontos meghatározását.
2.2. Karakterek szegmentálása
A kép feldarabolása sorokra, majd szavakra, végül karakterekre.
2.3. Karakterfelismerés
- Sablon-összehasonlítás (Template Matching): ismert karaktermintákhoz hasonlítja az inputot.
- Funkcióalapú felismerés (Feature Extraction): jellemzők, mint például vonalak, szögek, zárt területek alapján azonosít.
- Neurális hálók és gépi tanulás: modern rendszerek mélytanulási modellekkel tanítják be a karakterek felismerését.
2.4. Posztprocesszálás
- Nyelvi modellek: szótárak vagy nyelvtani szabályok alapján javítják az eredmény hibáit.
- Heurisztikák: pl. ha az “0” karakter egy “O”-hoz hasonló, a kontextus alapján eldönthető, melyik volt a helyes.
3. Technológiai alapok
3.1. Betűtípus-függetlenség
A hatékony OCR motor képes többféle betűtípus, méret és stílus (félkövér, dőlt stb.) felismerésére.
3.2. Nyelvi támogatás
A fejlettebb OCR motorok több nyelvet támogatnak, nyelvspecifikus karakterkészletekkel (pl. ékezetes betűk, cirill, kínai stb.).
3.3. AI-alapú rendszerek
A modern OCR megoldások – mint a Google Tesseract vagy az ABBYY FineReader – mély neurális hálózatokat használnak, amelyek képesek tanulni a bemeneti példákból.
4. Típusai
4.1. Offline OCR
Statikus képeken működik (szkennelt dokumentum, fénykép).
4.2. Online OCR
Valós idejű adatfeldolgozás, például kézírásfelismerés digitális tollal.
4.3. ICR – Intelligent Character Recognition
Fejlettebb változat, amely képes a kézírás felismerésére is.
4.4. OMR – Optical Mark Recognition
Bár nem szöveges karaktereket ismer fel, de hasonló technológiával (pl. tesztlapok beolvasása).
5. Gyakorlati alkalmazások
- Könyv- és archívum digitalizálás (pl. Google Books, könyvtárak)
- Számlakezelés és dokumentumautomatizálás
- Rendszámtábla-felismerés (ANPR)
- Személyazonosító dokumentumok (pl. útlevél, személyi) beolvasása
- Mobil alkalmazások (pl. Google Lens, Microsoft Lens)
6. Előnyök és kihívások
Előnyök:
- Időmegtakarítás
- Automatizált adatbevitel
- Digitalizálás és kereshetőség
Kihívások:
- Rossz minőségű képek
- Komplex elrendezésű dokumentumok (táblázatok, oszlopok)
- Kézírás felismerése
- Nem standard betűtípusok
7. Népszerű OCR eszközök
Név | Platform | Jellemzők |
---|---|---|
Tesseract | Nyílt forráskódú (Linux, Windows, macOS) | Google által támogatott, nyelvi modellekkel bővíthető |
ABBYY FineReader | Kereskedelmi | Magas pontosság, PDF-kezelés |
Adobe Acrobat OCR | Windows, macOS | PDF-be integrált OCR |
Microsoft OneNote OCR | Windows | Képekből való szövegkinyerés |
Online OCR szolgáltatások | Web | Egyszerű fájlfeltöltéses OCR |
8. OCR fejlesztés programozóknak
Példa: Tesseract használata Pythonban
import pytesseract
from PIL import Image
image = Image.open('document.jpg')
text = pytesseract.image_to_string(image, lang='eng')
print(text)
Fontos függőségek:
pytesseract
: Python wrapperTesseract-OCR
: maga az OCR motorPIL
vagyopencv
: képfeldolgozáshoz
9. Jövőkép
Az OCR technológia egyre inkább integrálódik mesterséges intelligenciával és gépi tanulással. A következő években várható:
- Nagyobb pontosság még nehéz körülmények között is
- Dokumentumértelmezés (layout-felismerés, táblázatok)
- Kontextuális értelmezés (mi a jelentése a szövegnek)
10. Összegzés
Az OCR egy kulcsfontosságú technológia az analóg világ és a digitális adatfeldolgozás közötti híd megteremtésében. A fejlődése lehetővé tette a papíralapú dokumentumok automatikus feldolgozását, és új lehetőségeket nyitott a digitalizáció, automatizálás és mesterséges intelligencia számára.
- optical character recognition - Szótár.net (en-hu)
- optical character recognition - Sztaki (en-hu)
- optical character recognition - Merriam–Webster
- optical character recognition - Cambridge
- optical character recognition - WordNet
- optical character recognition - Яндекс (en-ru)
- optical character recognition - Google (en-hu)
- optical character recognition - Wikidata
- optical character recognition - Wikipédia (angol)