Cum să lucrați cu modelul OMR în Python

Cum să lucrați cu modelul OMR în Python

Un RecognitionResult conţine un IOmrElement pentru fiecare întrebare recunoscută. Acest ghid arată cum să citiţi şi să exportaţi răspunsurile recunoscute.

Ghid pas cu pas

Pasul 1: Instalaţi pachetul

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.')"

Pasul 2: Importaţi clasele necesare

from omr.api import OmrEngine, FormValidationLogic

Pasul 3: Recunoaşteţi o scanare

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

Pasul 4: Citește răspunsurile individuale

Fiecare intrare din result.OmrElements implementează IOmrElement: QuestionName identifică întrebarea și GetAnswer() returnează valoarea recunoscută (un șir gol dacă nimic nu a depășit pragul de recunoaștere).

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

Pasul 5: Exportă rezultatul complet

print(result.GetCsv())      # also GetJson() / GetXml()

Probleme comune și remedieri

GetAnswer() returnează un șir gol pentru o marcă pe care o pot vedea clar pe scanare. Pragul de recunoaștere poate fi prea strict pentru întunericul acelei mărci. Treci -100 to Recognize() pentru auto-calibrare, sau apelează Recalculate() cu un prag mai relaxat pe rezultatul existent.

Am nevoie de datele brute ale răspunsului într-un format diferit de CSV/JSON/XML. Iterate result.OmrElements tu însuți și construiește orice structură ai nevoie din fiecare IOmrElement’s GetAnswer()/GetCsv().

Întrebări frecvente

Recitește Recalculate() imaginea scanată?

Nu — recalifică rezultatul deja recunoscut la loc cu un nou prag.

La ce corespunde QuestionName?

Name pe care îl setaţi pe elementul şablon (de exemplu AnswerSheetConfig.Name sau ChoiceBoxConfig.Name) la care marca acelui element a fost recunoscută.

Pot exporta doar unele elemente în loc de întregul rezultat?

Metodele de export ale RecognitionResult acoperă rezultatul complet; filtrează OmrElements tu însuţi mai întâi dacă ai nevoie de un subset.

Vezi și:

 Română