Python içinde OMR Modeliyle Nasıl Çalışılır
Bir RecognitionResult, tanınan her soru için bir IOmrElement tutar. Bu kılavuz, tanınan cevapları nasıl okuyup dışa aktaracağınızı gösterir.
Adım Adım Kılavuz
Adım 1: Paketi Yükleyin
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.')"Adım 2: Gerekli Sınıfları İçe Aktarın
from omr.api import OmrEngine, FormValidationLogicAdım 3: Bir Tarama Tanıyın
engine = OmrEngine()
processor = engine.GetTemplateProcessor("out/final-exam.omr", FormValidationLogic.Ignore)
result = processor.Recognize("scan.png")Adım 4: Tek Tek Yanıtları Oku
Her giriş result.OmrElements içinde IOmrElement uygular: QuestionName soruyu tanımlar ve GetAnswer() tanınan değerini döndürür (tanıma eşiğini geçen bir şey yoksa boş bir dize).
for element in result.OmrElements:
print(element.QuestionName, element.GetAnswer())Adım 5: Tüm Sonucu Dışa Aktar
print(result.GetCsv()) # also GetJson() / GetXml()Yaygın Sorunlar ve Çözümler
GetAnswer() tarama üzerinde net bir şekilde görebildiğim bir işaret için boş bir dize döndürür. Tanıma eşiği, o işaretin karanlığı için çok katı olabilir. Geç -100 to Recognize() otomatik kalibrasyon için, ya da çağır Recalculate() mevcut sonuç üzerinde daha gevşek bir eşik ile.
Ham yanıt verilerine CSV/JSON/XML dışındaki bir formatta ihtiyacım var. Iterate result.OmrElements kendiniz ve her birinden ihtiyacınız olan yapıyı oluşturun IOmrElement’s GetAnswer()/GetCsv().
Sıkça Sorulan Sorular
Recalculate() taranmış görüntüyü yeniden okur mu?
Hayır — zaten tanınan sonucu yeni bir eşik ile yerinde yeniden puanlar.
QuestionName neye karşılık geliyor?
Şablon öğesinde (ör. AnswerSheetConfig.Name veya ChoiceBoxConfig.Name) ayarladığınız Name, o öğenin işaretinin tanındığı referanstır.
Tüm sonucu yerine sadece bazı öğeleri dışa aktarabilir miyim?
RecognitionResult‘ın dışa aktarma yöntemleri tam sonucu kapsar; bir alt küme ihtiyacınız varsa önce OmrElements‘i kendiniz filtreleyin.