Model Pengakuan

Model Pengakuan

omr.model mendefinisikan bentuk hasil pengenalan: RecognitionResult dan antarmuka IOmrElement.


RecognitionResult

TemplateProcessor.Recognize() mengembalikan RecognitionResult. Itu mengekspos OmrElements (daftar elemen yang dikenali), serta ImagePath, Images, PageName, dan TemplateName. Pada tingkat hasil, GetCsv(encoding), GetJson(encoding), dan GetXml(encoding) mengekspor seluruh hasil; masing-masing memiliki varian ...AsStream yang cocok yang mengembalikan BytesIO.

from omr.api import OmrEngine, FormValidationLogic

engine = OmrEngine()
processor = engine.GetTemplateProcessor("out/final-exam.omr", FormValidationLogic.Ignore)
result = processor.Recognize("scan.png")
print(result.GetJson())

IOmrElement

Setiap entri dalam RecognitionResult.OmrElements mengimplementasikan IOmrElement: QuestionName dan SortWeight mengidentifikasi elemen, dan GetAnswer() / GetCsv() membaca nilai yang dikenali.

for element in result.OmrElements:
    print(element.QuestionName, element.GetAnswer())

Tips dan Praktik Terbaik

  • Baca QuestionName untuk mencocokkan elemen yang dikenali kembali ke pertanyaan asalnya, bukan bergantung pada urutan daftar.
  • Gunakan varian ekspor ...AsStream (GetCsvAsStream, GetJsonAsStream, GetXmlAsStream) saat menulis hasil ke tujuan non-sistem berkas.
  • TemplateProcessor.Recalculate() memperbarui RecognitionResult yang ada di tempat — baca ulang OmrElements setelahnya daripada mempertahankan referensi dari sebelum perhitungan ulang.

Masalah Umum

MasalahPenyebabPerbaikan
Jawaban sebuah elemen adalah string kosongAmbang pengenalan terlalu ketat untuk tanda itu, atau Recalculate() dipanggil dengan nilai yang sangat ketatTurunkan ambang, atau berikan -100 ke Recognize() untuk kalibrasi otomatis

FAQ

Apa yang dikembalikan GetAnswer() untuk pertanyaan yang tidak ditandai?

String kosong — representasi yang sama yang dihasilkan Recalculate() ketika ambang batas yang lebih ketat menolak semua tanda.

Apakah saya dapat mengekspor hanya beberapa elemen saja daripada seluruh hasil?

RecognitionResult’s GetCsv/GetJson/GetXml mengekspor hasil lengkap; filter OmrElements sendiri terlebih dahulu jika Anda memerlukan subset.


Ringkasan API Reference

Kelas/MetodeDeskripsi
RecognitionResult.OmrElementsDaftar entri IOmrElement yang dikenali
RecognitionResult.GetCsv / GetJson / GetXmlEkspor seluruh hasil
IOmrElement.GetAnswer / GetCsvNilai yang dikenali per elemen

Lihat Juga

 Bahasa Indonesia