Panduan Teknis Tesseract OCR
Tesseract OCR adalah mesin pengenalan karakter optik open source paling andal di dunia. Dibangun di atas neural network LSTM, Tesseract mendukung pengenalan lebih dari 100 bahasa dunia.
Standar Terkini: Dokumentasi ini disusun berdasarkan rilis Tesseract v5.3+ dengan mesin pembelajaran mendalam LSTM terintegrasi.
Instalasi
Langkah-langkah pemasangan sesuai sistem operasi Anda:
macOS (Homebrew)
brew install tesseract
brew install tesseract-lang # Pasang semua model bahasa
Ubuntu / Debian
sudo apt update
sudo apt install tesseract-ocr tesseract-ocr-ind tesseract-ocr-eng
Windows
winget install UB-Mannheim.TesseractOCR
# atau via Scoop:
scoop install tesseract
CLI Panduan Cepat
Contoh perintah dasar pengenalan teks:
# Ekstrak teks Bahasa Indonesia ke terminal stdout
tesseract input.png stdout -l ind
# Simpan hasil ke file teks (output.txt)
tesseract scan.jpg output -l ind+eng
# Buat PDF yang dapat dicari (searchable PDF)
tesseract dokumen.tif output_searchable -l ind pdf
Mode Segmentasi Halaman (PSM)
Gunakan opsi --psm <N> untuk menentukan strategi segmentasi halaman:
| PSM | Deskripsi Mode | Kasus Penggunaan |
|---|---|---|
0 |
Deteksi orientasi dan aksara saja (OSD) | Koreksi rotasi halaman dan deteksi bahasa |
1 |
Segmentasi otomatis + OSD | Pindaian kompleks multi-bahasa |
3 |
Segmentasi otomatis penuh (Default) | Dokumen standar multi-paragraf |
6 |
Blok teks seragam tunggal | Kwitansi, faktur, satu blok teks teratur |
7 |
Satu baris teks | Plat nomor kendaraan, teks label tunggal |
8 |
Satu kata tunggal | Kode CAPTCHA, teks logo |
Integrasi Python (pytesseract)
import pytesseract
from PIL import Image
# Buka gambar
img = Image.open('faktur.jpg')
# Ekstrak teks Bahasa Indonesia & Inggris
text = pytesseract.image_to_string(img, lang='ind+eng', config='--psm 6')
print(text)
# Hasilkan PDF searchable biner
pdf_bytes = pytesseract.image_to_pdf_or_hocr(img, extension='pdf', lang='ind')
with open('output.pdf', 'wb') as f:
f.write(pdf_bytes)
Node.js & Browser (tesseract.js)
import { createWorker } from 'tesseract.js';
const worker = await createWorker('ind');
const { data: { text, confidence } } = await worker.recognize('dokumen.png');
console.log(`Keyakinan: %${confidence}`);
console.log(text);
await worker.terminate();
Pelatihan & Fine-Tuning Model (tesstrain)
Gunakan repositori resmi tesstrain untuk melatih model kustom pada font khusus atau istilah teknis industri:
# Kloning alat pelatihan resmi
git clone https://github.com/tesseract-ocr/tesstrain.git
cd tesstrain
# Jalankan pelatihan fine-tuning
make training MODEL_NAME=ind_custom START_MODEL=ind TESSDATA_PREFIX=/usr/share/tesseract-ocr/5/tessdata