Python içinde OMR Modeliyle Nasıl Çalışılır

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, FormValidationLogic

Adı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.

Ayrıca Bakınız

 Türkçe