Optik işaret tanıma (OMR), belirli bir işaretleme türüne sahip bir belgeden veri alma işlemidir. İşaretler insanlar tarafından yapılır ve OMR sayfa okuyucu yazılımı veya bir tarayıcı tarafından okunur. Ancak OMR, cevap sayfalarının ve OMR şablonlarının oluşturulması ve değerlendirilmesinin otomatikleştirilmesinde önemli bir bileşendir. Bu nedenle, bu blog yazısı Java programcıları için bir OMR kitaplığını tanıtacaktır. Aspose.OMR for Java, Java’da programatik olarak bir OMR sayfa okuyucusu oluşturmak için özellikler sunar. Ek olarak, bir çevrimiçi OMR aracını da inceleyeceğiz, bu nedenle bu makaleyi dikkatlice okuyun.
Bu blog yazısında aşağıdaki bölümleri ele alacağız:
- Aspose.OMR for Java - OMR Kütüphanesi Kurulumu
- Java’da OMR Sayfa Okuyucusu - Kod Örneği
- Çevrimiçi OMR Aracı
Aspose.OMR for Java - OMR Kütüphanesi Kurulumu
Kurulum konusunda kapsamlı bir kılavuz var. Bu nedenle, JAR dosyasını indirebilir veya aşağıdaki Maven yapılandırmalarını kullanabilirsiniz:
<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’da OMR Sayfa Okuyucusu - Kod Örneği
Artık aşağıda belirtilen adımları izleyerek bir OMR sayfa okuyucu yazılımı geliştirmeye başlayabiliriz:
- OmrEngine sınıfının bir nesnesini oluşturun.
- Şablon işlemcisini almak için getTemplateProcessor yöntemini çağırın.
- Yeniden hesaplamada kullanılacak özel bir eşik değeri ayarlayın; bu eşik değeri (0 ila 100) arasındadır. Değeri düşürün - bir kabarcığın dolu olarak sayılması için gereken siyah piksel sayısı o kadar az olur ve bunun tersi de geçerlidir.
- Görseller arasında dolaşın.
- Görüntüyü recognizeImage metodunu çağırarak tanıyın.
- Dışa aktarılan CSV dizesini almak ve CSV’yi çıktı klasörüne kaydetmek için getCsv metodunu çağırın.
- Tanıma sonuçlarını özel bir eşikle yeniden hesaplamak için yeniden hesapla yöntemini çağırın.
- Yeniden hesaplanan sonuçları bir CSV dosyasına kaydedin.
Aşağıdaki kod parçası, Java’da bir OMR sayfa okuyucusunun programatik olarak nasıl geliştirileceğini göstermektedir:
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'da OMR Sayfa Okuyucusu - OMR Sayfa PNG
public class Main {
public static void main(String[] args) throws Exception {
// Çalışma dizinlerini tanımlayın.
String[] UserImages = new String[] { "/Sheet.png" };
String[] UserImagesNoExt = new String[] { "/files/" };
String templatePath = "/Sheet.omr";
// OmrEngine sınıfının bir nesnesini oluşturun.
OmrEngine engine = new OmrEngine();
// Şablon işlemcisini almak için getTemplateProcessor metodunu çağırın.
TemplateProcessor templateProcessor = engine.getTemplateProcessor(templatePath);
// Yeniden hesaplamada kullanılacak özel bir eşik değeri ayarlayın; bu eşik değeri (0 ila 100) arasındadır. Değeri düşürün - bir kabarcığın dolu olarak sayılması için gereken siyah piksel sayısı o kadar az olur ve bunun tersi de geçerlidir.
int CustomThreshold = 0;
// Görseller arasında dolaşın.
for (int i = 0; i < UserImages.length; i++)
{
String image = UserImages[i];
String imagePath = image;
// Görüntüyü recognizeImage metodunu çağırarak tanıyın.
RecognitionResult result = templateProcessor.recognizeImage(imagePath);
// Dışa aktarılan CSV dizesini almak ve CSV'yi çıktı klasörüne kaydetmek için getCsv metodunu çağırın.
String stringRes = result.getCsv();
String outputName = UserImagesNoExt[i] + ".csv";
PrintWriter wr = new PrintWriter(new FileOutputStream(outputName), true);
wr.println(stringRes);
// Tanıma sonuçlarını özel eşik değeriyle yeniden hesaplamak için yeniden hesaplama yöntemini çağırın.
templateProcessor.recalculate(result, CustomThreshold);
stringRes = result.getCsv();
// Yeniden hesaplanan sonuçları bir CSV dosyasına kaydedin.
outputName = UserImagesNoExt[i] + "_recalculated.csv";
wr = new PrintWriter(new FileOutputStream(outputName), true);
wr.println(stringRes);
}
}
}
Çıktıyı aşağıdaki resimde görebilirsiniz:
Çevrimiçi OMR Aracı
Java için bir OMR kütüphanesine ek olarak, Aspose.OMR bir çevrimiçi OMR sayfa okuyucusunu destekler. Bu nedenle, bu ücretsiz araç son derece güvenlidir ve baloncuk cevap sayfalarını verimli bir şekilde tarar. Her şeyden önce, hesap oluşturma veya abonelik gerekmez. Bu nedenle, dosyaları sürükleyip bırakarak kullanabilirsiniz.
OMR Sayfası PNG - Ücretsiz Lisans Alın
Artık bu OMR kütüphanesini değerlendirme sınırlamalarının ötesinde denemek için ücretsiz geçici lisans alabilirsiniz.
Çözüm
Bu bizi bu blog yazısının sonuna getiriyor. OMR’nin ne olduğunu ve Java’da bir OMR sayfa okuyucusunun oluşturulmasının uygulanmasını ele aldık. Benzer şekilde, kendi OMR sayfa okuyucu yazılımınızı geliştirebildiğiniz için zamandan ve iş gücünden tasarruf etmek için bu OMR kitaplığından yararlanabilirsiniz. Ayrıca, geliştirmeye başlamak için GitHub deposunu ziyaret edebilirsiniz. Dahası, Aspose.OMR for Java hakkında daha fazla bilgi edinmek için documentation ve API references‘i ziyaret edebilirsiniz.
Yardım Mevcuttur
Sorularınızı veya merak ettiklerinizi forumumuzda paylaşabilirsiniz.
Sıkça Sorulan Sorular – SSS
OMR formunu online olarak kontrol edebilir miyiz?
OMR cevap kağıtlarını kontrol etmek için bu çevrimiçi OMR kağıt okuyucusunu kullanabilirsiniz.
Java’da OMR sayfası nasıl okunur?
Aspose.OMR for Java, OMR cevap kağıtlarını programatik olarak okumak için zengin özellikler sunan bir OMR kütüphanesidir. Bunu nasıl yapacağınızı öğrenmek için şu bağlantıya bakın.