Tesseract OCR Teknik Kılavuzu
Tesseract OCR, LSTM derin öğrenme mimarisine dayanan ve 100'den fazla dili destekleyen dünyanın en güçlü açık kaynaklı optik karakter tanıma çözümüdür.
Tesseract nedir?
Tesseract, görsel piksellerini aranabilir, yapılandırılmış metne dönüştüren bir OCR motorudur. 1985'te Hewlett-Packard'da doğmuştur; bugün açık kaynak topluluğu tarafından sürdürülür ve LSTM sinir ağlarıyla 100'den fazla dili destekler.
Geliştirici kılavuzları
Bu referansın yanı sıra, her Tesseract geliştirme görevi için eksiksiz ve test edilmiş kılavuzlar yayınlıyoruz:
- Kurulum rehberi — Windows, macOS, Linux, Docker ve tessdata.
- Python rehberi (pytesseract) — görselden metne, PDF'ler, güven ve PSM/OEM.
- Kütüphaneler ve sarmalayıcılar — Python, JS, C++, Java, Go ve .NET.
- PDF rehberi — PDF OCR, aranabilir PDF'ler, OCRmyPDF ve Python.
- Eğitim rehberi — tesstrain, doğru veri ve ince ayar.
- API ve servis rehberi — FastAPI ve Docker ile kendi barındırılan REST.
Kurulum
İşletim sisteminize uygun kurulum adımlarını takip edin:
macOS (Homebrew)
brew install tesseract
brew install tesseract-lang # Tüm dil modelleri
Ubuntu / Debian
sudo apt update
sudo apt install tesseract-ocr tesseract-ocr-tur tesseract-ocr-eng
Windows
winget install UB-Mannheim.TesseractOCR
# veya Scoop ile:
scoop install tesseract
CLI Hızlı Başlangıç
Temel karakter tanıma komutları:
# Görselden metin çıkarıp terminalde göster
tesseract girdi.png stdout -l tur
# Sonucu metin dosyasına yaz (output.txt)
tesseract belge.jpg output -l tur+eng
# Aranabilir PDF oluştur
tesseract dokuman.tif output_aranabilir -l tur pdf
Sayfa Bölümleme Modları (PSM)
--psm <N> parametresi ile sayfa düzeni analizi stratejisini belirleyin:
| PSM | Mod Açıklaması | Kullanım Alanı |
|---|---|---|
0 |
Yalnızca yön ve alfabe tespiti (OSD) | Sayfa döndürme açısı ve dil tespiti |
1 |
Otomatik sayfa bölümleme + OSD | Karmaşık çok dilli taramalar |
3 |
Tam otomatik sayfa bölümleme (Varsayılan) | Standart tam sayfa belgeler |
6 |
Tek tip metin bloğu | Faturalar, makbuzlar, tek formatlı metinler |
7 |
Tek bir metin satırı | Plakalar, barkod yazıları, tek satırlar |
8 |
Tek bir kelime | CAPTCHA kodları, tekil kelimeler |
OCR Motor Modları (OEM)
OEM, Tesseract'ın eski desen eşleştirme motoru ile modern LSTM sinir ağı arasında geçiş yapar. --oem parametresiyle ayarlanır.
- 0: Yalnızca eski motor (klasik görüntü analizi).
- 1: Yalnızca LSTM sinir ağı motoru (hızlı ve yüksek doğruluk).
- 2: Eski motor ve LSTM birlikte.
- 3: Varsayılan; .traineddata modelinde ne varsa onu kullanır.
Çıktı Formatları (PDF, hOCR)
Bir görseli aranabilir PDF'ye dönüştürmek için pdf çıktısını kullanın; sözcük bazında koordinatlar için hOCR/TSV/ALTO seçin.
# Aranabilir PDF
tesseract document.tif output pdf
# Koordinat verisi (hOCR)
tesseract input.png out hocr
→ Tam Tesseract OCR PDF kılavuzu — aranabilir PDF'ler, OCRmyPDF, Python ve sorun giderme.
Python Entegrasyonu (pytesseract)
Motoru kurun, ardından pip install pytesseract pillow çalıştırın. Tam rehber image_to_string, görsel ön işleme, PDF, güven, PSM/OEM yapılandırması ve sorun gidermeyi kapsar.
Node.js ve Tarayıcı (tesseract.js)
tesseract.js WebAssembly ile tarayıcıda veya Node'da kullanılır. Görüntüleri tanır, PDF desteklemez. Tüm sarmalayıcılar ve ödünleşimler için kütüphane referansına bakın.
Model Eğitimi & İnce Ayar (tesstrain)
Tesseract 5, LSTM modellerini tesstrain projesiyle ince ayar yapar ve eğitir. Eğitim, ikili yükleyicilerde kullanılamaz: kaynaktan derleme (veya WSL2), make, doğru veri üretimi ve tesstrain deposu gerekir.
→ Tam Tesseract eğitim kılavuzu (tesstrain, ince ayar, dağıtım)
İlgili Belge Yapay Zekâsı ve Derin Öğrenme Motorları
Tesseract metin çıkarmada yerleşik açık kaynak standarttır; ancak modern belge süreçlerinde sıklıkla özel sinir ağı motorlarıyla birlikte kullanılır:
- PaddleOCR: Gelişmiş tablo tanıma, düzen analizi ve çok dilli destek sunan yüksek doğruluklu derin öğrenme OCR motoru (PP-OCR). (rehber)
- Docling: PDF, görsel ve Office belgelerini yapılandırılmış Markdown ve JSON'a dönüştüren, üretken yapay zekâ ve RAG için açık kaynaklı belge ayrıştırıcı. (rehber)
- Pillow (PIL): OCR öncesinde kontrast ayarı, eşikleme, kırpma ve biçim dönüştürme için kullanılan temel Python görüntü işleme kütüphanesi. (rehber)