Tesseract OCR – Prepoznavanje teksta na Linuxu

Tesseract OCR je moćan open-source alat za optičko prepoznavanje teksta (OCR – Optical Character Recognition). Može se koristiti za izdvajanje teksta iz slika i PDF dokumenata, podržava više jezika i može se kombinovati sa drugim alatima za automatsku obradu dokumenata.


1. Instalacija Tesseract-a na Linuxu

1.1 Instalacija na Ubuntu/Debian

sudo apt install tesseract-ocr
sudo apt install tesseract-ocr-all  # Instalira sve jezike

1.2 Instalacija na Arch Linux

sudo pacman -S tesseract tesseract-data-eng

1.3 Instalacija na Fedora

sudo dnf install tesseract

1.4 Provera instalacije

tesseract --version

2. Osnovna upotreba

Najjednostavniji način da izvučeš tekst iz slike:

tesseract image.png output

Ovo kreira output.txt sa prepoznatim tekstom.

Ako želiš direktan prikaz u terminalu:

tesseract image.png stdout

3. Odabir jezika za OCR

Tesseract podržava mnoge jezike. Instalirani jezici se mogu prikazati pomoću:

tesseract --list-langs

Primer prepoznavanja teksta na srpskom:

tesseract image.png output -l srp

Za više jezika istovremeno:

tesseract image.png output -l eng+srp

4. Poboljšavanje rezultata OCR-a

4.1 Korišćenje različitih modela obuke

Tesseract koristi različite modele (tessdata direktorijum). Možeš koristiti --oem opciju:

  • --oem 0 – Stari model iz Tesseract 3
  • --oem 1 – Samo novi LSTM model (podrazumevano)
  • --oem 2 – Hibrid starog i novog modela
  • --oem 3 – Automatski bira najbolji model

Primer:

tesseract image.png output -l eng --oem 1

4.2 Postavljanje načina segmentacije teksta (psm mode)

Opcija --psm određuje kako će Tesseract analizirati raspored teksta:

--psmOpis
0Orijentacija i detekcija skripte samo
3Standardno (podešeno na redove)
6Obrada kao jedinstveni blok teksta
11Obrada kao jedinstveni red teksta

Primer za obradu dokumenta kao jedinstveni blok:

tesseract image.png output --psm 6

5. Rad sa PDF dokumentima

Tesseract može raditi sa PDF-ovima koristeći pdf izlazni format:

tesseract document.png output pdf

Ako imaš više stranica u PDF-u, prvo ih konvertuj u slike pomoću pdftoppm:

pdftoppm document.pdf page -png
tesseract page-1.png output -l eng pdf

Za konverziju celog PDF-a u pretraživi PDF:

tesseract image.png output pdf

Ili pomoću pdfsandwich:

pdfsandwich document.pdf -o output.pdf -lang eng

6. Automatizacija obrade više fajlova

Ako imaš više slika (image1.png, image2.png, image3.png), možeš ih obraditi petljom:

for img in *.png; do
  tesseract "$img" "${img%.png}" -l eng
done

Za spajanje rezultata u jedan fajl:

cat *.txt > final_output.txt

7. Napredne opcije i primeri

7.1 Ekstrakcija samo brojeva

Ako želiš samo brojeve iz dokumenta:

tesseract image.png output --psm 6 -c tessedit_char_whitelist="0123456789"

7.2 Ekstrakcija samo određenih slova

tesseract image.png output --psm 6 -c tessedit_char_whitelist="ABCDEFGHIJKLMNOPQRSTUVWXYZ"

7.3 Izbacivanje specijalnih karaktera

tesseract image.png output -c preserve_interword_spaces=1

7.4 Korišćenje prilagođenog rečnika

Ako želiš da koristiš određeni rečnik, možeš dodati .traineddata fajl u tessdata direktorijum.


8. Integracija sa Python-om

Tesseract se može koristiti u Python skriptama pomoću pytesseract biblioteke.

Prvo instaliraj pytesseract:

pip install pytesseract

Primer koda:

import pytesseract
from PIL import Image

# Otvaranje slike
image = Image.open("image.png")

# Ekstrakcija teksta
text = pytesseract.image_to_string(image, lang="eng")

# Prikaz teksta
print(text)

Ako Tesseract nije u $PATH, moraš ga postaviti:

pytesseract.pytesseract.tesseract_cmd = "/usr/bin/tesseract"

9. Prednosti i nedostaci Tesseract-a

Prednosti:

  • Besplatan i open-source
  • Podrška za više jezika
  • Može raditi sa PDF-ovima
  • Podržava prepoznavanje različitih rasporeda teksta

Nedostaci:

  • Nije savršen za rukopisni tekst
  • Zahteva optimizaciju slika za bolje rezultate
  • Ponekad je potrebno dodatno podešavanje (psm, oem)

Zaključak

Tesseract OCR je moćan alat za prepoznavanje teksta iz slika i skeniranih dokumenata. Može se koristiti samostalno u terminalu ili u kombinaciji sa Python-om i drugim alatima. Ako ti treba precizniji OCR, možeš kombinovati Tesseract sa alatima poput OpenCV za poboljšanje kvaliteta slika.

By Abel

Leave a Reply

Your email address will not be published. Required fields are marked *