Tanıma Modeli
Tanıma Modeli
omr.model bir tanıma sonucunun şeklini tanımlar: RecognitionResult ve IOmrElement arabirimi.
RecognitionResult
TemplateProcessor.Recognize() bir RecognitionResult döndürür. OmrElements‘yi (tanınan öğelerin bir listesi) ortaya koyar, ayrıca ImagePath, Images, PageName ve TemplateName sağlar. Sonuç düzeyinde, GetCsv(encoding), GetJson(encoding) ve GetXml(encoding) tüm sonucu dışa aktarır; her biri bir ...AsStream varyantına sahiptir ve bir BytesIO döndürür.
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 içindeki her giriş IOmrElement‘i uygular: QuestionName ve SortWeight öğeyi tanımlar, ve GetAnswer() / GetCsv() tanınan değerini okur.
for element in result.OmrElements:
print(element.QuestionName, element.GetAnswer())İpuçları ve En İyi Uygulamalar
- Tanımlı bir öğeyi, geldiği soruya eşleştirmek için
QuestionName‘ı okuyun; liste sırasına güvenmek yerine. - Sonuçları dosya sistemi dışı bir hedefe yazarken
...AsStreamihracat varyantlarını (GetCsvAsStream,GetJsonAsStream,GetXmlAsStream) kullanın. TemplateProcessor.Recalculate(), mevcut birRecognitionResult‘ı yerinde günceller — yeniden hesaplamadan önceki referansları tutmak yerine, sonrasındaOmrElements‘yi tekrar okuyun.
Sık Karşılaşılan Sorunlar
| Sorun | Sebep | Düzeltme |
|---|---|---|
| Bir öğenin yanıtı boş bir dizedir | Tanıma eşiği bu işaret için çok katıydı, ya da Recalculate() imkânsız derecede katı bir değerle çağrıldı | Eşiği düşürün, ya da otomatik kalibrasyon için -100‘ı Recognize()‘a gönderin |
FAQ
İşaretlenmemiş bir soru için GetAnswer() ne döndürür?
Boş bir dize — daha katı bir eşik tüm işaretleri reddettiğinde Recalculate() tarafından üretilen aynı temsil.
Tüm sonucu yerine yalnızca bazı öğeleri dışa aktarabilir miyim?
RecognitionResult‘ın GetCsv/GetJson/GetXml tam sonucu dışa aktarır; bir alt küme ihtiyacınız varsa önce OmrElements‘i kendiniz filtreleyin.
API Reference Özeti
| Sınıf/Yöntem | Açıklama |
|---|---|
RecognitionResult.OmrElements | Tanınan IOmrElement girişlerinin listesi |
RecognitionResult.GetCsv / GetJson / GetXml | Tam sonucu dışa aktar |
IOmrElement.GetAnswer / GetCsv | Öğe başına tanınan değer |