Aspose.OCR을 사용하여 OCR 정확성과 성능을 최적화하는 방법
높은 OCR 정확성과 빠른 처리를 달성하는 것은 실제 채택에 필수적입니다.이 기사는 인식 결과와 .NET을 위한 Aspose.OCR을 통과하는 방법에 대한 실행 가능한 팁을 제공합니다.
현실 세계 문제
나쁜 입력 이미지, 잘못된 언어 설정 또는 부적절한 코드는 부정확한 결과와 느린 배치 작업으로 이어질 수 있습니다.
솔루션 검토
입증된 최상의 관행을 따르십시오 - 입력 이미지를 최적화하고, 사전 처리를 설정하며, 올바른 인식 언어를 선택하고 배치 설정을 조정합니다.이것은 각 프로젝트에서 Aspose.OCR에서 최고의 결과를 얻을 수 있습니다.
원칙
- Visual Studio 2019 또는 이후
- .NET 6.0 또는 이후 (또는 .Net Framework 4.6.2+)
- NuGet에서 .NET을 위한 ASPOSE.OCR
PM> Install-Package Aspose.OCR
단계별 실행
단계 1 : 입력 이미지 품질 향상
- 고해상도 스캔 또는 사진을 사용하십시오 (프린트를 위해 최소 300 DPI, 스크린을 위해 150 DPi)
- 스케이, 블루, 또는 그림자를 피하십시오.필요한 경우 식물 경계 및 회전 이미지
단계 2: 필터를 사용하여 이미지를 사전 처리합니다.
RecognitionSettings settings = new RecognitionSettings();
settings.AutoContrast = true;
settings.AutoSkew = true;
settings.Denoising = true;
settings.Binarization = true; // For black/white documents
단계 3: 인식 언어 및 모드를 설정합니다.
settings.Language = Language.English; // or target language
// For photos or tables, set detection mode
settings.DetectAreasMode = DetectAreasMode.PHOTO; // or DetectAreasMode.TABLE
단계 4 : 배치 및 병렬 처리
한 번에 여러 개의 이미지를 처리합니다 :
OcrInput input = new OcrInput(InputType.SingleImage);
foreach (string file in Directory.GetFiles("./input", "*.jpg"))
{
input.Add(file);
}
무거운 부하를 위해, async 또는 Task Parallel Library를 사용하십시오 :
Parallel.ForEach(files, file => {
// Run OCR on each file
});
단계 5 : OCR 결과를 검증하고 검토합니다.
- 잃어버린 또는 잘못된 단어를 위해 인식 된 텍스트를 확인합니다.
- 중요한 문서에 대한 인증 서류 또는 수동 검토를 사용하십시오.
단계 6 : 실수와 오류 처리
try
{
// OCR processing
}
catch (Exception ex)
{
// Log error, move file to review folder
}
단계 7 : 완전한 예제
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);
foreach (string file in Directory.GetFiles("./input", "*.jpg"))
{
input.Add(file);
}
RecognitionSettings settings = new RecognitionSettings();
settings.Language = Language.English;
settings.AutoContrast = true;
settings.AutoSkew = true;
settings.Denoising = true;
settings.Binarization = true;
AsposeOcr ocr = new AsposeOcr();
List<RecognitionResult> results = ocr.Recognize(input, settings);
int count = 1;
foreach (RecognitionResult result in results)
{
result.Save($"./output/result_{count}.txt", SaveFormat.Text);
count++;
}
}
catch (Exception ex)
{
File.AppendAllText("ocr_errors.log", ex.Message + Environment.NewLine);
}
}
}
사례 및 응용 프로그램 사용
높은 정확성 청구 및 계약 추출
법적/금융 문서 자동화의 품질과 신뢰성을 최대화합니다.
대량 이미지 / 텍스트 아카이브 처리
배치 속도를 향상시키고 준수 또는 BI에 대한 가짜 부정적인 점을 최소화합니다.
R&D 및 모델 평가
연구 시나리오에서 새로운 레이아웃, 언어 또는 이미지 유형을 사용하십시오.
일반적인 도전과 해결책
도전 1 : 나쁜 입력 이미지
** 솔루션:** OCR 신뢰가 낮은 경우 더 나은 스캔/사진, 이미지 개선을 실행하고 검토를위한 깃발을 사용하십시오.
도전 2 : 큰 일자리에서 낮은 성과
** 솔루션:** 실행 중에 시스템 자원을 배치, 병렬 및 모니터링합니다.
도전 3 : 예기치 않은 인식 오류
** 솔루션:** 출력 확인, 예외 처리 및 소프트웨어를 업데이트합니다.
성과 고려 사항
- Tune 배치 크기, 메모리 사용 및 대규모 작업을위한 사전 처리
- 시스템 자원 및 출력 폴더 건강 모니터링
- Async/parallel 패턴을 사용하여 대형 배치
모범 사례
- 스케일하기 전에 샘플에 설정을 검증합니다.
- 자동 모니터링 및 오류 경고
- 아카이브 양쪽 출처 이미지 및 출력 안전하게
- ASPOSE.OCR 업그레이드 더 나은 정확성/프로우푸트
고급 시나리오
시나리오 1 : 혼합 콘텐츠에 대한 적응성 사전 처리
각 입력 이미지에 대해 역동적으로 감지 모드를 설정합니다.
시나리오 2 : 지속적인 개선 및 피드백 롤
OCR 출력 오류를 수정 및 리트레이닝을위한 프로세스로 돌려줍니다.
결론
튜닝 정확도와 통과는 모든 작업 흐름에서 .NET에 대한 Aspose.OCR에서 최고의 결과를 보장합니다.더 많은 최적화 기술을 위해 다음을 참조하십시오. .NET API 참조를 위한 ASPOSE.OCR .