Mô hình Nhận dạng

Mô hình Nhận dạng

omr.model xác định cấu trúc của kết quả nhận dạng: RecognitionResult và giao diện IOmrElement.


RecognitionResult

TemplateProcessor.Recognize() trả về một RecognitionResult. Nó cung cấp OmrElements (danh sách các phần tử đã nhận dạng), cộng với ImagePath, Images, PageName và TemplateName. Ở mức kết quả, GetCsv(encoding), GetJson(encoding) và GetXml(encoding) xuất toàn bộ kết quả; mỗi có một biến thể ...AsStream tương ứng trả về một 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

Mỗi mục trong RecognitionResult.OmrElements thực hiện IOmrElement: QuestionName và SortWeight xác định phần tử, và GetAnswer() / GetCsv() đọc giá trị đã nhận dạng của nó.

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

Mẹo và Thực hành tốt nhất

  • Đọc QuestionName để ghép một phần tử đã nhận dạng trở lại câu hỏi mà nó xuất phát, thay vì dựa vào thứ tự danh sách.
  • Sử dụng các biến thể xuất ...AsStream (GetCsvAsStream, GetJsonAsStream, GetXmlAsStream) khi ghi kết quả tới một đích không phải hệ thống tệp.
  • TemplateProcessor.Recalculate() cập nhật một RecognitionResult hiện có tại chỗ — đọc lại OmrElements sau đó thay vì giữ các tham chiếu từ trước khi tính lại.

Các vấn đề thường gặp

Vấn đềNguyên nhânKhắc phục
Câu trả lời của một phần tử là chuỗi rỗngNgưỡng nhận dạng quá chặt đối với dấu đó, hoặc Recalculate() đã được gọi với giá trị không thể chặt hơnHạ thấp ngưỡng, hoặc truyền -100 cho Recognize() để tự hiệu chuẩn

FAQ

GetAnswer() trả về gì cho một câu hỏi chưa được đánh dấu?

Một chuỗi rỗng — cùng một biểu diễn mà Recalculate() tạo ra khi ngưỡng nghiêm ngặt hơn loại bỏ mọi dấu.

Tôi có thể xuất chỉ một số phần tử thay vì toàn bộ kết quả không?

RecognitionResult’s GetCsv/GetJson/GetXml xuất toàn bộ kết quả; hãy tự lọc OmrElements trước nếu bạn cần một tập con.


API Reference Tóm tắt

Lớp/Phương thứcMô tả
RecognitionResult.OmrElementsDanh sách các mục IOmrElement được công nhận
RecognitionResult.GetCsv / GetJson / GetXmlXuất toàn bộ kết quả
IOmrElement.GetAnswer / GetCsvGiá trị nhận dạng từng phần tử

Xem thêm

 Tiếng Việt