Özellikler Genel Bakış

Özellikler Genel Bakış

Özellikler Genel Bakışı

Aspose.OMR FOSS for Python üç katmanı kapsar: bir şablon tasarlama, ondan bir sayfa görüntüsü ve tanımlayıcı oluşturma ve taranmış bir kopyadan işaretleri tanıma.


Şablon Tasarımı

Bir şablon, TemplateConfig kökenli öğe yapılandırmalarının bir ağacıdır. Soru öğeleri ChoiceBoxConfig (sabit seçenek baloncukları), CheckBoxConfig (herhangi bir işaret kutusu), GridConfig ve CompositeGridConfig (tek bir değere birleştirilmiş rakam/simge matrisleri) ve AnswerSheetConfig (numaralı cevap-balon matrisleri) içerir. Yerleşim kapsayıcıları (BlockConfig, ContainerConfig, PositionedBlockConfig) kenarlıkları, sütunları ve mutlak konumlandırmayı kontrol eder. Aynı ağaç, Python nesneleri yerine kompakt bir metin-işaretleme DSL’si ile oluşturulabilir.

Generation

OmrEngine.Generate() bir şablonu bir GenerationResult olarak işler — bir sayfa görüntüsü ve .omr tanımlayıcı JSON. MemoryGenerationResult, dosya sistemine dokunmak istemeyen çağırıcılar için aynı çıktıyı GetImages()/GetOmr() aracılığıyla bellek içi akışlar olarak sunar.

Recognition

TemplateProcessor.Recognize() bir taranmış görüntüyü oluşturulduğu şablona karşı okur. RecognizeFolder() bunu bir klasördeki her görüntüye toplu olarak uygular. Recalculate() kaynak görüntüyü yeniden okumadan, farklı bir eşik ile zaten tanınmış bir sonucu yeniden puanlar. De-skew düzeltme, köşe referans işaretlerini (ReferencePointsSettings) kullanır.

Sonuç Dışa Aktarımı

RecognitionResult CSV, JSON veya XML formatına dışa aktarır, her biri eşleşen bellek içi akış varyantı (GetCsvAsStream, GetJsonAsStream, GetXmlAsStream) ile birlikte.

Yazı Sistemi ve Taşma Enums

Arabic, Hebrew, Persian, Urdu, ve Bengali yazı sistemleri (Western ile birlikte), ve LongWordHandling/OverflowAction enumları, API doğruluğu için Aspose.OMR yüzeyiyle mevcut ve doğru şekilde ayrıştırılıyor. Hiçbiri bu sürümün render engine’i tarafından henüz desteklenmiyor — renderleme yalnızca LTR/Western-only ve overflow behavior henüz yapılandırılamıyor. Her ikisi de upstream roadmap’te izleniyor.


İpuçları ve En İyi Uygulamalar

  • Basit formlar için markup DSL’yi kullanın; öğe yerleşimi üzerinde programatik kontrol gerektiğinde kod-öncelikli TemplateConfig ağacına geçin.
  • FormValidationLogic.Exception, çoklu seçim devre dışı bırakılmış sorular için çoklu seçim ihlallerini sessizce yok saymak yerine anında gösterir.
  • Bir tarama topluluğu işlenirken kendiniz Recognize() çağrılarını döngüye sokmak yerine RecognizeFolder() tercih edin.
  • Farklı bir tanıma eşiği denemeniz gerektiğinde yeniden tarama yapmak yerine Recalculate() çağırın.

Yaygın Sorunlar

SorunNedenDüzeltme
SaveAsPdf() NotImplementedError hatasını oluştururPDF dışa aktarımı bu sürümde uygulanmadıPNG çıktısı için Save() kullanın, ya da tanıma sonuçlarını CSV/JSON/XML olarak dışa aktarın
İzin verilmeyen çoklu seçim yanıtı sessizce kabul edilirVarsayılan FormValidationLogic.Ignore ihlallerde hata oluşturmazFormValidationLogic.Exception‘ı GetTemplateProcessor()‘e iletin ve sorunun Multiselect‘nin devre dışı bırakıldığını doğrulayın

FAQ

Kütüphane herhangi bir GUI veya harici OMR donanımı gerektiriyor mu?

Hayır. numpy, opencv-python ve Pillow kullanarak tamamen görüntü dosyalarından (taramalar veya fotoğraflar) çalışır.

Şablonun bir PDF’sini oluşturabilir miyim?

Bu sürümde yok — GenerationResult.SaveAsPdf() ve MemoryGenerationResult.GetPDF() ikisi de NotImplementedError oluşturur. Bunun yerine Save()/GetImages() çıktısını PNG olarak kullanın.

Birçok taranmış formu aynı anda nasıl işleyebilirim?

Bir klasördeki tüm görüntüleri tek bir çağrıda tanımak için TemplateProcessor.RecognizeFolder(folderPath, recognitionThreshold) kullanın.


API Reference Özeti

Sınıf/YöntemAçıklama
OmrEngine.GenerateBir şablonu sayfa görüntüsüne ve .omr tanımlayıcısına dönüştürür
OmrEngine.GetTemplateProcessorTanıma için bir .omr tanımlayıcısını yükler
TemplateProcessor.RecognizeTek bir taranmış görüntüyü tanır
TemplateProcessor.RecognizeFolderKlasördeki tüm görüntüleri tanır
TemplateProcessor.RecalculateSonucun puanını yeni bir eşik ile yeniden hesaplar
RecognitionResult.GetCsv / GetJson / GetXmlTanıma sonuçlarını dışa aktarır

Ayrıca Bakınız

 Türkçe