Hoe te werken met het OMR Model in Python

Hoe te werken met het OMR Model in Python

Een RecognitionResult bevat één IOmrElement per herkende vraag. Deze gids laat zien hoe je herkende antwoorden kunt lezen en exporteren.

Stapsgewijze handleiding

Stap 1: Installeer het pakket

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

Stap 2: Importeer vereiste klassen

from omr.api import OmrEngine, FormValidationLogic

Stap 3: Herken een scan

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

Stap 4: Lees individuele antwoorden

Elke invoer in result.OmrElements implementeert IOmrElement: QuestionName identificeert de vraag, en GetAnswer() retourneert de herkende waarde (een lege string als niets de herkenningsdrempel heeft gepasseerd).

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

Stap 5: Exporteer het volledige resultaat

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

Veelvoorkomende problemen en oplossingen

GetAnswer() geeft een lege string terug voor een markering die ik duidelijk op de scan kan zien. De herkenningsdrempel is mogelijk te streng voor de donkerte van die markering. Pass -100 to Recognize() voor auto-calibratie, of roep Recalculate() met een lossere drempel op het bestaande resultaat.

Ik heb de ruwe antwoordgegevens nodig in een formaat anders dan CSV/JSON/XML. Iterate result.OmrElements zelf en bouw welke structuur je ook nodig hebt uit elk IOmrElement’s GetAnswer()/GetCsv().

Veelgestelde vragen

Leest Recalculate() de gescande afbeelding opnieuw?

Nee — het herwaardeert het al-herkende resultaat ter plekke met een nieuwe drempel.

Waar correspondeert QuestionName mee?

De Name die je instelt op het sjabloonelement (bijv. AnswerSheetConfig.Name of ChoiceBoxConfig.Name) waartegen de markering van dat element werd herkend.

Kan ik alleen enkele elementen exporteren in plaats van het volledige resultaat?

De exportmethoden van RecognitionResult bestrijken het volledige resultaat; filter OmrElements zelf eerst als je een subset nodig hebt.

Zie ook

 Nederlands