Koreksi Kemiringan Gambar di Java

Dalam grafik komputer dan pemrosesan gambar, kemiringan gambar adalah deviasi sudut dari gambar persegi panjang. Ini juga dikenal sebagai kemiringan gambar atau distorsi. Istilah “miring” mengacu pada sudut gambar. Kemiringan gambar terjadi ketika posisi visual elemen dalam gambar tidak seragam. Kemiringan dapat mengakibatkan sudut mana pun menjadi miring, atau bahkan bergeser sehingga satu sisi lebih panjang dari sisi lainnya. Foto atau gambar yang dipindai seperti itu dapat terlihat terdistorsi dan tidak menarik. Pada artikel ini, kita akan mempelajari cara mendeteksi kemiringan gambar secara terprogram. Kita juga akan mempelajari cara melakukan koreksi kemiringan gambar di Java.

Topik-topik berikut akan dibahas dalam artikel ini:

  1. Java API untuk Koreksi Kemiringan Gambar
  2. Deteksi Sudut Miring Gambar
  3. Deteksi Sudut Miring Gambar dari Gambar Langsung
  4. Koreksi Kemiringan Gambar Otomatis
  5. Kenali Teks Gambar dengan Koreksi Skew Otomatis
  6. Koreksi Kemiringan Gambar Manual
  7. Mengenali Teks Gambar dengan Koreksi Kemiringan Gambar Manual

API Java untuk Koreksi Kemiringan Gambar

Untuk deteksi dan koreksi kemiringan gambar, kami akan menggunakan Aspose.OCR for Java API. Ini memungkinkan melakukan OCR pada gambar yang dipindai, foto ponsel cerdas, tangkapan layar, area gambar, dan PDF yang dipindai. API juga memungkinkan menyimpan hasil teks yang dikenali dalam format dokumen populer.

Kelas AsposeOCR API adalah kelas utama untuk mengenali teks dari gambar. Ini menyediakan metode CalcSkewImage(string) yang menghitung sudut kemiringan gambar sumber yang disediakan. Ini juga menyediakan metode CalcSkewImageFromUri(String uri) lain yang menghitung sudut kemiringan gambar yang disediakan oleh tautan URI. Kelas PreprocessingFilter adalah kelas dasar untuk perintah pemrosesan gambar. Kelas RecognitionSettings API menyediakan pengaturan untuk pengenalan gambar berisi elemen yang memungkinkan penyesuaian proses pengenalan.

Harap unduh JAR API atau tambahkan konfigurasi pom.xml berikut dalam aplikasi Java berbasis Maven.

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>https://releases.aspose.com/java/repo/</url>
</repository>
<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-ocr</artifactId>
    <version>22.9</version>
</dependency>

Deteksi Sudut Miring Gambar di Java

Kita dapat dengan mudah mendeteksi sudut kemiringan gambar teks dengan mengikuti langkah-langkah berikut:

  1. Pertama, buat instance dari kelas AsposeOCR.
  2. Panggil metode CalcSkewImage(). Dibutuhkan jalur gambar sebagai argumen.
  3. Akhirnya, tunjukkan sudut kemiringan yang dihitung.

Kode contoh berikut menunjukkan cara menghitung sudut kemiringan gambar di Java.

// Contoh kode ini menunjukkan cara menghitung sudut kemiringan gambar.
// Buat instance dari AsposeOcr
AsposeOCR api = new AsposeOCR();

// Hitung sudut kemiringan
double skew = api.CalcSkewImage("C:\\Files\\source.png");

// Tampilkan sudut
System.out.println("Skew angle: " + skew + "°.");

Deteksi Sudut Miring Gambar dari URL Gambar Langsung

Kami juga dapat mendeteksi sudut kemiringan gambar dari URL langsung dengan mengikuti langkah-langkah berikut:

  1. Pertama, buat instance dari kelas AsposeOCR.
  2. Panggil metode CalcSkewImageFromUri(). Dibutuhkan jalur gambar sebagai argumen.
  3. Akhirnya, tunjukkan sudut kemiringan yang dihitung.

Kode contoh berikut menunjukkan cara menghitung sudut kemiringan gambar di Java.

// Contoh kode ini menunjukkan cara menghitung sudut kemiringan gambar.
// Buat instance dari AsposeOcr
AsposeOCR api = new AsposeOCR();

// Hitung sudut kemiringan
double skew = api.CalcSkewImageFromUri("https://www.aspose.com/sample-ocr-page.png");

// Tampilkan sudut
System.out.println("Skew angle: " + skew + "°.");

Koreksi Kemiringan Gambar Otomatis di Java

Kami dapat memperbaiki koreksi kemiringan gambar secara otomatis dengan mengikuti langkah-langkah berikut:

  1. Pertama, buat instance dari kelas AsposeOCR.
  2. Selanjutnya, inisialisasi objek kelas PreprocessingFilter.
  3. Kemudian, tambahkan filter AutoSkew().
  4. Setelah itu, panggil metode PreprocessImage() untuk menerapkan filter pada gambar sumber.
  5. Terakhir, simpan gambar yang telah diperbaiki.

Kode contoh berikut menunjukkan cara menerapkan filter prapemrosesan koreksi kemiringan otomatis di Java.

// Contoh kode ini menunjukkan cara menerapkan koreksi kemiringan otomatis menggunakan filter prapemrosesan dan menyimpan gambar yang dikoreksi.
// Buat instance dari AsposeOcr
AsposeOCR api = new AsposeOCR();

// Tambahkan filter meja
PreprocessingFilter filters = new PreprocessingFilter();
filters.add(PreprocessingFilter.AutoSkew());

// Simpan gambar yang telah diproses sebelumnya ke file
BufferedImage imageRes = api.PreprocessImage("C:\\Files\\source.png", filters);
File outputSource = new File("C:\\Files\\result.png");
ImageIO.write(imageRes, "png", outputSource);

Kenali Teks Gambar dengan Koreksi Skew Otomatis di Java

Kami dapat menerapkan koreksi kemiringan otomatis dan mengenali teks dengan mengikuti langkah-langkah berikut:

  1. Pertama, buat instance dari kelas AsposeOCR.
  2. Selanjutnya, inisialisasi objek dari kelas RecognitionSettings.
  3. Kemudian, panggil setAutoSkew dengan true sebagai argumen.
  4. Setelah itu, panggil metode RecognizePage() dengan gambar sumber dan objek RecognitionSettings.
  5. Terakhir, tampilkan teks yang dikenali.

Kode contoh berikut menunjukkan cara menerapkan koreksi kemiringan otomatis dan mengenali teks di Java.

// Contoh kode ini menunjukkan cara menerapkan koreksi kemiringan otomatis.
// Buat instance dari AsposeOcr
AsposeOCR api = new AsposeOCR();

// Aktifkan deskew otomatis dalam pengaturan pengenalan
RecognitionSettings recognitionSettings = new RecognitionSettings();
recognitionSettings.setAutoSkew(true);

// Kenali gambar
RecognitionResult result = api.RecognizePage("C:\\Files\\source.png", recognitionSettings);

// Tampilkan teks yang dikenali
System.out.println(result.recognitionText);

Koreksi Kemiringan Gambar Manual di Java

Kita dapat menentukan sudut kemiringan secara manual dengan memutar gambar ke derajat yang ditentukan dengan mengikuti langkah-langkah di bawah ini:

  1. Pertama, buat instance dari kelas AsposeOCR.
  2. Selanjutnya, inisialisasi objek kelas PreprocessingFilter.
  3. Kemudian, tambahkan sudut putar menggunakan filter metode Rotate().
  4. Selanjutnya, buat instance dari kelas RecognitionSettings.
  5. Setelah itu, panggil metode PreprocessImage() untuk menerapkan filter pada gambar sumber.
  6. Terakhir, tampilkan teks yang dikenali.

Kode contoh berikut menunjukkan cara menerapkan koreksi kemiringan manual dengan filter prapemrosesan di Java.

// Contoh kode ini menunjukkan cara menerapkan koreksi kemiringan manual.
// Buat instance dari AsposeOcr
AsposeOCR api = new AsposeOCR();

// Tambahkan filter meja
PreprocessingFilter filters = new PreprocessingFilter();
filters.add(PreprocessingFilter.Rotate(-90));

// Simpan gambar yang telah diproses sebelumnya ke file
BufferedImage imageRes = api.PreprocessImage("C:\\Files\\source.png", filters);
File outputSource = new File("C:\\Files\\result.png");
ImageIO.write(imageRes, "png", outputSource);

Kenali Teks Gambar dengan Koreksi Kemiringan Gambar Manual di Java

Kita dapat menentukan sudut miring secara manual dan mengenali teks dengan mengikuti langkah-langkah berikut:

  1. Pertama, buat instance dari kelas AsposeOCR.
  2. Selanjutnya, inisialisasi objek dari kelas RecognitionSettings.
  3. Kemudian, panggil metode setSkew() .
  4. Setelah itu, panggil metode RecognizePage() dengan gambar sumber dan objek RecognitionSettings.
  5. Terakhir, tampilkan teks yang dikenali.

Kode contoh berikut menunjukkan cara menerapkan koreksi kemiringan manual dan mengenali teks gambar di Java.

// Contoh kode ini menunjukkan cara menerapkan koreksi kemiringan manual.
// Buat instance dari AsposeOcr
AsposeOCR recognitionEngine = new AsposeOCR();

// Atur sudut kemiringan secara manual
RecognitionSettings recognitionSettings = new RecognitionSettings();
recognitionSettings.setSkew(6);

// Kenali gambar
RecognitionResult result = recognitionEngine.RecognizePage("C:\\Files\\source.png", recognitionSettings);

// Menampilkan hasil
System.out.println(result.recognitionText);

Dapatkan Lisensi Evaluasi Gratis

Anda dapat mendapatkan lisensi sementara gratis untuk mencoba Aspose.OCR for Java tanpa batasan evaluasi.

Kesimpulan

Dalam artikel ini, kita telah mempelajari cara:

  • melakukan OCR dan mengenali teks pada gambar;
  • terapkan filter dan proses gambar;
  • gunakan pengaturan pengenalan;
  • simpan gambar yang dikoreksi menggunakan Java.

Selain koreksi kemiringan gambar di Java, Anda dapat mempelajari lebih lanjut tentang Aspose.OCR for Java API menggunakan dokumentasi. Jika ada ambiguitas, jangan ragu untuk menghubungi kami di forum dukungan gratis.

Lihat juga