Jak uzyskać pewność odczytu OCR w języku C# za pomocą IronOCR
Pewność odczytu IronOCR wskazuje, jak bardzo system OCR jest pewny dokładności rozpoznanego tekstu, z wartościami od 0 do 100, gdzie wyższe wyniki oznaczają większą niezawodność – dostęp do niej można uzyskać przez właściwość Confidence dowolnego obiektu OcrResult.
Pewność odczytu w OCR (Optical Character Recognition) odnosi się do poziomu pewności lub wiarygodności, jaki system OCR przypisuje dokładności tekstu rozpoznanego na obrazie lub w dokumencie. Jest to miara tego, na ile system OCR jest pewny, że rozpoznany tekst jest poprawny. Wskaźnik ten staje się szczególnie ważny podczas przetwarzania zeskanowanych dokumentów, zdjęć lub wszelkich obrazów, w których jakość tekstu może się różnić.
Wysoki wynik pewności wskazuje na wysoki stopień pewności, że rozpoznanie jest dokładne, natomiast niski wynik pewności sugeruje, że rozpoznanie może być mniej wiarygodne. Zrozumienie tych poziomów pewności pomaga programistom wdrażać odpowiednią logikę walidacji i obsługę błędów w swoich aplikacjach.
Szybki start: Uzyskaj pewność odczytu OCR w jednym wierszu
Użyj metody Read IronTesseract z ścieżką do pliku obrazu, a następnie uzyskaj dostęp do właściwości Confidence zwróconego OcrResult, aby sprawdzić, jak pewny jest IronOCR w rozpoznawaniu tekstu. To prosty i niezawodny sposób na rozpoczęcie oceny dokładności wyników OCR.
-
Install IronOCR with NuGet Package Manager
PM > Install-Package IronOcr -
Skopiuj i uruchom ten fragment kodu.
double confidence = new IronOcr.IronTesseract().Read("input.png").Confidence; -
Wdrożenie do testowania w środowisku produkcyjnym
Rozpocznij używanie IronOCR w swoim projekcie już dziś z darmową wersją próbną
Minimalny proces (5 kroków)
- Pobierz bibliotekę C#, aby uzyskać dostęp do funkcji oceny pewności tłumaczenia
- Przygotuj docelowy obraz i dokument PDF
- Uzyskaj dostęp do właściwości `Confidence` wyniku OCR
- Odzyskaj pewność co do stron, akapitów, wierszy, słów i znaków
- Sprawdź właściwość `Choices` dla alternatywnych opcji słów
Jak uzyskać pewność czytania w języku C#?
Po przeprowadzeniu OCR na obrazku wejściowym poziom pewności tekstu jest zapisywany we właściwości Confidence. Użyj instrukcji "using", aby automatycznie usuwać obiekty po ich użyciu. Dodaj dokumenty, takie jak obrazy i pliki PDF, za pomocą klas OcrImageInput i OcrPdfInput, odpowiednio. Metoda Read zwróci obiekt OcrResult, który pozwala na dostęp do właściwości Pewność.
: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;
Imports IronOcr
' Instantiate IronTesseract
Private ocrTesseract As New IronTesseract()
' Add image
Private imageInput = New OcrImageInput("sample.tiff")
' Perform OCR
Private ocrResult As OcrResult = ocrTesseract.Read(imageInput)
' Get confidence level
Private confidence As Double = ocrResult.Confidence
Zwracana wartość pewności mieści się w przedziale od 0 do 100, gdzie:
- 90-100: Doskonała pewność – tekst jest wysoce wiarygodny
- 80-89: Dobry poziom pewności – tekst jest ogólnie poprawny, z niewielkimi niejasnościami
- 70–79: Umiarkowana pewność – tekst może zawierać pewne błędy
- Poniżej 70: Niski poziom pewności – tekst powinien zostać sprawdzony lub ponownie przetworzony
Jak mogę nabrać pewności siebie na różnych poziomach?
Można nie tylko uzyskać poziom pewności dla całego dokumentu, ale także uzyskać dostęp do poziomów pewności dla każdej strony, akapitu, wiersza, słowa i znaku. Ponadto można uzyskać pewność co do bloku, który stanowi zbiór jednego lub więcej akapitów znajdujących się blisko siebie.
: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;
' Get page confidence level
Dim pageConfidence As Double = ocrResult.Pages(0).Confidence
' Get paragraph confidence level
Dim paragraphConfidence As Double = ocrResult.Paragraphs(0).Confidence
' Get line confidence level
Dim lineConfidence As Double = ocrResult.Lines(0).Confidence
' Get word confidence level
Dim wordConfidence As Double = ocrResult.Words(0).Confidence
' Get character confidence level
Dim characterConfidence As Double = ocrResult.Characters(0).Confidence
' Get block confidence level
Dim blockConfidence As Double = ocrResult.Blocks(0).Confidence
Praktyczny przykład: Filtrowanie według poziomu pewności
Podczas przetwarzania dokumentów o różnej jakości, takich jak skany niskiej jakości, można użyć wskaźników pewności, aby filtrować wyniki:
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}%)");
}
Imports IronOcr
Imports System.Linq
' Instantiate IronTesseract
Dim ocrTesseract As New IronTesseract()
' Configure for better accuracy
ocrTesseract.Configuration.ReadBarCodes = False
ocrTesseract.Configuration.PageSegmentationMode = TesseractPageSegmentationMode.AutoOsd
' Add image
Using imageInput As New OcrImageInput("invoice.png")
' Apply filters to improve quality
imageInput.Deskew()
imageInput.DeNoise()
' Perform OCR
Dim ocrResult As OcrResult = ocrTesseract.Read(imageInput)
' Filter words with confidence above 85%
Dim highConfidenceWords = ocrResult.Words _
.Where(Function(word) word.Confidence >= 85) _
.Select(Function(word) word.Text) _
.ToList()
' Process only high-confidence text
Dim reliableText As String = String.Join(" ", highConfidenceWords)
Console.WriteLine($"High confidence text: {reliableText}")
' Flag low-confidence words for manual review
Dim lowConfidenceWords = ocrResult.Words _
.Where(Function(word) word.Confidence < 85) _
.Select(Function(word) New With {Key .Text = word.Text, Key .Confidence = word.Confidence}) _
.ToList()
For Each word In lowConfidenceWords
Console.WriteLine($"Review needed: '{word.Text}' (Confidence: {word.Confidence:F2}%)")
Next
End Using
Jakie są opcje znaków w OCR?
Oprócz poziomu pewności istnieje jeszcze jedna interesująca właściwość o nazwie Choices. Opcje zawierają listę alternatywnych słów oraz ich statystyczną trafność. Te informacje pozwalają użytkownikowi uzyskać dostęp do innych możliwych znaków. Funkcja ta jest szczególnie przydatna przy pracy z wieloma językami lub specjalizowanymi czcionkami.
: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;
Imports IronOcr
Imports IronOcr.OcrResult
' Instantiate IronTesseract
Private ocrTesseract As New IronTesseract()
' Add image
Private imageInput = New OcrImageInput("Potter.tiff")
' Perform OCR
Private ocrResult As OcrResult = ocrTesseract.Read(imageInput)
' Get choices
Private choices() As Choice = ocrResult.Characters(0).Choices
Jak Alternatywne Wybory Znaków Pomagają?
Alternatywne wybory znaków oferują kilka korzyści:
- Rozwiązywanie Niejasności: Gdy znaki takie jak 'O' i '0', lub 'l' i '1' są mylone
- Wariacje Czcionki: Różne interpretacje dla stylizowanych lub dekoracyjnych czcionek
- Problemy z Jakością: Wiele możliwości przy obsłudze zdegradowanego tekstu
- Kontekst Językowy: Alternatywne interpretacje bazujące na zasadach językowych
Praca z Wyborem Znaków
Oto kompleksowy przykład pokazujący, jak używać wyboru znaków dla poprawienia dokładności:
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}%");
}
}
}
}
Imports IronOcr
Imports System
Imports System.Linq
Imports IronOcr.OcrResult
' Configure IronTesseract for detailed results
Dim ocrTesseract As New IronTesseract()
' Process image with potential ambiguities
Using imageInput As New OcrImageInput("ambiguous_text.png")
Dim ocrResult As OcrResult = ocrTesseract.Read(imageInput)
' Analyze character choices for each word
For Each word In ocrResult.Words
Console.WriteLine(vbCrLf & $"Word: '{word.Text}' (Confidence: {word.Confidence:F2}%)")
' Check each character in the word
For Each character In word.Characters
If character.Choices IsNot Nothing AndAlso character.Choices.Length > 1 Then
Console.WriteLine($" Character '{character.Text}' has alternatives:")
' Display all choices sorted by confidence
For Each choice In character.Choices.OrderByDescending(Function(c) c.Confidence)
Console.WriteLine($" - '{choice.Text}': {choice.Confidence:F2}%")
Next
End If
Next
Next
End Using
Zaawansowane Strategie Pewności
Przy pracy z wyspecjalizowanymi dokumentami jak paszporty, tablice rejestracyjne lub czeki MICR, oceny pewności stają się kluczowe dla walidacji:
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}$");
}
}
Imports IronOcr
Public Class DocumentValidator
Private ReadOnly ocr As New IronTesseract()
Public Function ValidatePassportNumber(imagePath As String, Optional minConfidence As Double = 95.0) As Boolean
Using input As 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
Dim result = ocr.Read(input)
' Find passport number pattern
Dim passportLine = result.Lines _
.Where(Function(line) line.Text.Contains("P<") OrElse IsPassportNumberFormat(line.Text)) _
.FirstOrDefault()
If passportLine IsNot Nothing Then
Console.WriteLine($"Passport line found: {passportLine.Text}")
Console.WriteLine($"Confidence: {passportLine.Confidence:F2}%")
' Only accept if confidence meets threshold
Return passportLine.Confidence >= minConfidence
End If
Return False
End Using
End Function
Private Function IsPassportNumberFormat(text As String) As Boolean
' Simple passport number validation
Return System.Text.RegularExpressions.Regex.IsMatch(text, "^[A-Z]\d{7,9}$")
End Function
End Class
Optymalizacja dla Lepszej Pewności
Aby uzyskać wyższe oceny pewności, rozważ użycie filtrów obrazu i technik preprocessingowych:
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}");
}
Imports IronOcr
' Create an optimized OCR workflow
Dim ocr As New IronTesseract()
Using input As 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
Dim result = ocr.Read(input)
Console.WriteLine($"Document confidence: {result.Confidence:F2}%")
' Generate confidence report
Dim confidenceReport = result.Pages _
.Select(Function(page, index) New With {
.PageNumber = index + 1,
.Confidence = page.Confidence,
.WordCount = page.Words.Length,
.LowConfidenceWords = page.Words.Count(Function(w) w.Confidence < 80)
})
For Each 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}")
Next
End Using
Podsumowanie
Zrozumienie i wykorzystywanie ocen pewności OCR jest niezbędne do budowania solidnych aplikacji do przetwarzania dokumentów. Wykorzystując właściwości pewności IronOCR i wybory znaków, programiści mogą wdrożyć inteligentną walidację, obsługę błędów i mechanizmy zapewnienia jakości w ich przepływach pracy OCR. Niezależnie od tego, czy przetwarzasz zrzuty ekranowe, tabele, czy wyspecjalizowane dokumenty, oceny pewności dostarczają metryki potrzebne do zapewnienia dokładnego wyodrębniania tekstu.
Często Zadawane Pytania
Czym jest wskaźnik pewności OCR i dłączego jest ważny?
Wskaźnik pewności OCR to miara w skali od 0 do 100, wskazująca, na ile system OCR jest pewny co do dokładności rozpoznawania tekstu. IronOCR udostępnia ten wskaźnik poprzez właściwość Confidence w każdym obiekcie OcrResult, pomagając programistom ocenić wiarygodność rozpoznanego tekstu, zwłaszcza podczas przetwarzania zeskanowanych dokumentów, zdjęć lub obrazów o różnej jakości tekstu.
Jak szybko sprawdzić poziom pewności OCR w języku C#?
Dzięki IronOCR można uzyskać pewność rozpoznania OCR za pomocą zaledwie jednej linii kodu: double confidence = new IronOcr.IronTesseract().Read("input.png").Confidence; Zwraca to wynik pewności w skali od 0 do 100, wskazujący, na ile IronOCR jest pewny rozpoznania tekstu.
Co oznaczają różne przedziały wyników pewności?
Wyniki zaufania IronOCR oznaczają: 90–100 (doskonałe) oznacza, że tekst jest bardzo wiarygodny; 80–89 (dobre) oznacza, że tekst jest ogólnie dokładny, z niewielkimi niepewnościami; 70–79 (umiarkowane) oznacza, że tekst może zawierać pewne błędy; poniżej 70 (niskie) oznacza, że tekst powinien zostać sprawdzony lub ponownie przetworzony.
Jak uzyskać dostęp do poziomów pewności dla różnych elementów tekstu?
IronOCR pozwala uzyskać poziomy pewności na wielu poziomach szczegółowości — stron, akapitów, wierszy, słów i poszczególnych znaków. Po wykonaniu OCR można uzyskać dostęp do właściwości Confidence na każdym poziomie poprzez strukturę obiektu OcrResult.
Czy mogę otrzymać propozycje alternatywnych słów wraz z oceną pewności?
Tak, IronOCR udostępnia właściwość Choices, która oferuje alternatywne propozycje słów wraz z ich wynikami pewności. Ta funkcja jest pomocna, gdy silnik OCR identyfikuje wiele możliwych interpretacji tego samego tekstu, umożliwiając wdrożenie inteligentnej logiki walidacji.
Jak zaimplementować walidację opartą na poziomie pewności w mojej aplikacji?
Po użyciu metody Read biblioteki IronOCR sprawdź właściwość Confidence obiektu OcrResult. Zastosuj logikę warunkówą opartą na progach pewności — na przykład automatycznie akceptuj wyniki powyżej 90, oznaczaj wyniki w przedziale 70–90 do weryfikacji oraz ponownie przetwarzaj lub ręcznie weryfikuj wyniki poniżej 70.

