Overzicht van functies

Functieoverzicht

Aspose.OMR FOSS voor Python omvat drie lagen: het ontwerpen van een sjabloon, het genereren van een pagina-afbeelding en descriptor daarvan, en het herkennen van markeringen van een gescande kopie.


Sjabloonontwerp

Een sjabloon is een boom van element-configuraties met wortel bij TemplateConfig. Vraag-elementen omvatten ChoiceBoxConfig (vaste optie-bubbels), CheckBoxConfig (any-mark selectievakjes), GridConfig en CompositeGridConfig (cijfer-/symbool-matrices samengevoegd tot één waarde), en AnswerSheetConfig (genummerde antwoord-bubbel-matrices). Layout-containers (BlockConfig, ContainerConfig, PositionedBlockConfig) regelen randen, kolommen en absolute positionering. Dezelfde boom kan worden opgebouwd vanuit een compacte tekst-markup DSL in plaats van Python-objecten.

Generation

OmrEngine.Generate() render een sjabloon naar een GenerationResult — een pagina-afbeelding plus een .omr descriptor JSON. MemoryGenerationResult biedt dezelfde output aan als in-memory streams via GetImages()/GetOmr() voor aanroepers die het bestandssysteem niet willen aanraken.

Recognition

TemplateProcessor.Recognize() leest één gescand beeld ten opzichte van de sjabloon waaruit het is gemaakt. RecognizeFolder() verwerkt dat in batches over elk beeld in een map. Recalculate() herwaardeert een al herkend resultaat met een andere drempel zonder het bronbeeld opnieuw te lezen. De scheefcorrigering maakt gebruik van hoekreferentiemarkeringen (ReferencePointsSettings).

Resultaatexport

RecognitionResult exporteert naar CSV, JSON, of XML, elk met een overeenkomstige in-memory-stream-variant (GetCsvAsStream, GetJsonAsStream, GetXmlAsStream).

Schrijfsysteem- en overflow-enumeraties

Arabic, Hebrew, Persian, Urdu en Bengali schrijfsystemen (naast Western), en de LongWordHandling/OverflowAction enums, zijn aanwezig en worden correct geparseerd voor API fidelity met het Aspose.OMR oppervlak. Geen van beide wordt nog gerespecteerd door de render-engine van deze release — renderen is alleen LTR/Western, en overflow-gedrag is nog niet configureerbaar. Beide staan op de upstream-roadmap.


Tips en best practices

  • Gebruik de markup-DSL voor eenvoudige formulieren; schakel over naar de code-first TemplateConfig boom wanneer je programmatische controle over de plaatsing van elementen nodig hebt.
  • FormValidationLogic.Exception toont multi-select-overtredingen direct in plaats van ze stilletjes te negeren, voor vragen waarbij multi-select is uitgeschakeld.
  • Geef de voorkeur aan RecognizeFolder() boven het zelf herhalen van Recognize()-aanroepen bij het verwerken van een batch scans.
  • Roep Recalculate() aan in plaats van opnieuw te scannen wanneer je alleen een andere herkenningsdrempel wilt proberen.

Veelvoorkomende problemen

ProbleemOorzaakOplossing
SaveAsPdf() werpt NotImplementedErrorPDF-export is niet geïmplementeerd in deze releaseGebruik Save() voor PNG-uitvoer, of exporteer herkenningsresultaten als CSV/JSON/XML
Een niet-toegestaan multi-select antwoord wordt stilzwijgend geaccepteerdStandaard FormValidationLogic.Ignore werpt niet bij overtredingenGeef FormValidationLogic.Exception door aan GetTemplateProcessor(), en zorg ervoor dat de Multiselect van de vraag is uitgeschakeld

FAQ

Vereist de bibliotheek een GUI of externe OMR-hardware?

Nee. Het werkt volledig vanuit afbeeldingsbestanden (scans of foto’s) met behulp van numpy, opencv-python en Pillow.

Kan ik een PDF van de template genereren?

Niet in deze release — GenerationResult.SaveAsPdf() en MemoryGenerationResult.GetPDF() geven beide NotImplementedError terug. Gebruik in plaats daarvan de PNG-uitvoer van Save()/GetImages().

Hoe verwerk ik veel gescande formulieren tegelijk?

Gebruik TemplateProcessor.RecognizeFolder(folderPath, recognitionThreshold) om elke afbeelding in een map in één oproep te herkennen.


API Reference Samenvatting

Klasse/MethodeBeschrijving
OmrEngine.GenerateRendert een template naar een pagina-afbeelding + .omr descriptor
OmrEngine.GetTemplateProcessorLaadt een .omr descriptor voor herkenning
TemplateProcessor.RecognizeHerkent één gescande afbeelding
TemplateProcessor.RecognizeFolderHerkent elke afbeelding in een map
TemplateProcessor.RecalculateHerwaardeert een resultaat met een nieuwe drempel
RecognitionResult.GetCsv / GetJson / GetXmlExporteert herkenningsresultaten

Zie ook

 Nederlands