מודל ההכרה

מודל הזיהוי

omr.model מגדיר את הצורה של תוצאת זיהוי: RecognitionResult וממשק IOmrElement.


RecognitionResult

TemplateProcessor.Recognize() מחזיר RecognitionResult. הוא חושף את OmrElements (רשימה של אלמנטים מזוהים), בנוסף ל-ImagePath, Images, PageName ו-TemplateName. ברמת התוצאה, GetCsv(encoding), GetJson(encoding) ו-GetXml(encoding) מייצאים את כל התוצאה; לכל אחד יש גרסה תואמת ...AsStream המחזירה 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

כל ערך ב-RecognitionResult.OmrElements מיישם את IOmrElement: QuestionName ו-SortWeight מזהים את האלמנט, ו-GetAnswer() / GetCsv() קוראים את הערך המזוהה שלו.

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

טיפים ושיטות עבודה מומלצות

  • קרא QuestionName כדי להתאים אלמנט מזוהה חזרה לשאלה שממנה הוא הגיע, במקום להסתמך על סדר הרשימה.
  • השתמש במגוון הייצוא של ...AsStream (GetCsvAsStream, GetJsonAsStream, GetXmlAsStream) בעת כתיבת תוצאות ליעד שאינו מערכת קבצים.
  • TemplateProcessor.Recalculate() מעדכן RecognitionResult קיים במקום — קרא מחדש את OmrElements לאחר מכן במקום לשמור על הפניות לפני החישוב מחדש.

בעיות נפוצות

בעיהסיבהתיקון
התשובה של אלמנט היא מחרוזת ריקהסף הזיהוי היה מחמיר מדי עבור הסימון הזה, או Recalculate() נקרא עם ערך מחמיר באופן בלתי אפשריהורד את הסף, או העבר את -100 ל-Recognize() לכיול אוטומטי

FAQ

מה מחזיר GetAnswer() עבור שאלה ללא סימון?

מחרוזת ריקה — אותה הצגה Recalculate() מייצר כאשר סף מחמיר דוחה את כל הסימונים.

האם אפשר לייצא רק חלק מהאלמנטים במקום את כל התוצאה?

RecognitionResult’s GetCsv/GetJson/GetXml מייצא את כל התוצאה; סנן את OmrElements בעצמך תחילה אם אתה צריך תת-קבוצה.


סיכום API Reference

מחלקה/מתודהתיאור
RecognitionResult.OmrElementsרשימת ערכי IOmrElement מוכרים
RecognitionResult.GetCsv / GetJson / GetXmlייצא את התוצאה המלאה
IOmrElement.GetAnswer / GetCsvערך מזוהה לכל אלמנט

ראה גם

 עברית