불만족한 OCR 결과 개선
OCR 품질은 입력에 크게 의존합니다. 하나의 문서를 완벽하게 읽을 수 있는 설정이 또 다른 문서에서는 좋지 않은 상태로 남기 때문에 잘못된 텍스트가 생길 수 있습니다. 표준 읽기가 실망스러울 때, IronOcr.Extensions.AdvancedScan 패키지가 정확도 차이를 주로 메웁니다.
차이는 엔진에 있습니다. 표준 IronOCR는 Tesseract 엔진으로 실행되며, IronOcr.Extensions.AdvancedScan는 PaddleOCR에 의해 구동되며 기계 학습 기능이 추가됩니다. 이는 스크린 샷과 같은 노이즈가 많은 입력 및 여권 및 등록 번호판과 같은 구조화된 소스에 잘 적합합니다.
패키지는 이러한 경우를 위한 목적별 읽기 메서드를 제공합니다:
해결책
1. ReadDocumentAdvanced() 및 EnhanceResolution() 시작하기
다른 설정에 이르기 전에 ReadDocumentAdvanced() 메서드를 EnhanceResolution() 사전 처리 필터와 결합하십시오. 이 조합은 사용자가 표준 읽기에서 겪는 대부분의 정확성 문제를 해결합니다.
필터를 OcrInput에 적용한 후 동일한 입력을 ReadDocumentAdvanced()에 전달하십시오:
var ocr = new IronTesseract();
using var input = new OcrInput();
input.LoadPdf("document.pdf");
// Upscale and sharpen low-resolution input before reading
input.EnhanceResolution();
var result = ocr.ReadDocumentAdvanced(input);
Console.WriteLine(result.Text);
var ocr = new IronTesseract();
using var input = new OcrInput();
input.LoadPdf("document.pdf");
// Upscale and sharpen low-resolution input before reading
input.EnhanceResolution();
var result = ocr.ReadDocumentAdvanced(input);
Console.WriteLine(result.Text);
Imports IronOcr
Dim ocr As New IronTesseract()
Using input As New OcrInput()
input.LoadPdf("document.pdf")
' Upscale and sharpen low-resolution input before reading
input.EnhanceResolution()
Dim result = ocr.ReadDocumentAdvanced(input)
Console.WriteLine(result.Text)
End Using
ReadDocumentAdvanced()는 레이아웃 인식, 텍스트가 많은 문서를 파싱하기 위해 PaddleOCR 기계 학습 엔진을 실행하며 EnhanceResolution()는 읽기 전에 저해상도 입력을 확대하고 선명하게 합니다. 저해상도는 흔한 결과 문제의 근본 원인이므로 이 사전 처리 단계는 엔진 교환만큼이나 중요한 경우가 많습니다.
2. .NET Framework에서 x64 대상으로 설정
.NET Framework 프로젝트를 x64로 빌드하도록 구성하십시오. AdvancedScan은 충분한 메모리가 필요하며, 다른 아키텍처에서 실행하면 런타임 오류가 발생할 수 있습니다. 전체 설정을 보려면 .NET Framework에서의 고급 스캔 가이드를 참조하십시오.
제한 사항
AdvancedScan은 강력한 정확성을 제공하지만, 오늘날 몇 가지 제약이 있습니다:
- 결과 기능이 적음: AdvancedScan 결과 객체는 표준
OcrResult객체보다 노출되는 속성이 적습니다. - 다른 반환 유형: 각 읽기 메서드는 다른 결과 객체 타입을 반환하므로 호출한 API 참조에서 특히 확인하십시오.
- 검색 가능한 PDF 없음: AdvancedScan 출력에서 검색 가능한 PDF 작성이 아직 지원되지 않으며, 이 기능은 개발 중입니다.
- 언어 제한: 패키지는 현재 영어, 중국어, 일본어, 한국어 및 라틴 알파벳을 지원합니다.

