Bagaimana untuk meningkatkan ketepatan OCR pada gambar berkualitas rendah dengan Aspose.OCR

Bagaimana untuk meningkatkan ketepatan OCR pada gambar berkualitas rendah dengan Aspose.OCR

Banyak gambar kritikal bisnis adalah kualitas yang rendah – scan blurry, foto smartphone, rekaman tersembunyi, atau faks bunyi. tantangan ini mengurangi keakuratan OCR. Aspose.OCR untuk .NET menawarkan alat terbina dalam dan praktik terbaik untuk mengekstrak teks terbaik dari gambar yang sulit.

Masalah dunia nyata

Ketika pemindaian berantakan, gelap, rendah kontras, atau memiliki bunyi latar belakang, OCR standar dapat melewatkan kata-kata atau salah mengenali karakter.

Penyelesaian Overview

Dengan menerapkan preprocessing (deskew, denoise, contrast adjustment), dan tuning pengaturan Aspose.OCR, Anda dapat secara dramatis meningkatkan ekstraksi teks – bahkan dari gambar subpar.

Persyaratan

  • Visual Studio 2019 atau lebih baru
  • .NET 6.0 atau lebih baru (atau .Net Framework 4.6.2+)
  • Aspose.OCR untuk .NET dari NuGet
  • Keterampilan dasar C#
PM> Install-Package Aspose.OCR

Implementasi langkah demi langkah

Langkah 1: Menginstal dan mengkonfigurasi Aspose.OCR

using Aspose.OCR;

Langkah 2: Menilai kualitas gambar

Periksa untuk:

  • Blurriness
  • Skew / Rotasi
  • Kebisingan latar belakang
  • kontras rendah
  • Cahaya yang buruk / bayangan

Langkah 3: Mengaplikasikan Preprocessing dan Enhancement

Aspose.OCR memiliki filter untuk denoise, deskew, binarisasi, kontras, dan banyak lagi:

RecognitionSettings settings = new RecognitionSettings();
settings.AutoContrast = true; // Improve contrast automatically
settings.Denoising = true;    // Remove background noise
settings.Deskew = true;       // Correct rotated images
settings.Binarization = true; // Convert to black/white for clarity

Langkah 4: Tetapkan pengenalan untuk gambar yang sulit

Anda dapat mendapatkan hasil yang lebih baik dengan tuning:

  • Language Properti (pilih pertandingan terdekat)
  • DetectAreasMode (Baca lebih lanjut tentang Auto vs Photo)
settings.Language = Language.English;
settings.DetectAreasMode = DetectAreasMode.PHOTO; // If image is a photo

Langkah 5: Mengekstrak teks dan validasi

OcrInput input = new OcrInput(InputType.SingleImage);
input.Add("blurry_invoice.jpg");
AsposeOcr ocr = new AsposeOcr();
List<RecognitionResult> results = ocr.Recognize(input, settings);
foreach (RecognitionResult result in results)
{
    Console.WriteLine(result.RecognitionText);
}

Langkah 6: Iterate dan Uji dengan Pengaturan yang Berbeda

Cobalah beberapa kombinasi dari preprocessing filter dan pengaturan, kemudian pertimbangkan output untuk ketepatan terbaik.

Langkah 7: Preprocessing otomatis untuk pekerjaan besar

Memproses semua gambar dalam direktori dengan pengaturan optimal:

foreach (string file in Directory.GetFiles("./problem_images", "*.png"))
{
    input.Add(file);
}

Langkah 8 : Contoh Lengkap

using Aspose.OCR;
using System;
using System.Collections.Generic;
using System.IO;

class Program
{
    static void Main(string[] args)
    {
        try
        {
            OcrInput input = new OcrInput(InputType.SingleImage);
            input.Add("blurry_invoice.jpg");

            RecognitionSettings settings = new RecognitionSettings();
            settings.AutoContrast = true;
            settings.Denoising = true;
            settings.Deskew = true;
            settings.Binarization = true;
            settings.Language = Language.English;
            settings.DetectAreasMode = DetectAreasMode.PHOTO;

            AsposeOcr ocr = new AsposeOcr();
            List<RecognitionResult> results = ocr.Recognize(input, settings);

            foreach (RecognitionResult result in results)
            {
                Console.WriteLine(result.RecognitionText);
            }
        }
        catch (Exception ex)
        {
            Console.WriteLine($"Error: {ex.Message}");
        }
    }
}

Menggunakan kasus dan aplikasi

Digitalisasi resep dan faks

Mengekstrak data dari pendapatan dan invois yang dipotong, faks, atau rusak.

Mengautomatikkan Akun yang dapat dibayar dengan Scans yang buruk

Mengurangi rework dan mempercepat pemrosesan AP bahkan dari sumber yang buruk.

Arsip dari Legacy Paperwork

Menyelamatkan teks yang dapat digunakan dari arkib lama, degradasi dan catatan tertulis tangan.

Tantangan dan Solusi Umum

Tantangan 1: Gambar-gambar yang tidak dapat dibaca

** Solusi:** Meminta penyelamatan atau gunakan alat pengembangan lanjutan sesuai kebutuhan.

Tantangan 2: Batch Processing Bottlenecks

** Solusi:** Pre-processing otomatis dan jadwal pekerjaan off-hours.

Tantangan 3: Input yang sangat bervariasi

** Solusi:** Simpan pengaturan terbaik per jenis dokumen; validasi secara teratur.

Pertimbangan kinerja

  • Preprocessing menambah waktu CPU tetapi dapat menggandakan ketepatan OCR
  • Menguji ukuran batch untuk hardware Anda
  • Mendapatkan objek OCR setelah berlari

Praktik Terbaik

  • Simpan gambar asli untuk audit
  • Mengkonfirmasi hasil sebelum integrasi
  • Menggunakan kontrol kualitas untuk aliran kerja kritis
  • Mengemas kini Aspose.OCR secara teratur untuk peningkatan

Skenario Lanjutan

Skenario 1: Preprocessing dengan Alat Eksternal (Optional)

Memperbaiki gambar dengan alat seperti ImageMagick atau OpenCV sebelum OCR untuk kasus ekstrim.

Skenario 2: Filter yang disesuaikan dengan jenis dokumen

Menyimpan dan menggunakan seting per sumber atau aliran kerja untuk ketepatan maksimum.

Kesimpulan

Dengan pemrosesan dan pengaturan yang tepat, Aspose.OCR untuk .NET dapat menyelamatkan data berharga bahkan dari gambar berkualitas buruk, meningkatkan otomatisasi dan pematuhan.

Untuk tips lanjutan dan filter terbaru, periksa Aspose.OCR untuk .NET API Referensi .

 Indonesia