Igenkänningsmodellen

Igenkänningsmodellen

omr.model definierar formen på ett igenkänningsresultat: RecognitionResult och IOmrElement-gränssnittet.


RecognitionResult

TemplateProcessor.Recognize() returnerar en RecognitionResult. Den exponerar OmrElements (en lista över igenkända element), samt ImagePath, Images, PageName och TemplateName. På resultatsnivå exporterar GetCsv(encoding), GetJson(encoding) och GetXml(encoding) hela resultatet; var och en har en motsvarande ...AsStream-variant som returnerar en BytesIO.

from omr.api import OmrEngine, FormValidationLogic

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

IOmrElement

Varje post i RecognitionResult.OmrElements implementerar IOmrElement: QuestionName och SortWeight identifierar elementet, och GetAnswer() / GetCsv() läser dess igenkända värde.

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

Tips och bästa praxis

  • Läs QuestionName för att matcha ett känt element tillbaka till frågan det kom från, snarare än att förlita sig på listordning.
  • Använd ...AsStream-exportvarianterna (GetCsvAsStream, GetJsonAsStream, GetXmlAsStream) när du skriver resultat till en icke-filsystemdestination.
  • TemplateProcessor.Recalculate() uppdaterar en befintlig RecognitionResult på plats — läs om OmrElements efteråt istället för att behålla referenser från före omräkningen.

Vanliga problem

ProblemOrsakLösning
Ett elements svar är en tom strängIgenkänningströskeln var för strikt för den markeringen, eller så anropades Recalculate() med ett omöjligt strikt värdeSänk tröskeln, eller skicka -100 till Recognize() för automatisk kalibrering

FAQ

Vad returnerar GetAnswer() för en omarkerad fråga?

En tom sträng — samma representation som Recalculate() producerar när ett strängare tröskelvärde förkastar varje markering.

Kan jag exportera endast vissa element istället för hela resultatet?

RecognitionResults GetCsv/GetJson/GetXml exporterar hela resultatet; filtrera OmrElements själv först om du behöver en delmängd.


API Reference Sammanfattning

Klass/MetodBeskrivning
RecognitionResult.OmrElementsLista över erkända IOmrElement-poster
RecognitionResult.GetCsv / GetJson / GetXmlExportera hela resultatet
IOmrElement.GetAnswer / GetCsvPer-element erkänt värde

Se även

 Svenska