Cara Bekerja dengan Model OMR di Python
Sebuah RecognitionResult menyimpan satu IOmrElement per pertanyaan yang dikenali. Panduan ini menunjukkan cara membaca dan mengekspor jawaban yang dikenali.
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, FormValidationLogicLangkah 3: Kenali Pemindaian
engine = OmrEngine()
processor = engine.GetTemplateProcessor("out/final-exam.omr", FormValidationLogic.Ignore)
result = processor.Recognize("scan.png")Langkah 4: Baca Jawaban Individu
Setiap entri dalam result.OmrElements mengimplementasikan IOmrElement: QuestionName mengidentifikasi pertanyaan, dan GetAnswer() mengembalikan nilai yang dikenali (string kosong jika tidak ada yang melewati ambang pengenalan).
for element in result.OmrElements:
print(element.QuestionName, element.GetAnswer())Langkah 5: Ekspor Seluruh Hasil
print(result.GetCsv()) # also GetJson() / GetXml()Masalah Umum dan Solusinya
GetAnswer() mengembalikan string kosong untuk tanda yang jelas saya lihat pada pemindaian. Ambang pengenalan mungkin terlalu ketat untuk kegelapan tanda itu. Lewati -100 to Recognize() untuk kalibrasi otomatis, atau panggil Recalculate() dengan ambang yang lebih longgar pada hasil yang ada.
Saya membutuhkan data jawaban mentah dalam format selain CSV/JSON/XML. Iterate result.OmrElements sendiri dan bangun struktur apa pun yang Anda perlukan dari masing-masing IOmrElement’s GetAnswer()/GetCsv().
Pertanyaan yang Sering Diajukan
Apakah Recalculate() membaca ulang gambar yang dipindai?
Tidak — itu menilai ulang hasil yang sudah dikenali di tempat dengan ambang batas baru.
Apa yang dimaksud dengan QuestionName?
Name yang Anda tetapkan pada elemen templat (mis. AnswerSheetConfig.Name atau ChoiceBoxConfig.Name) yang menjadi acuan tanda elemen tersebut dikenali.
Bisakah saya mengekspor hanya sebagian elemen saja, bukan seluruh hasil?
Metode ekspor RecognitionResult mencakup seluruh hasil; saring OmrElements sendiri terlebih dahulu jika Anda memerlukan subset.