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, FormValidationLogicStap 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.