Ikhtisar Fitur

Gambaran Fitur

Aspose.OMR FOSS untuk Python mencakup tiga lapisan: merancang template, menghasilkan gambar halaman dan deskriptor darinya, serta mengenali tanda dari salinan yang dipindai.


Desain Template

Sebuah template adalah pohon konfigurasi elemen yang berakar pada TemplateConfig. Elemen pertanyaan meliputi ChoiceBoxConfig (gelembung opsi tetap), CheckBoxConfig (kotak centang tanda apa saja), GridConfig dan CompositeGridConfig (matriks digit/simbol yang digabung menjadi satu nilai), dan AnswerSheetConfig (matriks gelembung jawaban bernomor). Kontainer tata letak (BlockConfig, ContainerConfig, PositionedBlockConfig) mengontrol batas, kolom, dan penempatan absolut. Pohon yang sama dapat dibangun dari DSL markup teks yang ringkas alih-alih objek Python.

Generation

OmrEngine.Generate() merender sebuah template menjadi GenerationResult — sebuah gambar halaman plus deskriptor .omr JSON. MemoryGenerationResult mengekspos output yang sama sebagai aliran dalam memori melalui GetImages()/GetOmr() bagi pemanggil yang tidak ingin menyentuh sistem berkas.

Recognition

TemplateProcessor.Recognize() membaca satu gambar yang dipindai terhadap templat yang dibuat darinya. RecognizeFolder() memproses itu secara batch untuk setiap gambar dalam folder. Recalculate() menghitung ulang hasil yang sudah dikenali dengan ambang batas yang berbeda tanpa membaca ulang gambar sumber. Koreksi de-skew menggunakan tanda referensi sudut (ReferencePointsSettings).

Ekspor Hasil

RecognitionResult mengekspor ke CSV, JSON, atau XML, masing-masing dengan varian aliran dalam memori yang cocok (GetCsvAsStream, GetJsonAsStream, GetXmlAsStream).

Enum Sistem Penulisan dan Overflow

Arabic, Hebrew, Persian, Urdu, dan Bengali sistem penulisan (bersama Western), serta enum LongWordHandling/OverflowAction, hadir dan dapat diurai dengan benar untuk fidelitas API pada permukaan Aspose.OMR. Kedua hal tersebut belum didukung oleh mesin render rilis ini — render hanya LTR/Barat, dan perilaku overflow belum dapat dikonfigurasi. Keduanya tercatat dalam roadmap hulu.


Tips dan Praktik Terbaik

  • Gunakan DSL markup untuk formulir sederhana; beralih ke pohon TemplateConfig yang berorientasi kode ketika Anda memerlukan kontrol programatik atas penempatan elemen.
  • FormValidationLogic.Exception menampilkan pelanggaran multi-select secara langsung alih-alih mengabaikannya secara diam-diam, untuk pertanyaan dengan multi-select dinonaktifkan.
  • Lebih pilih RecognizeFolder() daripada melakukan panggilan Recognize() secara berulang ketika memproses sekumpulan pemindaian.
  • Panggil Recalculate() alih-alih memindai ulang ketika Anda hanya perlu mencoba ambang pengenalan yang berbeda.

Masalah Umum

MasalahPenyebabPerbaikan
SaveAsPdf() memicu NotImplementedErrorEkspor PDF belum diimplementasikan dalam rilis iniGunakan Save() untuk output PNG, atau ekspor hasil pengenalan sebagai CSV/JSON/XML
Jawaban multi-pilih yang tidak diizinkan diterima secara diam-diamDefault FormValidationLogic.Ignore tidak memicu pada pelanggaranBerikan FormValidationLogic.Exception ke GetTemplateProcessor(), dan pastikan Multiselect pada pertanyaan dinonaktifkan

FAQ

Apakah perpustakaan ini memerlukan GUI atau perangkat keras OMR eksternal?

Tidak. Ia berfungsi sepenuhnya dari berkas gambar (pemindaian atau foto) menggunakan numpy, opencv-python, dan Pillow.

Bisakah saya menghasilkan PDF dari templat?

Tidak dalam rilis ini — GenerationResult.SaveAsPdf() dan MemoryGenerationResult.GetPDF() keduanya menghasilkan NotImplementedError. Gunakan output PNG dari Save()/GetImages() sebagai gantinya.

Bagaimana cara saya memproses banyak formulir yang dipindai sekaligus?

Gunakan TemplateProcessor.RecognizeFolder(folderPath, recognitionThreshold) untuk mengenali setiap gambar dalam folder dalam satu panggilan.


API Reference Ringkasan

Kelas/MetodeDeskripsi
OmrEngine.GenerateMerender templat menjadi gambar halaman + deskriptor .omr
OmrEngine.GetTemplateProcessorMemuat deskriptor .omr untuk pengenalan
TemplateProcessor.RecognizeMengenali satu gambar yang dipindai
TemplateProcessor.RecognizeFolderMengenali setiap gambar dalam folder
TemplateProcessor.RecalculateMenilai ulang hasil dengan ambang batas baru
RecognitionResult.GetCsv / GetJson / GetXmlMengekspor hasil pengenalan

Lihat Juga

 Bahasa Indonesia