Metin-OCR-Görüntü-kullanarak-Java'yı Tanıma

Optik Karakter Tanıma (OCR) ile görüntüdeki bir metni düzenlenebilir bir biçime dönüştürebilirsiniz. JPG, PNG, TIFF, BMP, GIF vb. gibi resimler internette her yerde kullanılmaktadır ve sizin de Çevrimiçi bir görüntüdeki metni tanıyın. Dosyayı kaydetmek veya indirmek yerine, üzerinde OCR gerçekleştirmek için o görüntünün URL bağlantısını kolayca kullanabilirsiniz. Aşağıdaki başlıklar ayrıntıları daha ayrıntılı olarak ele almaktadır:

Java OCR API – Kurulum

Aspose.OCR for Java API, görüntüler üzerinde Optik Karakter Tanıma işlemlerini gerçekleştirmek için kullanılabilir. Metni tanıyabilir ve görüntüyü düzenlenebilir metne dönüştürebilir. Lütfen İndirilenler bölümünden API’nin JAR dosyasını indirin veya projenizin pom.xml dosyasında aşağıdaki Maven yapılandırmalarını belirtin:

Depo:

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>http://repository.aspose.com/repo/</url>
</repository>

Bağımlılık:

<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-ocr</artifactId>
    <version>20.5</version>
</dependency>

Java ile URL’den Görüntüde OCR Gerçekleştirerek Metni Tanıma

Aşağıdaki adımlarla URL’den bir görüntü üzerinde Optik Karakter Tanıma gerçekleştirebilirsiniz:

  1. AsposeOCR sınıfıyla API örneği oluşturun.
  2. Görüntü URI’sini belirtin.
  3. RecognitionSettings sınıfı ile tanıma seçeneklerini ayarlayın.
  4. Sonuç nesnesini alın.
  5. Sonuç yazdır.

Aşağıdaki kod, Java kullanarak programlı olarak URL’den görüntü üzerinde OCR gerçekleştirerek metnin nasıl tanınacağını açıklar:

//api örneği oluştur
AsposeOCR api = new AsposeOCR();

// Görüntü URI'sini belirtin
String uri = "https://www.castlegateit.co.uk/wp-content/uploads/2016/09/justified_text.png";

// Tanıma seçeneklerini ayarla
RecognitionSettings settings = new RecognitionSettings();
settings.setAutoSkew(false);
ArrayList<Rectangle> rectangles = new ArrayList<Rectangle>();
rectangles.add(new Rectangle(90,186,775,95));
settings.setRecognitionAreas(rectangles);


// Sonuç nesnesini al
RecognitionResult result = null;
try {
	result = api.RecognizePageFromUri(uri, settings);
} catch (IOException e) {
	e.printStackTrace();
}

// Sonucu yazdır
System.out.println("Result: \n" + result.recognitionText+"\n\n");
System.out.println("RecognitionAreasText: \n");
for(String text: result.recognitionAreasText) {
	System.out.println(text);
}

Java kullanarak OCR ile Eğik veya Eğik Görüntüdeki Metni Tanıma

Bazen bir görüntü herhangi bir nedenle eğilebilir veya eğilebilir. Örneğin, bir kamera veya tarayıcı tarafından oluşturulan bir görüntü biraz eğri olabilir, ardından giriş görüntüsünün eğrilik açısını elde edebilirsiniz. Eğim açısını bilip düzelterek metin tanımanın doğruluğunu artırabilirsiniz. Aşağıdaki adımları izlemeniz gerekir:

  • AsposeOCR nesnesini kullanarak API Örneği oluşturun.
  • Tanıma seçeneklerini ayarlayın.
  • Eğim açısını hesaplayın ve ayarlayın.
  • RecognitionResult nesnesi ile sonucu alın ve yazdırın.

Aşağıdaki kod, eğri bir görüntüdeki metnin Java’da programlı olarak OCR ile nasıl tanınacağını gösterir:

//api örneği oluştur
AsposeOCR api = new AsposeOCR();

String uri = "https://www.castlegateit.co.uk/wp-content/uploads/2016/09/justified_text.png";

BufferedImage image = null;
try{
java.net.URL url =new java.net.URL(uri);

// url'yi oku
image = ImageIO.read(url);
}catch(IOException e){
            e.printStackTrace();
        }
// tanıma seçeneklerini ayarla
RecognitionSettings settings = new RecognitionSettings();
double angle = 0;

// Eğim açısını al
try {
	angle = api.CalcSkewImage(image);
	System.out.println("Skew text is:" + angle + " degrees.");
} catch (IOException e1) {
	e1.printStackTrace();
}
settings.setSkew(angle);

ArrayList<Rectangle> rectangles = new ArrayList<Rectangle>();
rectangles.add(new Rectangle(90,186,775,95));
settings.setRecognitionAreas(rectangles);

// sonuç nesnesini al
RecognitionResult result = null;
try {
	result = api.RecognizePageFromUri(uri, settings);
} catch (IOException e) {
	e.printStackTrace();
}

// sonucu yazdır
System.out.println("Result: \n" + result.recognitionText+"\n\n");
System.out.println("RecognitionAreasText: \n");
for(String text: result.recognitionAreasText) {
	System.out.println(text);
}

Ücretsiz API Lisansı Alın

API’yi tam kapasitesiyle değerlendirmek için bir Ücretsiz Geçici Lisans talep edebilirsiniz.

Çözüm

Sonuç olarak, herhangi bir URL adresinden bir resim üzerinde OCR işlemleri yaparak metin tanımayı öğrendiniz. Ayrıca, API’nin doğruluğunu ve verimliliğini artırmak için görüntünün eğrilik açısını nasıl düzelteceğinizi de keşfettiniz. Belgeleri ziyaret ederek API’nin diğer bazı özelliklerine göz atabilirsiniz veya herhangi bir sorunuz olması durumunda Ücretsiz Destek Forumu aracılığıyla bizimle iletişime geçmekten çekinmeyin.

Ayrıca bakınız