Cara Bekerja dengan API di Python

Cara Bekerja dengan API di Python

Aspose.OMR FOSS untuk Python’s publik API (omr.api) sengaja dibuat kecil: OmrEngine, TemplateProcessor, ImageCollection, dan FormValidationLogic. Panduan ini menunjukkan bagaimana mereka berinteraksi dalam alur kerja generate-and-recognize.

Panduan Langkah demi Langkah

Langkah 1: Instal Paket

git clone https://github.com/aspose-omr-foss/Aspose.OMR-FOSS-for-Python.git
cd Aspose.OMR-FOSS-for-Python
pip install -e .
python -c "import omr; print('Aspose.OMR FOSS for Python is ready.')"

Langkah 2: Impor Kelas yang Diperlukan

from omr.api import OmrEngine, FormValidationLogic

Langkah 3: Buat dan Simpan Template

engine = OmrEngine()
gen = engine.Generate("final-exam.txt")
gen.Save("out", "final-exam")

Langkah 4: Muat Template untuk Pengenalan

Gunakan FormValidationLogic.Exception alih-alih Ignore default jika Anda ingin pelanggaran muncul untuk pertanyaan yang multi-select-nya dinonaktifkan, alih-alih diterima secara diam-diam.

processor = engine.GetTemplateProcessor("out/final-exam.omr", FormValidationLogic.Exception)

Langkah 5: Kenali dan Ekspor

result = processor.Recognize("scan.png")
print(result.GetCsv())

Masalah Umum dan Solusinya

FormValidationLogic.Exception tidak pernah raise, bahkan pada pertanyaan multi-tanda. Pengecekan hanya aktif untuk pertanyaan dengan Multiselect dinonaktifkan; GlobalPageSettings.Multiselect defaultnya diaktifkan, jadi pastikan itu secara eksplisit dimatikan untuk pertanyaan yang Anda harapkan menjadi single-select.

Saya perlu mengenali banyak pemindaian sekaligus. Gunakan TemplateProcessor.RecognizeFolder(folderPath, recognitionThreshold) alih-alih memanggil Recognize() dalam sebuah loop.

Saya mendaftarkan gambar dengan nama yang sudah digunakan. ImageCollection.Add tidak menimpa — periksa Contains(name) pertama, atau gunakan nama unik per gambar.

Pertanyaan yang Sering Diajukan

Apakah OmrEngine aman untuk digunakan kembali di beberapa templat?

Ya — itu tidak memiliki status.

Bagaimana cara menilai ulang hasil dengan ambang batas yang berbeda tanpa memindai ulang?

Panggil TemplateProcessor.Recalculate(result, recognitionThreshold).

Bagaimana cara menyematkan gambar dalam memori ke dalam markup alih-alih membacanya dari disk?

Daftarkan itu dengan ImageCollection.Add(name, image_bytes), lalu referensikan dalam markup sebagai ?image=<name>.

Lihat Juga

 Bahasa Indonesia