OCR Software Konfidenzwerte verstehen – Texterkennung Genauigkeit messen in C
Die Lesesicherheit von IronOCR gibt an, wie sicher sich die OCR Software der Genauigkeit des erkannten Textes ist. Die Werte reichen von 0 bis 100, wobei höhere Werte eine größere Zuverlässigkeit der Texterkennung bedeuten. Sie können über die Confidence Eigenschaft eines beliebigen OcrResult Objekts darauf zugreifen.
Lesevertrauen in der OCR Software (Optische Zeichenerkennung) bezieht sich auf das Maß an Sicherheit, das dem erkannten Text bei der Bild zu Text Extraktion zugewiesen wird. Es ist ein Maß dafür, wie sicher die Texterkennung ist, dass das Ergebnis korrekt ist. Diese Metrik ist besonders wichtig bei der Verarbeitung von gescannten Dokumenten, Fotos oder anderen Bildern, bei denen die Textqualität variieren kann.
Ein hoher Vertrauenswert zeigt eine hohe Sicherheit an, dass die Erkennung genau ist, während ein niedriger Vertrauenswert darauf hindeutet, dass die Erkennung weniger zuverlässig sein könnte. Das Verständnis dieser Vertrauensebenen hilft den Entwicklern, eine angemessene Validierungslogik und Fehlerbehandlung in ihren Anwendungen zu implementieren.
Schnellstart: OCR-Lesesicherheit in einer Zeile erreichen
Verwenden Sie die Methode Read von IronTesseract mit einem Bilddateipfad und greifen Sie dann auf die Eigenschaft Confidence des zurückgegebenen OcrResult zu, um zu sehen, wie sicher IronOCR sich seiner Texterkennung ist. Dies ist eine einfache und zuverlässige Methode, um die Genauigkeit der OCR-Ausgabe zu bewerten.
-
Installieren Sie IronOCR mit NuGet Package Manager
PM > Install-Package IronOcr -
Kopieren Sie diesen Codeausschnitt und führen Sie ihn aus.
double confidence = new IronOcr.IronTesseract().Read("input.png").Confidence; -
Bereitstellen zum Testen in Ihrer Live-Umgebung
Beginnen Sie noch heute, IronOCR in Ihrem Projekt zu verwenden, mit einer kostenlosen Testversion
Minimaler Arbeitsablauf (5 Schritte)
- Laden Sie eine C#-Bibliothek herunter, um auf Lesesicherheit zuzugreifen.
- Bereiten Sie das Zielbild und das PDF-Dokument vor
- Access the **`Confidence`** property of the OCR result
- Abrufen der Zuverlässigkeit von Seiten, Absätzen, Zeilen, Wörtern und Zeichen
- Check the **`Choices`** property for alternative word choices
Wie erhalte ich Lesevertrauen in C#?
Nach der Durchführung der OCR auf dem Eingabebild wird die Vertrauensstufe des Textes in der Confidence-Eigenschaft gespeichert. Verwenden Sie die 'using'-Anweisung, um Objekte nach Gebrauch automatisch zu entsorgen. Fügen Sie Dokumente wie Bilder und PDFs mit den Klassen OcrImageInput bzw. OcrPdfInput hinzu. Die Methode Read gibt ein OcrResult- Objekt zurück, das den Zugriff auf die Confidence- Eigenschaft ermöglicht.
: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
Der zurückgegebene Konfidenzwert reicht von 0 bis 100, wobei:
- 90-100: Ausgezeichnetes Vertrauen - Der Text ist sehr zuverlässig
- 80-89: Gutes Vertrauen - Der Text ist im Allgemeinen genau mit kleinen Unsicherheiten
- 70-79: Mäßiges Vertrauen - Text kann einige Fehler enthalten
- Besser als 70: Geringes Vertrauen - Der Text sollte überarbeitet oder nachbearbeitet werden
Wie kann ich Vertrauen auf verschiedenen Ebenen gewinnen?
Sie können nicht nur die Vertrauensstufe des gesamten Dokuments abrufen, sondern auch die Vertrauensstufen jeder Seite, jedes Absatzes, jeder Zeile, jedes Wortes und jedes Zeichens. Darüber hinaus können Sie das Vertrauen in einen Block erhalten, der eine Sammlung von einem oder mehreren Absätzen darstellt, die eng beieinander liegen.
: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
Praktisches Beispiel: Filtern nach Konfidenz
Bei der Verarbeitung von Dokumenten mit unterschiedlicher Qualität, wie z. B. Scans mit geringer Qualität, können Sie die Ergebnisse anhand von Vertrauenswerten filtern:
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
Was ist die Zeichenauswahl bei OCR?
Neben der Vertrauensstufe gibt es auch eine interessante Eigenschaft namens Choices. Choices enthalten eine Liste von alternativen Wortwahlen und deren statistische Relevanz. Diese Information ermöglicht es dem Benutzer, auf andere mögliche Zeichen zuzugreifen. Diese Funktion ist besonders nützlich, wenn mit mehreren Sprachen oder speziellen Schriftarten gearbeitet wird.
: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
Wie helfen alternative Zeichenwahlen?
Die Auswahl alternativer Zeichen bietet mehrere Vorteile:
- Ambiguity Resolution: Wenn Zeichen wie 'O' und '0', oder 'l' und '1' verwechselt werden
- Schriftvariationen: Unterschiedliche Interpretationen für stilisierte oder dekorative Schriftarten
- Qualitätsaspekte: Mehrere Möglichkeiten beim Umgang mit minderwertigem Text
- Sprachlicher Kontext: Alternative Interpretationen auf der Grundlage von Sprachregeln
Arbeiten mit Zeichenauswahl
Hier finden Sie ein umfassendes Beispiel, das zeigt, wie Sie die Zeichenauswahl zur Verbesserung der Genauigkeit nutzen können:
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
Vertrauensstrategien für Fortgeschrittene
Bei der Arbeit mit spezialisierten Dokumenten wie Reisepässen, Lizenzschildern oder MICR-Schecks sind Vertrauenswerte für die Validierung entscheidend:
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
Optimierung für mehr Vertrauen
Um höhere Konfidenzwerte zu erzielen, sollten Sie Bildfilter und Vorverarbeitungstechniken verwenden:
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
Zusammenfassung
Das Verständnis und die Verwendung von OCR-Konfidenzwerten ist für die Entwicklung robuster Anwendungen zur Dokumentenverarbeitung unerlässlich. Durch die Nutzung der Konfidenz-Eigenschaften von IronOCR und der Zeichenauswahl können Entwickler intelligente Validierungs-, Fehlerbehandlungs- und Qualitätssicherungsmechanismen in ihre OCR-Workflows implementieren. Unabhängig davon, ob Sie Screenshots, Tabellen oder spezialisierte Dokumente verarbeiten, liefern Konfidenzwerte die notwendigen Metriken, um eine genaue Textextraktion zu gewährleisten.
Häufig gestellte Fragen
Was ist OCR-Vertrauen und warum ist es wichtig?
OCR-Konfidenz ist ein Maß von 0 bis 100, das angibt, wie sicher das OCR-System bei der Texterkennungsgenauigkeit ist. IronOCR stellt diese Metrik über die Confidence-Eigenschaft jedes OcrResult-Objekts zur Verfügung und hilft Entwicklern, die Zuverlässigkeit des erkannten Texts zu bewerten, insbesondere bei der Verarbeitung von gescannten Dokumenten, Fotos oder Bildern mit unterschiedlicher Textqualität.
Wie kann ich die OCR-Sicherheit in C# schnell überprüfen?
Mit IronOCR können Sie die OCR-Vertrauenswürdigkeit in nur einer Codezeile ermitteln: double confidence = new IronOcr.IronTesseract().Read("input.png").Confidence; Dies liefert einen Vertrauenswert zwischen 0-100, der angibt, wie sicher IronOCR bei der Texterkennung ist.
Was bedeuten die verschiedenen Vertrauensbereiche?
Die IronOCR-Konfidenzwerte zeigen an: 90-100 (Exzellent) bedeutet, dass der Text sehr zuverlässig ist; 80-89 (Gut) bedeutet, dass der Text im Allgemeinen genau ist, mit kleinen Unsicherheiten; 70-79 (Mäßig) bedeutet, dass der Text einige Fehler enthalten kann; unter 70 (Niedrig) bedeutet, dass der Text überarbeitet oder neu bearbeitet werden sollte.
Wie erhalte ich Zugriff auf die Konfidenzstufen für verschiedene Textelemente?
IronOCR ermöglicht es Ihnen, Konfidenzniveaus auf verschiedenen Ebenen abzurufen - Seiten, Absätze, Zeilen, Wörter und einzelne Zeichen. Nach der OCR können Sie auf die Confidence-Eigenschaft auf jeder Ebene über die OcrResult-Objektstruktur zugreifen.
Kann ich alternative Wortvorschläge mit Vertrauenswerten erhalten?
Ja, IronOCR bietet eine Choices-Eigenschaft, die alternative Wortwahlmöglichkeiten zusammen mit ihren Konfidenzwerten anbietet. Diese Funktion ist hilfreich, wenn die OCR-Engine mehrere mögliche Interpretationen desselben Textes identifiziert, so dass Sie eine intelligente Validierungslogik implementieren können.
Wie implementiere ich die vertrauensbasierte Validierung in meiner Anwendung?
Überprüfen Sie nach der Verwendung der Read-Methode von IronOCR die Confidence-Eigenschaft des OcrResult. Implementieren Sie eine bedingte Logik, die auf Konfidenzschwellen basiert - z. B. automatische Annahme von Ergebnissen über 90, Kennzeichnung von Ergebnissen zwischen 70-90 zur Überprüfung und erneute Verarbeitung oder manuelle Überprüfung von Ergebnissen unter 70.

