Оптическое распознавание меток (OMR) — это процесс извлечения данных из документа, имеющего определенный тип маркировки. Маркировка выполняется людьми и считывается программным обеспечением для чтения листов OMR или сканером. Однако OMR является важным компонентом в автоматизации создания и оценки листов ответов и шаблонов OMR. Поэтому в этой записи блога будет представлена библиотека OMR для программистов Java. Aspose.OMR for Java предлагает функции для создания считывателя листов OMR на Java программным способом. Кроме того, мы также рассмотрим онлайн инструмент OMR, поэтому внимательно прочтите эту статью.
В этой записи блога мы рассмотрим следующие разделы:
- Aspose.OMR for Java - Установка библиотеки OMR
- OMR Sheet Reader на Java - Пример кода
- Онлайн-инструмент OMR
Aspose.OMR for Java — Установка библиотеки OMR
Существует полное руководство по установке. Итак, вы можете скачать файл JAR или использовать следующие конфигурации Maven:
<repositories>
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>https://releases.aspose.com/java/repo/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-omr</artifactId>
<version>23.12</version>
</dependency>
</dependencies>
OMR Sheet Reader на Java — пример кода
Теперь мы можем приступить к разработке программного обеспечения для чтения листов OMR, выполнив следующие шаги:
- Создайте объект класса OmrEngine.
- Вызовите метод getTemplateProcessor, чтобы получить процессор шаблонов.
- Установите пользовательский порог для использования при пересчете, диапазон которого составляет (от 0 до 100).Чем меньше значение, тем меньше черных пикселей требуется для того, чтобы пузырек считался заполненным, и наоборот.
- Просмотрите все изображения.
- Распознайте изображение, вызвав метод recognizeImage.
- Вызовите метод getCsv, чтобы получить строку экспорта CSV и сохранить CSV в выходной папке.
- Вызовите метод recalculate для пересчета результатов распознавания с использованием настраиваемого порогового значения.
- Сохраните пересчитанные результаты в CSV-файле.
Следующий фрагмент кода демонстрирует, как программно разработать OMR-считыватель листов на Java:
package com.example;
import com.aspose.omr.OmrEngine;
import com.aspose.omr.RecognitionResult;
import com.aspose.omr.TemplateProcessor;
import java.io.FileOutputStream;
import java.io.PrintWriter;
// OMR Sheet Reader на Java - OMR Sheet PNG
public class Main {
public static void main(String[] args) throws Exception {
// Определите рабочие каталоги.
String[] UserImages = new String[] { "/Sheet.png" };
String[] UserImagesNoExt = new String[] { "/files/" };
String templatePath = "/Sheet.omr";
// Создайте объект класса OmrEngine.
OmrEngine engine = new OmrEngine();
// Вызовите метод getTemplateProcessor для получения процессора шаблонов.
TemplateProcessor templateProcessor = engine.getTemplateProcessor(templatePath);
// Установите пользовательский порог для использования при пересчете, диапазон которого составляет (от 0 до 100).Чем меньше значение, тем меньше черных пикселей требуется для того, чтобы пузырек считался заполненным, и наоборот.
int CustomThreshold = 0;
// Просмотрите все изображения.
for (int i = 0; i < UserImages.length; i++)
{
String image = UserImages[i];
String imagePath = image;
// Распознайте изображение, вызвав метод recognizeImage.
RecognitionResult result = templateProcessor.recognizeImage(imagePath);
// Вызовите метод getCsv, чтобы получить строку экспорта CSV и сохранить CSV в выходной папке.
String stringRes = result.getCsv();
String outputName = UserImagesNoExt[i] + ".csv";
PrintWriter wr = new PrintWriter(new FileOutputStream(outputName), true);
wr.println(stringRes);
// Вызовите метод пересчета, чтобы пересчитать результаты распознавания с использованием настраиваемого порогового значения.
templateProcessor.recalculate(result, CustomThreshold);
stringRes = result.getCsv();
// Сохраните пересчитанные результаты в CSV-файле.
outputName = UserImagesNoExt[i] + "_recalculated.csv";
wr = new PrintWriter(new FileOutputStream(outputName), true);
wr.println(stringRes);
}
}
}
Результат вы можете увидеть на изображении ниже:
Онлайн-инструмент OMR
В дополнение к библиотеке OMR для Java, Aspose.OMR поддерживает онлайн OMR-считыватель листов. Таким образом, этот бесплатный инструмент очень безопасен и эффективно сканирует листы ответов с пузырьками. Прежде всего, не требуется создание учетной записи или подписка. Таким образом, вы можете использовать его, просто перетаскивая файлы.
OMR Sheet PNG - Получите бесплатную лицензию
Теперь вы можете воспользоваться бесплатной временной лицензией, чтобы попробовать эту библиотеку OMR за пределами оценочных ограничений.
Заключение
Это подводит нас к концу этой записи в блоге. Мы рассмотрели, что такое OMR и как реализовать создание OMR-лист-ридера на Java. Аналогично, вы можете использовать эту OMR-библиотеку для экономии времени и рабочей силы, поскольку вы можете разработать собственное OMR-лист-ридера. Кроме того, вы можете посетить репозиторий GitHub, чтобы начать разработку. Более того, вы можете посетить документацию и API ссылки, чтобы узнать больше о Aspose.OMR for Java.
Помощь доступна
Вы можете задать свои вопросы или пожелания на нашем форуме.
Часто задаваемые вопросы – FAQ
Можно ли проверить лист OMR онлайн?
Вы можете использовать этот онлайн OMR-ридер для проверки OMR-листов с ответами.
Как читать OMR-лист на Java?
Aspose.OMR for Java — это библиотека OMR, которая предлагает богатые возможности для программного чтения листов ответов OMR. См. эту ссылку, чтобы узнать, как это сделать.