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.
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.
Az OCR folyamat több lépésből áll:
A kép feldarabolása sorokra, majd szavakra, végül karakterekre.
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.
A fejlettebb OCR motorok több nyelvet támogatnak, nyelvspecifikus karakterkészletekkel (pl. ékezetes betűk, cirill, kínai stb.).
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.
Statikus képeken működik (szkennelt dokumentum, fénykép).
Valós idejű adatfeldolgozás, például kézírásfelismerés digitális tollal.
Fejlettebb változat, amely képes a kézírás felismerésére is.
Bár nem szöveges karaktereket ismer fel, de hasonló technológiával (pl. tesztlapok beolvasása).
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 |
import pytesseract
from PIL import Image
image = Image.open('document.jpg')
text = pytesseract.image_to_string(image, lang='eng')
print(text)
pytesseract
: Python wrapperTesseract-OCR
: maga az OCR motorPIL
vagy opencv
: képfeldolgozáshoz
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ó:
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.