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.
Güncel Standart: Bu kılavuz, yerleşik yapay sinir ağı motoruna sahip Tesseract v5.3+ sürümleri için hazırlanmıştır.
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 |
Python Entegrasyonu (pytesseract)
import pytesseract
from PIL import Image
# Görseli aç
img = Image.open('fatura.jpg')
# Türkçe ve İngilizce eşzamanlı metin çıkarma
text = pytesseract.image_to_string(img, lang='tur+eng', config='--psm 6')
print(text)
# Aranabilir PDF ikili verisi üret
pdf_bytes = pytesseract.image_to_pdf_or_hocr(img, extension='pdf', lang='tur')
with open('output.pdf', 'wb') as f:
f.write(pdf_bytes)
Node.js ve Tarayıcı (tesseract.js)
import { createWorker } from 'tesseract.js';
const worker = await createWorker('tur');
const { data: { text, confidence } } = await worker.recognize('fatura.png');
console.log(`Doğruluk: %${confidence}`);
console.log(text);
await worker.terminate();
Model Eğitimi & İnce Ayar (tesstrain)
Özel yazı tipleri veya sektörel terminolojiler için resmi tesstrain aracıyla modeli eğitebilirsiniz:
# Resmi eğitim aracını klonlayın
git clone https://github.com/tesseract-ocr/tesstrain.git
cd tesstrain
# İnce ayar eğitimini başlatın
make training MODEL_NAME=tur_custom START_MODEL=tur TESSDATA_PREFIX=/usr/share/tesseract-ocr/5/tessdata