광학 마크 인식(OMR)은 특정 유형의 표시가 있는 문서에서 데이터를 검색하는 프로세스입니다. 표시는 사람이 하고 OMR 시트 리더 소프트웨어나 스캐너가 읽습니다. 그러나 OMR은 답안지와 OMR 템플릿의 생성 및 평가를 자동화하는 데 중요한 구성 요소입니다. 따라서 이 블로그 게시물에서는 Java 프로그래머를 위한 OMR 라이브러리를 소개합니다. Aspose.OMR for Java는 Java에서 프로그래밍 방식으로 OMR 시트 리더를 빌드하는 기능을 제공합니다. 또한 온라인 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>
Java로 OMR 시트 리더 - 코드 샘플
이제 아래 언급된 단계에 따라 OMR 시트 리더 소프트웨어 개발을 시작할 수 있습니다.
- OmrEngine 클래스의 객체를 생성합니다.
- getTemplateProcessor 메서드를 호출하여 템플릿 프로세서를 가져옵니다.
- 재계산에 사용할 사용자 정의 임계값을 설정합니다. 범위는 (0~100)입니다. 값을 낮추면 거품이 채워진 것으로 계산되는 데 필요한 검정 픽셀이 줄어들고 그 반대의 경우도 마찬가지입니다.
- 이미지를 반복합니다.
- perceiveImage 메서드를 호출하여 이미지를 인식합니다.
- getCsv 메서드를 호출하여 내보내기 CSV 문자열을 가져오고 CSV를 출력 폴더에 저장합니다.
- recalculate 메서드를 호출하여 사용자 지정 임계값으로 인식 결과를 다시 계산합니다.
- 다시 계산된 결과를 CSV 파일로 저장합니다.
다음 코드 조각은 Java로 프로그래밍 방식으로 OMR 시트 리더를 개발하는 방법을 보여줍니다.
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;
// Java로 OMR 시트 리더 - OMR 시트 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;
// perceiveImage 메서드를 호출하여 이미지를 인식합니다.
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);
// 사용자 지정 임계값으로 인식 결과를 다시 계산하려면 recalculate 메서드를 호출합니다.
templateProcessor.recalculate(result, CustomThreshold);
stringRes = result.getCsv();
// 다시 계산된 결과를 CSV 파일로 저장합니다.
outputName = UserImagesNoExt[i] + "_recalculated.csv";
wr = new PrintWriter(new FileOutputStream(outputName), true);
wr.println(stringRes);
}
}
}
아래 이미지에서 출력을 확인할 수 있습니다.
온라인 OMR 도구
Java용 OMR 라이브러리 외에도 Aspose.OMR은 온라인 OMR 시트 리더를 지원합니다. 따라서 이 무료 도구는 매우 안전하고 거품 답안지를 효율적으로 스캔합니다. 무엇보다도 계정 생성이나 구독이 필요하지 않습니다. 따라서 파일을 끌어서 놓기만 하면 사용할 수 있습니다.
OMR 시트 PNG - 무료 라이센스 받기
이제 무료 임시 라이센스를 활용하여 평가 제한을 넘어 이 OMR 라이브러리를 사용해 볼 수 있습니다.
결론
이것으로 이 블로그 게시물을 마칩니다. 우리는 OMR이 무엇이고 Java에서 OMR 시트 리더를 빌드하는 방법을 구현하는 방법을 살펴보았습니다. 마찬가지로, 이 OMR 라이브러리를 활용하여 시간과 인력을 절약하고, OMR 시트 리더 소프트웨어를 직접 개발할 수 있습니다. 또한, GitHub 리포를 방문하여 개발을 시작할 수 있습니다. 또한 documentation과 API references를 방문하여 Aspose.OMR for Java에 대해 자세히 알아볼 수 있습니다.
도움이 가능합니다
여러분의 질문이나 문의사항은 포럼에서 공유해 주시기 바랍니다.
자주 묻는 질문 – FAQ
OMR 시트를 온라인으로 확인할 수 있나요?
이 온라인 OMR 시트 리더를 사용하여 OMR 답안지를 확인할 수 있습니다.
자바로 OMR 시트를 읽는 방법?
Aspose.OMR for Java는 OMR 답안지를 프로그램적으로 읽을 수 있는 풍부한 기능을 제공하는 OMR 라이브러리입니다. 이 링크를 참조하여 방법을 알아보세요.