Aspose.OCR을 사용하여 낮은 품질의 이미지에 대한 OCR 정확도를 향상시키는 방법

Aspose.OCR을 사용하여 낮은 품질의 이미지에 대한 OCR 정확도를 향상시키는 방법

많은 비즈니스 비판적인 이미지는 낮은 품질입니다 - 블러리 스캔, 스마트 폰 사진, 스케이드 리셉트 또는 소음 팩스.이 도전은 OCR 정확도를 줄입니다. .NET을위한 Aspose.OCR은 내장 된 도구와 최상의 관행을 제공하여 어려운 이미지에서 가능한 최고의 텍스트를 추출합니다.

현실 세계 문제

스캔이 혼란스럽고, 어두운, 낮은 대조 또는 배경 소리가있을 때 표준 OCR는 단어를 놓칠 수 있거나 캐릭터를 잘못 인식 할 수 있습니다.이것은 다운 스트림 시스템이나 수동 재작업에서 나쁜 데이터로 이어집니다.

솔루션 검토

Preprocessing (deskew, denoise, contrast adjustment) 및 Aspose.OCR 설정을 튜닝함으로써 텍스트 추출을 크게 향상시킬 수 있습니다.

원칙

  • Visual Studio 2019 또는 이후
  • .NET 6.0 또는 이후 (또는 .Net Framework 4.6.2+)
  • NuGet에서 .NET을 위한 ASPOSE.OCR
  • 기본 C# 기술
PM> Install-Package Aspose.OCR

단계별 실행

단계 1 : ASPOSE.OCR 설치 및 설정

using Aspose.OCR;

단계 2 : 이미지 품질 평가

확인해 보세요 :

  • Blurriness
  • 스케이 / 회전
  • 배경 소음
  • 낮은 대조
  • 낮은 조명 / 그림자

단계 3 : 이미지 사전 처리 및 개선을 적용

Aspose.OCR은 거부, 분해, 바이너리화, 대조 및 더 많은 필터를 갖추고 있습니다 :

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

단계 4: 어려운 이미지에 대한 인식 설정을 설정합니다.

튜닝을 통해 더 나은 결과를 얻을 수 있습니다 :

  • Language 부동산 (가장 가까운 경기를 선택)
  • DetectAreasMode (자동차 대 사진)
settings.Language = Language.English;
settings.DetectAreasMode = DetectAreasMode.PHOTO; // If image is a photo

단계 5 : 텍스트 추출 및 인증

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);
}

단계 6 : 다른 설정으로 Iterate 및 테스트

사전 처리 필터 및 설정의 여러 조합을 시도하고 최상의 정확성을 위해 출력을 검토하십시오.

단계 7 : 대규모 일자리에 대한 자동 사전 처리

모든 이미지를 최적의 설정으로 디렉토리에서 처리합니다 :

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

단계 8 : 완전한 예제

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}");
        }
    }
}

사례 및 응용 프로그램 사용

수신 및 팩스를 디지털화

패드, 팩스 또는 부서진 수수료 및 청구서에서 데이터를 추출합니다.

가난한 스캔으로 지불 할 수있는 계좌 자동화

재작업을 줄이고 나쁜 출처에서도 AP 처리를 가속화합니다.

아카이브 유산 종이 작업

사용 가능한 텍스트를 오래된, 파괴 된 아카이브 및 수동으로 작성된 노트에서 저장합니다.

일반적인 도전과 해결책

도전 1 : 여전히 읽을 수없는 이미지

** 솔루션:** 필요에 따라 구원을 요청하거나 고급 개선 도구를 사용하십시오.

도전 2 : 배치 처리 냄비

** 솔루션:** 자동 사전 처리 및 시간 내 작업을 일정합니다.

도전 3 : 매우 변형된 입력

** 솔루션:** 문서 유형에 따라 최상의 설정을 저장; 정기적으로 확인합니다.

성과 고려 사항

  • Preprocessing은 CPU 시간을 추가하지만 OCR 정확도를 두 배로 늘릴 수 있습니다.
  • 당신의 하드웨어에 대한 테스트 배치 크기
  • 실행 후 OCR 물건의 사용

모범 사례

  • 검토를 위한 원본 이미지를 저장
  • 통합 전에 출력 확인
  • 중요한 작업 흐름에 대한 품질 관리 검사를 사용하십시오.
  • 개선을 위해 Aspose.OCR을 정기적으로 업데이트합니다.

고급 시나리오

시나리오 1 : 외부 도구를 사용하여 사전 처리 (선택)

극단적 인 경우 OCR 전에 ImageMagick 또는 OpenCV와 같은 도구로 이미지를 향상시킵니다.

시나리오 2 : 문서 유형에 따라 사용자 지정 필터링

최대 정확도를 위해 출처 또는 작업 흐름에 따라 설정을 저장하고 재사용합니다.

결론

적절한 사전 처리 및 설정으로 .NET을 위한 Aspose.OCR은 품질이 좋지 않은 이미지에서도 귀중한 데이터를 구할 수 있으며 자동화 및 준수를 향상시킬 수 있습니다.

고급 팁과 최신 필터를 확인하려면 .NET API 참조를 위한 ASPOSE.OCR .

 한국어