Koreksi Miring dalam Pemrosesan Gambar menggunakan C#

Koreksi kemiringan dalam pemrosesan gambar adalah tugas pengoptimalan gambar. Dalam penglihatan komputer, kita perlu memposisikan kamera dan sensor kita dengan benar, tetapi hal ini sering kali menyebabkan distorsi yang besar. Demikian pula, saat memindai dengan pemindai, terkadang penyelarasan hampir tidak mungkin dilakukan. Karena itu, gambar dan foto yang dipindai agak miring (miring). Pada artikel ini, kita akan mempelajari cara melakukan koreksi kemiringan pada pemrosesan gambar menggunakan C#.

Topik-topik berikut akan dibahas dalam artikel ini:

  1. C# API Pemrosesan Gambar Koreksi Skew
  2. Deteksi Sudut Miring Gambar
  3. Koreksi Miring Otomatis
  4. Koreksi Skew Otomatis dengan Filter Preprocessing
  5. Kenali Teks Gambar dengan Koreksi Skew Otomatis
  6. Koreksi Miring Manual
  7. Koreksi Skew Manual dengan Filter Preprocessing

C# API Pemrosesan Gambar Koreksi Miring

Untuk koreksi miring, kami akan menggunakan API Aspose.OCR for .NET. API memungkinkan melakukan OCR pada gambar yang dipindai, foto smartphone, tangkapan layar, area gambar, dan PDF yang dipindai. Ini memungkinkan menyimpan hasil teks yang dikenali dalam format dokumen populer.

Harap unduh DLL dari API atau instal menggunakan NuGet.

PM> Install-Package Aspose.OCR

Deteksi Sudut Miring Gambar di C#

API menyediakan metode CalculateSkew(string) yang menghitung sudut kemiringan gambar sumber yang disediakan. Kita dapat dengan mudah mendeteksi sudut kemiringan gambar teks dengan mengikuti langkah-langkah berikut:

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

Kode contoh berikut menunjukkan cara menghitung sudut kemiringan gambar di C#.

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

// Hitung sudut kemiringan
float skew = recognitionEngine.CalculateSkew("C:\\Files\\OCR\\source.png");

// Tampilkan sudut
Console.WriteLine($"Skew angle: {skew:N1}°");
Deteksi Sudut Miring Gambar di C#

Gambar sumber.

Skew angle: 5.8°

Koreksi Miring Otomatis di C#

Untuk koreksi kemiringan otomatis, kita dapat mengaktifkan properti RecognitionSettings.AutoSkew di pengaturan pengenalan dengan mengikuti langkah-langkah berikut:

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

Kode contoh berikut menunjukkan cara menerapkan koreksi kemiringan otomatis di C#.

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

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

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

// Tampilkan teks yang dikenali
Console.WriteLine(result.RecognitionText);

Koreksi Skew Otomatis dengan Filter Preprocessing di C#

Sebagai alternatif, kita dapat menerapkan filter prapemrosesan AutoSkew untuk koreksi kemiringan otomatis dan menyimpan gambar yang telah dikoreksi dengan mengikuti langkah-langkah di bawah ini:

  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 koreksi kemiringan otomatis dengan filter prapemrosesan di C#.

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

// Tambahkan filter meja
Aspose.OCR.Models.PreprocessingFilters.PreprocessingFilter filters = new Aspose.OCR.Models.PreprocessingFilters.PreprocessingFilter();
filters.Add(Aspose.OCR.Models.PreprocessingFilters.PreprocessingFilter.AutoSkew());

// Simpan gambar yang telah diproses sebelumnya ke file
using (MemoryStream ms = recognitionEngine.PreprocessImage("C:\\Files\\OCR\\source.png", filters))
{
    using (FileStream fs = new FileStream("C:\\Files\\OCR\\result.png", FileMode.Create, FileAccess.Write))
    {
        ms.WriteTo(fs);
    }
}
Koreksi Skew Otomatis dengan Filter di C#

Koreksi Miring Otomatis dengan Filter di C#.

Kenali Teks Gambar dengan Koreksi Miring Otomatis di C#

Kita dapat menerapkan filter preprocessing AutoSkew dan mengenali teks gambar dengan mengikuti langkah-langkah berikut:

  1. Pertama, buat instance dari kelas AsposeOCR.
  2. Selanjutnya, inisialisasi objek kelas PreprocessingFilter.
  3. Kemudian, tambahkan filter AutoSkew().
  4. Sementara itu, buat instance dari kelas RecognitionSettings.
  5. Selanjutnya, tetapkan filter ke properti PreprocessingFilters.
  6. Setelah itu, panggil metode RecognizeImage() dengan gambar sumber dan objek RecognitionSettings.
  7. Terakhir, tampilkan teks yang dikenali.

Kode contoh berikut menunjukkan cara menerapkan koreksi kemiringan otomatis dan mengenali teks dalam C#.

// Contoh kode ini menunjukkan cara menerapkan koreksi kemiringan otomatis menggunakan filter prapemrosesan dan mengenali gambar.
// Buat instance dari AsposeOcr
AsposeOcr recognitionEngine = new AsposeOcr();

// Tambahkan filter meja
Aspose.OCR.Models.PreprocessingFilters.PreprocessingFilter filters = new Aspose.OCR.Models.PreprocessingFilters.PreprocessingFilter();
filters.Add(Aspose.OCR.Models.PreprocessingFilters.PreprocessingFilter.AutoSkew());

// Tambahkan filter prapemrosesan ke setelan pengenalan
RecognitionSettings recognitionSettings = new RecognitionSettings();
recognitionSettings.PreprocessingFilters = filters;

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

// Tunjukkan hasil
Console.WriteLine(result.RecognitionText);

Koreksi Miring Manual di C#

Untuk koreksi kemiringan manual, kita dapat menentukan sudut kemiringan secara manual dengan menentukan properti SkewAngle dalam pengaturan pengenalan dengan mengikuti langkah-langkah berikut:

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

Kode contoh berikut menunjukkan cara menerapkan koreksi kemiringan manual di C#.

// 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.SkewAngle = 6;

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

// Menampilkan hasil
Console.WriteLine(result.RecognitionText);

Koreksi Skew Manual dengan Filter Preprocessing di C#

Kita juga dapat menentukan sudut kemiringan secara manual dengan memutar gambar ke derajat yang ditentukan menggunakan filter preprocessing Rotate.

Silakan ikuti langkah-langkah yang diberikan di bawah ini untuk menerapkan koreksi kemiringan secara manual:

  1. Pertama, buat instance dari kelas AsposeOCR.
  2. Selanjutnya, inisialisasi objek kelas PreprocessingFilter.
  3. Kemudian, tambahkan filter Rotate().
  4. Sementara itu, buat instance dari kelas RecognitionSettings.
  5. Selanjutnya, tetapkan filter ke properti PreprocessingFilters.
  6. Setelah itu, panggil metode RecognizeImage() dengan gambar sumber dan objek RecognitionSettings.
  7. Terakhir, tampilkan teks yang dikenali.

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

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

// Putar gambar 90 derajat berlawanan arah jarum jam
Aspose.OCR.Models.PreprocessingFilters.PreprocessingFilter filters = new Aspose.OCR.Models.PreprocessingFilters.PreprocessingFilter();
filters.Add(Aspose.OCR.Models.PreprocessingFilters.PreprocessingFilter.Rotate(-90));

// Simpan gambar yang telah diproses sebelumnya ke file untuk keperluan debugging
using (MemoryStream ms = recognitionEngine.PreprocessImage("C:\\Files\\OCR\\source.png", filters))
{
    using (FileStream fs = new FileStream("C:\\Files\\OCR\\result.png", FileMode.Create, FileAccess.Write))
    {
        ms.WriteTo(fs);
    }
}

// Tambahkan filter prapemrosesan ke setelan pengenalan
RecognitionSettings recognitionSettings = new RecognitionSettings();
recognitionSettings.PreprocessingFilters = filters;

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

// Tunjukkan hasil
Console.WriteLine(result.RecognitionText);

Dapatkan Lisensi Evaluasi Gratis

Anda bisa mendapatkan lisensi sementara gratis untuk mencoba Aspose.OCR for .NET 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 C#.

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

Lihat juga