How To

Menggunakan Python

Menggunakan pustaka RustO! OCR native berbasis UniFFI pada aplikasi Python.

Paket rusto menyediakan binding performa tinggi berbasis UniFFI, memungkinkan aplikasi Python menjalankan OCR murni Rust secepat C tanpa terhambat Python GIL selama inferensi.

Instalasi

pip install rusto

1. Inisialisasi Engine

from rusto import (
    RustO,
    InitializeConfig,
    OcrRunOptions,
    ImageSource,
    OutputGranularity,
)

# Inisialisasi dengan preset PP-OCRv6
config = InitializeConfig.ppv6(
    det="models/PPOCR_v6/det.rten",
    rec="models/PPOCR_v6/rec.rten",
    dict="models/PPOCR_v6/dict.txt"
)
engine = RustO.initialize(config)

2. Deteksi & Rekognisi Teks

options = OcrRunOptions(
    output=OutputGranularity.LINES,
    text_score=0.5
)

result = engine.detect_text(ImageSource.PATH("receipt.jpg"), options)

if result.is_STRUCTURED():
    for item in result.results:
        print(f"[{item.score:.2f}] {item.text}")

3. Rekonstruksi Tata Letak Spasial

spatial_options = OcrRunOptions(
    output=OutputGranularity.SPATIAL,
    line_y_threshold=0.5,
    word_x_threshold=0.4
)

result = engine.detect_text(ImageSource.PATH("invoice.png"), spatial_options)
if result.is_SPATIAL():
    print(result.text)