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 .