IronOCR 방법 결과 신뢰도 IronOCR을 사용하여 C# OCR 읽기 신뢰도를 높이는 방법 커티스 차우 업데이트됨:1월 10, 2026 다운로드 IronOCR NuGet 다운로드 DLL 다운로드 윈도우 설치 프로그램 무료 체험 시작하기 LLM용 사본 LLM용 사본 LLM용 마크다운 형식으로 페이지를 복사하세요 ChatGPT에서 열기 ChatGPT에 이 페이지에 대해 문의하세요 제미니에서 열기 제미니에게 이 페이지에 대해 문의하세요 Grok에서 열기 Grok에게 이 페이지에 대해 문의하세요 혼란 속에서 열기 Perplexity에게 이 페이지에 대해 문의하세요 공유하다 페이스북에 공유하기 트위터에 공유하기 LinkedIn에 공유하기 URL 복사 이메일로 기사 보내기 This article was translated from English: Does it need improvement? Translated View the article in English IronOCR의 읽기 신뢰도는 인식된 텍스트의 정확성에 대해 OCR 시스템이 얼마나 확신하는지를 나타내며, 0에서 100 사이의 값으로 표현되며 높은 점수일수록 신뢰성이 높음을 의미합니다. 이는 모든 OcrResult 객체의 Confidence 속성을 통해 접근할 수 있습니다. OCR(광학 문자 인식)에서 읽기 신뢰도는 OCR 시스템이 이미지나 문서에서 인식한 텍스트의 정확도에 대해 부여하는 확신도 또는 신뢰도 수준을 나타냅니다. 이는 OCR 시스템이 인식된 텍스트가 정확하다고 얼마나 확신하는지를 나타내는 척도입니다. 이 지표는 스캔한 문서 , 사진 또는 텍스트 품질이 일정하지 않을 수 있는 모든 이미지를 처리할 때 특히 중요해집니다. 높은 신뢰도 점수는 인식의 정확성에 대한 높은 확신도를 나타내는 반면, 낮은 신뢰도 점수는 인식의 신뢰도가 떨어질 수 있음을 시사합니다. 이러한 신뢰 수준을 이해하면 개발자는 애플리케이션에 적절한 유효성 검사 로직과 오류 처리를 구현하는 데 도움이 됩니다. 빠른 시작: 한 줄로 OCR 읽기 정확도 향상 IronTesseract의 Read 메소드를 이미지 파일 경로와 함께 사용하고, 반환된 OcrResult의 Confidence 속성에 접근하여 IronOCR이 텍스트 인식에 대해 얼마나 확신하는지 확인하세요. 이는 OCR 출력 정확도를 평가하기 위한 간단하고 신뢰할 수 있는 방법입니다. NuGet 패키지 관리자를 사용하여 https://www.nuget.org/packages/IronOcr 설치하기 PM > Install-Package IronOcr 다음 코드 조각을 복사하여 실행하세요. double confidence = new IronOcr.IronTesseract().Read("input.png").Confidence; 실제 운영 환경에서 테스트할 수 있도록 배포하세요. 무료 체험판으로 오늘 프로젝트에서 IronOCR 사용 시작하기 Free 30 Day Trial ### 최소 워크플로우(5단계) 읽기 신뢰도에 액세스하려면 C# 라이브러리를 다운로드하세요. 대상 이미지와 PDF 문서를 준비하세요. Access the **`Confidence`** property of the OCR result 페이지, 단락, 줄, 단어 및 문자의 정확성을 되찾으세요 Check the **`Choices`** property for alternative word choices C#에서 읽기 신뢰도를 높이려면 어떻게 해야 하나요? 입력 이미지에 OCR을 수행한 후, 텍스트의 신뢰도 수준이 Confidence 속성에 저장됩니다. 'using' 문을 활용하여 사용 후 객체를 자동으로 해제하세요. 이미지 및 PDF와 같은 문서를 각각 OcrImageInput 및 OcrPdfInput 클래스를 사용하여 추가하세요. Read 메소드는 OcrResult 객체를 반환하여 Confidence 속성에 접근할 수 있게 합니다. :path=/static-assets/ocr/content-code-examples/how-to/tesseract-result-confidence-get-confidence.cs using IronOcr; // Instantiate IronTesseract IronTesseract ocrTesseract = new IronTesseract(); // Add image using var imageInput = new OcrImageInput("sample.tiff"); // Perform OCR OcrResult ocrResult = ocrTesseract.Read(imageInput); // Get confidence level double confidence = ocrResult.Confidence; $vbLabelText $csharpLabel 반환되는 신뢰도 값은 0에서 100 사이의 값을 가지며, 여기서: 90-100 : 매우 높은 신뢰도 - 텍스트의 신뢰도가 매우 높음 80-89 : 높은 신뢰도 - 텍스트는 전반적으로 정확하며 약간의 불확실성이 있음 70-79 : 보통 수준의 신뢰도 - 텍스트에 오류가 있을 수 있음 70 미만 : 신뢰도 낮음 - 텍스트를 검토하거나 재처리해야 합니다. 다양한 수준에서 자신감을 얻으려면 어떻게 해야 할까요? 문서 전체의 신뢰도 수준뿐만 아니라 각 페이지, 단락, 줄, 단어 및 문자의 신뢰도 수준도 확인할 수 있습니다. 또한, 서로 가까이 위치한 하나 이상의 단락 모음인 블록의 신뢰도를 얻을 수 있습니다. :path=/static-assets/ocr/content-code-examples/how-to/tesseract-result-confidence-confidence-level.cs // Get page confidence level double pageConfidence = ocrResult.Pages[0].Confidence; // Get paragraph confidence level double paragraphConfidence = ocrResult.Paragraphs[0].Confidence; // Get line confidence level double lineConfidence = ocrResult.Lines[0].Confidence; // Get word confidence level double wordConfidence = ocrResult.Words[0].Confidence; // Get character confidence level double characterConfidence = ocrResult.Characters[0].Confidence; // Get block confidence level double blockConfidence = ocrResult.Blocks[0].Confidence; $vbLabelText $csharpLabel 실제 예시: 신뢰도별 필터링 품질이 제각각인 문서(예: 저품질 스캔본) 를 처리할 때 신뢰도 점수를 사용하여 결과를 필터링할 수 있습니다. using IronOcr; using System.Linq; // Instantiate IronTesseract IronTesseract ocrTesseract = new IronTesseract(); // Configure for better accuracy ocrTesseract.Configuration.ReadBarCodes = false; ocrTesseract.Configuration.PageSegmentationMode = TesseractPageSegmentationMode.AutoOsd; // Add image using var imageInput = new OcrImageInput("invoice.png"); // Apply filters to improve quality imageInput.Deskew(); imageInput.DeNoise(); // Perform OCR OcrResult ocrResult = ocrTesseract.Read(imageInput); // Filter words with confidence above 85% var highConfidenceWords = ocrResult.Words .Where(word => word.Confidence >= 85) .Select(word => word.Text) .ToList(); // Process only high-confidence text string reliableText = string.Join(" ", highConfidenceWords); Console.WriteLine($"High confidence text: {reliableText}"); // Flag low-confidence words for manual review var lowConfidenceWords = ocrResult.Words .Where(word => word.Confidence < 85) .Select(word => new { word.Text, word.Confidence }) .ToList(); foreach (var word in lowConfidenceWords) { Console.WriteLine($"Review needed: '{word.Text}' (Confidence: {word.Confidence:F2}%)"); } using IronOcr; using System.Linq; // Instantiate IronTesseract IronTesseract ocrTesseract = new IronTesseract(); // Configure for better accuracy ocrTesseract.Configuration.ReadBarCodes = false; ocrTesseract.Configuration.PageSegmentationMode = TesseractPageSegmentationMode.AutoOsd; // Add image using var imageInput = new OcrImageInput("invoice.png"); // Apply filters to improve quality imageInput.Deskew(); imageInput.DeNoise(); // Perform OCR OcrResult ocrResult = ocrTesseract.Read(imageInput); // Filter words with confidence above 85% var highConfidenceWords = ocrResult.Words .Where(word => word.Confidence >= 85) .Select(word => word.Text) .ToList(); // Process only high-confidence text string reliableText = string.Join(" ", highConfidenceWords); Console.WriteLine($"High confidence text: {reliableText}"); // Flag low-confidence words for manual review var lowConfidenceWords = ocrResult.Words .Where(word => word.Confidence < 85) .Select(word => new { word.Text, word.Confidence }) .ToList(); foreach (var word in lowConfidenceWords) { Console.WriteLine($"Review needed: '{word.Text}' (Confidence: {word.Confidence:F2}%)"); } $vbLabelText $csharpLabel OCR에서 캐릭터 선택이란 무엇인가요? 신뢰도 수준 외에도 '선택' 이라는 흥미로운 속성이 하나 더 있습니다. 선택지에는 대체 단어 목록과 해당 단어의 통계적 관련성이 포함되어 있습니다. 이 정보를 통해 사용자는 다른 가능한 문자에 접근할 수 있습니다. 이 기능은 여러 언어 나 특수 글꼴을 사용할 때 특히 유용합니다. :path=/static-assets/ocr/content-code-examples/how-to/tesseract-result-confidence-get-choices.cs using IronOcr; using static IronOcr.OcrResult; // Instantiate IronTesseract IronTesseract ocrTesseract = new IronTesseract(); // Add image using var imageInput = new OcrImageInput("Potter.tiff"); // Perform OCR OcrResult ocrResult = ocrTesseract.Read(imageInput); // Get choices Choice[] choices = ocrResult.Characters[0].Choices; $vbLabelText $csharpLabel 다른 캐릭터 선택지는 어떻게 도움이 되나요? 다른 캐릭터를 선택하면 다음과 같은 여러 가지 이점이 있습니다. 모호성 해결 : 'O'와 '0', 또는 'l'과 '1'처럼 문자가 혼동될 때 글꼴 변형 : 스타일이 입혀진 또는 장식적인 글꼴에 대한 다양한 해석 품질 문제 : 손상된 텍스트를 처리할 때 발생할 수 있는 다양한 문제 언어적 맥락 : 언어 규칙에 기반한 대안적 해석 캐릭터 선택 작업하기 다음은 정확도를 높이기 위해 문자 선택을 활용하는 방법을 보여주는 포괄적인 예시입니다. using IronOcr; using System; using System.Linq; using static IronOcr.OcrResult; // Configure IronTesseract for detailed results IronTesseract ocrTesseract = new IronTesseract(); // Process image with potential ambiguities using var imageInput = new OcrImageInput("ambiguous_text.png"); OcrResult ocrResult = ocrTesseract.Read(imageInput); // Analyze character choices for each word foreach (var word in ocrResult.Words) { Console.WriteLine($"\nWord: '{word.Text}' (Confidence: {word.Confidence:F2}%)"); // Check each character in the word foreach (var character in word.Characters) { if (character.Choices != null && character.Choices.Length > 1) { Console.WriteLine($" Character '{character.Text}' has alternatives:"); // Display all choices sorted by confidence foreach (var choice in character.Choices.OrderByDescending(c => c.Confidence)) { Console.WriteLine($" - '{choice.Text}': {choice.Confidence:F2}%"); } } } } using IronOcr; using System; using System.Linq; using static IronOcr.OcrResult; // Configure IronTesseract for detailed results IronTesseract ocrTesseract = new IronTesseract(); // Process image with potential ambiguities using var imageInput = new OcrImageInput("ambiguous_text.png"); OcrResult ocrResult = ocrTesseract.Read(imageInput); // Analyze character choices for each word foreach (var word in ocrResult.Words) { Console.WriteLine($"\nWord: '{word.Text}' (Confidence: {word.Confidence:F2}%)"); // Check each character in the word foreach (var character in word.Characters) { if (character.Choices != null && character.Choices.Length > 1) { Console.WriteLine($" Character '{character.Text}' has alternatives:"); // Display all choices sorted by confidence foreach (var choice in character.Choices.OrderByDescending(c => c.Confidence)) { Console.WriteLine($" - '{choice.Text}': {choice.Confidence:F2}%"); } } } } $vbLabelText $csharpLabel 고급 자신감 전략 여권 , 차량 번호판 , MICR 수표 와 같은 특수 문서를 다룰 때는 신뢰도 점수가 검증에 매우 중요해집니다. using IronOcr; public class DocumentValidator { private readonly IronTesseract ocr = new IronTesseract(); public bool ValidatePassportNumber(string imagePath, double minConfidence = 95.0) { using var input = new OcrImageInput(imagePath); // Configure for passport reading ocr.Configuration.ReadBarCodes = true; ocr.Configuration.PageSegmentationMode = TesseractPageSegmentationMode.SingleLine; // Apply preprocessing input.Deskew(); input.Scale(200); // Upscale for better accuracy var result = ocr.Read(input); // Find passport number pattern var passportLine = result.Lines .Where(line => line.Text.Contains("P<") || IsPassportNumberFormat(line.Text)) .FirstOrDefault(); if (passportLine != null) { Console.WriteLine($"Passport line found: {passportLine.Text}"); Console.WriteLine($"Confidence: {passportLine.Confidence:F2}%"); // Only accept if confidence meets threshold return passportLine.Confidence >= minConfidence; } return false; } private bool IsPassportNumberFormat(string text) { // Simple passport number validation return System.Text.RegularExpressions.Regex.IsMatch(text, @"^[A-Z]\d{7,9}$"); } } using IronOcr; public class DocumentValidator { private readonly IronTesseract ocr = new IronTesseract(); public bool ValidatePassportNumber(string imagePath, double minConfidence = 95.0) { using var input = new OcrImageInput(imagePath); // Configure for passport reading ocr.Configuration.ReadBarCodes = true; ocr.Configuration.PageSegmentationMode = TesseractPageSegmentationMode.SingleLine; // Apply preprocessing input.Deskew(); input.Scale(200); // Upscale for better accuracy var result = ocr.Read(input); // Find passport number pattern var passportLine = result.Lines .Where(line => line.Text.Contains("P<") || IsPassportNumberFormat(line.Text)) .FirstOrDefault(); if (passportLine != null) { Console.WriteLine($"Passport line found: {passportLine.Text}"); Console.WriteLine($"Confidence: {passportLine.Confidence:F2}%"); // Only accept if confidence meets threshold return passportLine.Confidence >= minConfidence; } return false; } private bool IsPassportNumberFormat(string text) { // Simple passport number validation return System.Text.RegularExpressions.Regex.IsMatch(text, @"^[A-Z]\d{7,9}$"); } } $vbLabelText $csharpLabel 자신감 향상을 위한 최적화 신뢰도 점수를 높이려면 이미지 필터 및 전처리 기법을 사용하는 것을 고려해 보세요. using IronOcr; // Create an optimized OCR workflow IronTesseract ocr = new IronTesseract(); using var input = new OcrImageInput("low_quality_scan.jpg"); // Apply multiple filters to improve confidence input.Deskew(); // Correct rotation input.DeNoise(); // Remove noise input.Sharpen(); // Enhance edges input.Dilate(); // Thicken text input.Scale(150); // Upscale for clarity // Configure for accuracy over speed ocr.Configuration.TesseractVersion = TesseractVersion.Tesseract5; ocr.Configuration.EngineMode = TesseractEngineMode.TesseractOnly; var result = ocr.Read(input); Console.WriteLine($"Document confidence: {result.Confidence:F2}%"); // Generate confidence report var confidenceReport = result.Pages .Select((page, index) => new { PageNumber = index + 1, Confidence = page.Confidence, WordCount = page.Words.Length, LowConfidenceWords = page.Words.Count(w => w.Confidence < 80) }); foreach (var page in confidenceReport) { Console.WriteLine($"Page {page.PageNumber}: {page.Confidence:F2}% confidence"); Console.WriteLine($" Total words: {page.WordCount}"); Console.WriteLine($" Low confidence words: {page.LowConfidenceWords}"); } using IronOcr; // Create an optimized OCR workflow IronTesseract ocr = new IronTesseract(); using var input = new OcrImageInput("low_quality_scan.jpg"); // Apply multiple filters to improve confidence input.Deskew(); // Correct rotation input.DeNoise(); // Remove noise input.Sharpen(); // Enhance edges input.Dilate(); // Thicken text input.Scale(150); // Upscale for clarity // Configure for accuracy over speed ocr.Configuration.TesseractVersion = TesseractVersion.Tesseract5; ocr.Configuration.EngineMode = TesseractEngineMode.TesseractOnly; var result = ocr.Read(input); Console.WriteLine($"Document confidence: {result.Confidence:F2}%"); // Generate confidence report var confidenceReport = result.Pages .Select((page, index) => new { PageNumber = index + 1, Confidence = page.Confidence, WordCount = page.Words.Length, LowConfidenceWords = page.Words.Count(w => w.Confidence < 80) }); foreach (var page in confidenceReport) { Console.WriteLine($"Page {page.PageNumber}: {page.Confidence:F2}% confidence"); Console.WriteLine($" Total words: {page.WordCount}"); Console.WriteLine($" Low confidence words: {page.LowConfidenceWords}"); } $vbLabelText $csharpLabel 요약 OCR 신뢰도 점수를 이해하고 활용하는 것은 견고한 문서 처리 애플리케이션을 구축하는 데 필수적입니다. IronOCR의 신뢰도 속성과 문자 선택 기능을 활용하면 개발자는 OCR 워크플로에 지능형 유효성 검사, 오류 처리 및 품질 보증 메커니즘을 구현할 수 있습니다. 스크린샷 , 표 또는 특수 문서를 처리하든 관계없이 신뢰도 점수는 정확한 텍스트 추출을 보장하는 데 필요한 지표를 제공합니다. 자주 묻는 질문 OCR 신뢰도란 무엇이며 왜 중요한가요? OCR 신뢰도는 OCR 시스템이 텍스트 인식 정확도에 대해 얼마나 확신하는지를 나타내는 0에서 100 사이의 척도입니다. IronOCR은 모든 OcrResult 객체의 Confidence 속성을 통해 이 지표를 제공하며, 개발자는 특히 텍스트 품질이 다양한 스캔 문서, 사진 또는 이미지를 처리할 때 인식된 텍스트의 신뢰성을 평가하는 데 도움을 받을 수 있습니다. C#에서 OCR 정확도를 빠르게 확인하는 방법은 무엇인가요? IronOCR을 사용하면 단 한 줄의 코드로 OCR 인식 신뢰도를 얻을 수 있습니다. `double confidence = new IronOcr.IronTesseract().Read("input.png").Confidence;` 이 코드는 IronOCR이 텍스트를 인식한 정도를 나타내는 0~100 사이의 신뢰도 점수를 반환합니다. 서로 다른 신뢰도 점수 범위는 무엇을 의미합니까? IronOCR 신뢰도 점수는 다음과 같은 의미를 나타냅니다. 90~100점(우수)은 텍스트의 신뢰도가 매우 높음을 의미합니다. 80~89점(양호)은 텍스트가 전반적으로 정확하지만 약간의 불확실성이 있음을 의미합니다. 70~79점(보통)은 텍스트에 일부 오류가 포함될 수 있음을 의미합니다. 70점 미만(낮음)은 텍스트를 검토하거나 재처리해야 함을 의미합니다. 텍스트 요소별 신뢰도 수준은 어떻게 확인할 수 있나요? IronOCR을 사용하면 페이지, 단락, 줄, 단어 및 개별 문자 등 다양한 세분화 수준에서 신뢰도 수준을 확인할 수 있습니다. OCR을 수행한 후에는 OcrResult 객체 구조를 통해 각 수준의 신뢰도 속성에 접근할 수 있습니다. 대체 단어 추천과 함께 신뢰도 점수를 받을 수 있나요? 네, IronOCR은 대체 단어 선택지와 해당 단어의 신뢰도 점수를 제공하는 'Choices' 속성을 지원합니다. 이 기능은 OCR 엔진이 동일한 텍스트에 대해 여러 가지 가능한 해석을 식별할 때 유용하며, 스마트한 유효성 검사 로직을 구현할 수 있도록 도와줍니다. 내 애플리케이션에서 신뢰도 기반 유효성 검사를 어떻게 구현할 수 있나요? IronOCR의 Read 메서드를 사용한 후 OcrResult의 Confidence 속성을 확인합니다. 신뢰도 임계값을 기반으로 조건부 로직을 구현합니다. 예를 들어 90% 이상의 결과는 자동으로 승인하고, 70~90% 사이의 결과는 검토 대상으로 표시하며, 70% 미만의 결과는 재처리하거나 수동으로 검증합니다. 커티스 차우 지금 바로 엔지니어링 팀과 채팅하세요 기술 문서 작성자 커티스 차우는 칼턴 대학교에서 컴퓨터 과학 학사 학위를 취득했으며, Node.js, TypeScript, JavaScript, React를 전문으로 하는 프론트엔드 개발자입니다. 직관적이고 미적으로 뛰어난 사용자 인터페이스를 만드는 데 열정을 가진 그는 최신 프레임워크를 활용하고, 잘 구성되고 시각적으로 매력적인 매뉴얼을 제작하는 것을 즐깁니다. 커티스는 개발 분야 외에도 사물 인터넷(IoT)에 깊은 관심을 가지고 있으며, 하드웨어와 소프트웨어를 통합하는 혁신적인 방법을 연구합니다. 여가 시간에는 게임을 즐기거나 디스코드 봇을 만들면서 기술에 대한 애정과 창의성을 결합합니다. 검토자: 제프리 T. 프리츠 .NET 커뮤니티 팀의 수석 프로그램 관리자 제프는 .NET 및 Visual Studio 팀의 수석 프로그램 관리자이기도 합니다. 그는 .NET Conf 가상 컨퍼런스 시리즈의 총괄 프로듀서이며, 개발자를 위한 라이브 스트림 'Fritz and Friends'를 주 2회 진행하며 시청자들과 함께 기술에 대해 이야기하고 코드를 작성합니다. 제프는 Microsoft Build, Microsoft Ignite, .NET Conf, Microsoft MVP Summit 등 주요 Microsoft 개발자 행사를 위한 워크숍, 프레젠테이션 및 콘텐츠 기획을 담당합니다. 시작할 준비 되셨나요? Nuget 다운로드 5,525,971 | 버전: 2026.3 방금 출시되었습니다 무료 체험 시작하기 NuGet 무료 다운로드 총 다운로드 수: 5,525,971 라이선스 보기 아직도 스크롤하고 계신가요? 빠른 증거를 원하시나요? PM > Install-Package IronOcr 샘플을 실행하세요 이미지가 검색 가능한 텍스트로 바뀌는 것을 확인해 보세요. NuGet 무료 다운로드 총 다운로드 수: 5,525,971 라이선스 보기