Ana içeriğe atla

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