Cara Bekerja dengan Model OMR di Python

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, FormValidationLogic

Langkah 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.

Lihat Juga

 Bahasa Indonesia