A Tesseract OCR telepítése Linuxra
A Tesseract OCR alapértelmezés szerint elérhető a legtöbb Linux disztribúción. Telepítheti az Ubuntuba az alábbi paranccsal:
$ sudo apt install tesseract-ocrAz egyéb terjesztésekhez részletes utasítások állnak rendelkezésre itt. Annak ellenére, hogy a Tesseract OCR alapértelmezés szerint számos Linux disztribúció tárházában elérhető, a pontosság és az elemzés javítása érdekében ajánlott a legfrissebb verzió telepítése a fent említett linkről.
További nyelvek támogatásának telepítése a Tesseract OCR-ben
A Tesseract OCR támogatja a szöveg több mint 100 nyelven történő észlelését. Azonban az angol nyelvű szöveg észleléséhez csak az Ubuntu alapértelmezett telepítésével kap támogatást. Támogatás hozzáadásához további nyelvek elemzéséhez az Ubuntuban futtasson egy parancsot a következő formátumban:
$ sudo apt install tesseract-ocr-hinA fenti parancs hozzáadja a hindi nyelv támogatását a Tesseract OCR-hez. Néha jobb pontosságot és eredményt érhet el a nyelvi szkriptek támogatásának telepítésével. Például a tesseract csomag telepítése és használata a „tesseract-ocr-script-deva” devanagari szkripthez sokkal pontosabb eredményeket adott, mint a „tesseract-ocr-hin” csomag használata.
Az Ubuntuban megtalálja az összes nyelv és szkript helyes csomagnevét az alábbi parancs futtatásával:
$ apt-cache keresés tesseract-Miután meghatározta a telepítéshez szükséges csomagnevet, cserélje le a „tesseract-ocr-hin” karakterláncot a fent megadott első parancsban.
A Tesseract OCR használata a szöveg kibontásához képekből
Vegyünk egy példát az alább látható képre (a Wikipedia oldalról Linuxhoz):
A szöveg kibontásához a fenti képből a következő formátumú parancsot kell futtatnia:
$ tesseract elfogás.png output -l engA fenti parancs futtatása a következő kimenetet adja:
A fenti parancsban: „elfog.png ”arra a képre utal, amelyből kivonja a szöveget. A rögzített kimenetet ezután a „kimenet” tárolja.txt ”fájl. Megváltoztathatja a nyelvet, ha az „eng” argumentumot a saját választásával helyettesíti. Az összes érvényes nyelv megtekintéséhez futtassa az alábbi parancsot:
$ tesseract --list-langsMegjeleníti a Tesseract OCR által támogatott összes nyelv rövidítési kódját a rendszerén. Alapértelmezés szerint csak az „eng” fog megjelenni kimenetként. Ha azonban további nyelvekre telepít csomagokat a fentiek szerint, ez a parancs további nyelveket sorol fel, amelyek segítségével felismerheti a szöveget (ISO 639 hárombetűs nyelvi kódként).
Ha a kép több nyelven tartalmaz szöveget, akkor először definiálja az elsődleges nyelvet, majd a pluszjelekkel elválasztott további nyelveket.
$ tesseract elfogás.png output -l eng + fraHa kereshető PDF fájlként szeretné tárolni a kimenetet, futtasson egy parancsot a következő formátumban:
$ tesseract elfogás.png output -l eng pdfVegye figyelembe, hogy a kereshető PDF fájl nem tartalmaz szerkeszthető szöveget. Tartalmazza az eredeti képet, egy további réteggel, amely a felismert szöveget tartalmazza a képre. Tehát bár a PDF-fájlban bármilyen szöveget pontosan kereshet bármilyen PDF-olvasóval, a szöveget nem tudja szerkeszteni.
Egy másik szempont, amelyet érdemes megjegyezni, hogy a szövegfelismerés pontossága nagymértékben nő, ha a képfájl kiváló minőségű. Ha választani kíván, mindig veszteségmentes fájlformátumokat vagy PNG fájlokat használjon. A JPG fájlok használata nem biztos, hogy a legjobb eredményt nyújtja.
Szöveg kinyerése többoldalas PDF-fájlból
A Tesseract OCR natív módon nem támogatja a szöveg PDF fájlokból történő kinyerését. Lehetőség van azonban egy többoldalas PDF-fájlból szöveget kivonni, ha minden oldalt képfájlokká konvertál. Futtassa az alábbi parancsot egy PDF fájl konvertálásához képcsoportokká:
$ pdftoppm -png fájl.pdf kimenetA PDF fájl minden egyes oldalához kap egy megfelelő „output-1.png ”,„ output-2.png ”fájl, és így tovább.
Most, hogy egyetlen parancs használatával kivonhasson szöveget ezekből a képekből, a „for loop” szót kell használnia a bash parancsban:
$ az i-ben *.png; tesseract "$ i" "output- $ i" -l eng; Kész;A fenti parancs futtatásával az összes szöveget kibontja.png ”fájlokat, amelyek a munkakönyvtárban találhatók, és a felismert szöveget a„ output-original_filename ”könyvtárba tárolják.txt ”fájlokat. Az igényeknek megfelelően módosíthatja a parancs középső részét.
Ha az összes felismert szöveget tartalmazó szövegfájlt egyesíteni kívánja, futtassa az alábbi parancsot:
$ macska *.txt> csatlakozott.txtA szöveg többoldalas PDF-fájlból kereshető PDF-fájlokba történő kibontása közel azonos. Egy további „pdf” argumentumot kell megadnia a parancsnak:
$ az i-ben *.png; tesseract "$ i" "output- $ i" -l eng pdf; Kész;Ha az összes felismerhető szöveget tartalmazó kereshető PDF fájlt egyesíteni kívánja, futtassa az alábbi parancsot:
$ pdfunite *.pdf csatlakozott.pdfA „pdftoppm” és a „pdfunite” egyaránt alapértelmezés szerint az Ubuntu legújabb, stabil verziójára van telepítve.
A szöveg kibontásának előnyei és hátrányai a TXT és a kereshető PDF fájlokban
Ha a felismert szöveget kibontja TXT fájlokba, szerkeszthető szövegkimenetet kap. A dokumentum formázása azonban elvész (félkövér, dőlt betűs karakterek stb.). A kereshető PDF fájlok megőrzik az eredeti formázást, de elveszítik a szövegszerkesztő képességeket (továbbra is másolhat nyers szöveget). Ha bármelyik PDF-szerkesztőben megnyitja a kereshető PDF fájlt, beágyazott kép (ek) et kap a fájlba, és nem nyers szöveges kimenetet. Ha a kereshető PDF fájlokat HTML vagy EPUB formátumba konvertálja, beágyazott képeket is kap.
Következtetés
A Tesseract OCR manapság az egyik legszélesebb körben használt OCR motor. Ingyenes, nyílt forráskódú és több mint száz nyelvet támogat. A Tesseract OCR használatakor ne felejtsen el nagy felbontású képeket és helyes nyelvi kódokat használni a parancssori argumentumokban a szövegfelismerés pontosságának javítása érdekében.