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:
--psm | Opis |
|---|---|
| 0 | Orijentacija i detekcija skripte samo |
| 3 | Standardno (podešeno na redove) |
| 6 | Obrada kao jedinstveni blok teksta |
| 11 | Obrada 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.
