Оптическое распознавание меток (OMR) — это технология, которую можно использовать для чтения и извлечения данных из изображений отмеченных форм. OMR обычно используется в стандартизированных тестах, опросах и голосованиях, но его также можно использовать во множестве других приложений, таких как оценка работ учащихся и отслеживание инвентаря. В этой записи блога мы покажем вам, как создать и прочитать лист OMR со штрих-кодом на C#.
В этой статье рассматриваются следующие темы:
- Создание и чтение OMR с помощью штрих-кода — C# API
- Создать лист OMR со штрих-кодом
- Читать лист OMR со штрих-кодом
- Бесплатные учебные ресурсы
Создание и чтение OMR с помощью штрих-кода — C# API
Мы будем использовать Aspose.OMR for .NET API для создания и чтения листа OMR со штрих-кодом на C#. Он позволяет разработчикам быстро и легко проектировать, отображать и распознавать заполненные вручную листы ответов, опросы, приложения и аналогичные формы в приложениях .NET.
Пожалуйста, загрузите DLL API или установите его с помощью NuGet.
PM> Install-Package Aspose.OMR
Создать лист OMR со штрих-кодом на C#
Мы можем легко создать файл шаблона OMR (.omr) и изображение листа, используя простую текстовую разметку, выполнив следующие действия:
- Создайте экземпляр класса OmrEngine.
- После этого получите объект GenerationResult, вызвав метод GenerateTemplate() с путем к текстовому файлу в качестве аргумента.
- Наконец, вызовите метод Save(), чтобы сохранить сгенерированное изображение и файл шаблона .omr на локальном диске.
В следующем примере кода показано, как создать лист OMR со штрих-кодом с помощью C#.
// Каталог входных и выходных файлов
string dataDir = "C:\\Files\\";
// Инициализировать движок
OmrEngine engine = new OmrEngine();
GenerationResult res = engine.GenerateTemplate(Path.Combine(dataDir, "OMRTestWithBarcode.txt"));
// Проверка в случае ошибок
if (res.ErrorCode != 0)
{
Console.WriteLine("ERROR: " + res.ErrorCode + ": " + res.ErrorMessage);
}
// Сохранить результат генерации: изображение и шаблон .omr
res.Save(dataDir, "OMRTestWithBarcode");
Вы также можете проверить следующую простую текстовую разметку, которая используется для создания шаблона OMR:
?barcode=AsposeWebsite
value=aspose.com
barcode_type=qr
qr_version=1
x=1900
y=250
height=360
?grid=ID
sections_count=8
#What is Aspose.OMR main function?
() OCR () Capture human-marked data
() There is no main function () Enhance images
#Can Aspose.OMR process not only scans, but also photos?
() Yes, indeed! () No
#Aspose.OMR is available on any platform, because it is:
() Cross-platform code () Cloud service
#Aspose.OMR works with any kind of OMR forms: tests, exams, questionnaires, surveys, etc.
() Yes, indeed! () No
?text= Answer sheet section
?answer_sheet=MainQuestions
elements_count=12
columns_count=4
?text=Sign________________________________
Пожалуйста, загрузите сгенерированный шаблон OMR здесь.
Чтение листа OMR со штрих-кодом на C#
Мы можем выполнять операции OMR над заполненным отсканированным изображением листа OMR со штрих-кодом и извлекать данные в файл CSV. Для этого нам понадобится подготовленный шаблон OMR (.omr) и изображение (заполненные пользователем формы/листы). Следуйте инструкциям ниже, чтобы прочитать лист OMR со штрих-кодом и извлечь данные в формате CSV.
- Создайте экземпляр класса OmrEngine.
- Вызовите метод GetTemplateProcessor() и инициализируйте объект класса TemplateProcessor. В качестве аргумента он принимает путь к файлу шаблона OMR.
- Получите объект RecognitionResult, вызвав метод Recouncee() с путем к изображению в качестве аргумента.
- После этого получите результаты распознавания в виде CSV-строк с помощью метода GetCsv().
- Наконец, сохраните результат CSV в виде файла CSV на локальном диске.
В следующем примере кода показано, как считывать и извлекать данные из листа OMR со штрих-кодом на C#.
// В этом примере кода показано, как выполнить OMR для изображения и извлечь данные.
// Путь к файлу шаблона OMR
string TemplateName = @"OMRTestWithBarcode.omr";
string UserImage = @"OMRTestWithBarcode.png";
// Путь к входным и выходным файлам
string dataDir = "C:\\Files\\";
string templatePath = Path.Combine(dataDir, TemplateName);
// Инициализировать механизм OMR
OmrEngine engine = new OmrEngine();
TemplateProcessor templateProcessor = engine.GetTemplateProcessor(templatePath);
Console.WriteLine("Template loaded.");
// Получите результаты в формате CSV
string imagePath = Path.Combine(dataDir, UserImage);
string csvResult = templateProcessor.Recognize(imagePath).GetCsv();
// Сохранить CSV-файл
File.WriteAllText(Path.Combine(dataDir, Path.GetFileNameWithoutExtension(UserImage) + ".csv"), csvResult);
Console.WriteLine("Result exported. Path: " + Path.Combine(dataDir, Path.GetFileNameWithoutExtension(UserImage) + ".csv"));
Console.WriteLine(csvResult);
Получите бесплатную лицензию
Вы можете получить бесплатную временную лицензию, чтобы опробовать библиотеку без ограничений ознакомительной версии.
Aspose.OMR for .NET – учебные ресурсы
Помимо извлечения данных OMR из изображений, вы можете узнать больше об Aspose.OMR и изучить другие возможности библиотеки, используя ресурсы ниже:
- Руководство разработчика
- Бесплатные онлайн-приложения
- Справочник по API
- Практические руководства и статьи
Заключение
В этой статье мы узнали, как создавать и читать лист OMR со штрих-кодом на C#. Мы также увидели, как извлечь и сохранить данные OMR в формате CSV. Выполнив шаги, описанные в этой статье, вы сможете использовать Aspose.OMR и разрабатывать собственные приложения OMR. В случае возникновения каких-либо неясностей, пожалуйста, свяжитесь с нами на нашем бесплатном форуме поддержки.