Wie man DPI in OCR mit C#35 einstellt

This article was translated from English: Does it need improvement?
Translated
View the article in English

Setzen Sie die Eigenschaft TargetDPI in IronOCR's OcrInput, um Bilder mit niedriger Auflösung für eine bessere OCR-Genauigkeit hochzuskalieren. Diese Konfiguration kann die Texterkennung auf unscharfen oder verpixelten Dokumenten erheblich verbessern, selbst bei Auflösungen von nur 100 DPI.

Dots Per Inch (DPI) misst die Bildqualität und bestimmt den Detailgrad gescannter Dokumente oder digitaler Fotos. Das Einscannen von Dokumenten ist zwar schnell und effizient, führt aber oft zu Dateien mit geringer Auflösung, insbesondere wenn Standard- oder Schnellscaneinstellungen verwendet werden. Der Mangel an Details lässt den Text verschwommen oder verpixelt erscheinen und erschwert die Datenextraktion.

Die OCR-Leistung hängt von der Bildqualität ab. OCR-Engines analysieren Zeichenformen und -muster und wandeln sie in maschinenlesbaren Text um. Wenn ein Bild einen niedrigen DPI-Wert hat, gibt es nicht genügend Pixel, um jeden Buchstaben klar zu definieren, wodurch feine Details verloren gehen und zu ungenauen Ergebnissen führen. Für Entwickler, die mit gescannten Dokumenten oder älteren Digitalisierungssystemen arbeiten, ist das Verständnis der DPI-Optimierung entscheidend für eine zuverlässige Textextraktion.

IronOCR meistert diese Herausforderungen mit Bravour. Sie erreicht eine hohe Genauigkeit bei Scans mit einer Auflösung von nur 225 DPI. Die Bildvorverarbeitungsfunktionen der Bibliothek erkennen und kompensieren automatisch verschiedene Bildqualitätsprobleme, so dass sie für die Verarbeitung von Dokumenten aus verschiedenen Quellen geeignet ist. Ob bei der Implementierung von einfacher OCR in einer Codezeile oder beim Aufbau komplexer Dokumentenverarbeitungs-Pipelines, die DPI-Optimierung bleibt ein entscheidender Faktor.

als-Überschrift:2(Schnellstart: TargetDPI für schärfere OCR-Ergebnisse einstellen)

Konfigurieren Sie IronOCR so, dass Bilder mit niedriger Auflösung in einer Zeile hochskaliert werden, um die Textklarheit und -erkennung mit minimalem Aufwand zu verbessern.

Nuget IconLegen Sie jetzt mit NuGet los, um PDFs zu erstellen:

  1. Installieren Sie IronOCR mit dem NuGet-Paketmanager.

    PM > Install-Package IronOcr

  2. Kopieren Sie diesen Codeausschnitt und führen Sie ihn aus.

    var result = new IronOcr.IronTesseract().Read(new IronOcr.OcrInput { TargetDPI = 300 }.LoadImage("low-res.png"));
  3. Bereitstellen zum Testen in Ihrer Live-Umgebung

    Beginnen Sie noch heute mit der Nutzung von IronOCR in Ihrem Projekt – mit einer kostenlosen Testversion.
    arrow pointer

Wie stelle ich die DPI für bessere OCR-Ergebnisse ein?

In diesem Beispiel wird ein Beispielbild mit einer niedrigen Auflösung von etwa 100 DPI verwendet und künstliches Rauschen hinzugefügt, um die Wirksamkeit der Funktion TargetDPI zu demonstrieren. Bei der Arbeit mit der Klasse OcrInput, die eine umfassende Kontrolle über die Bildvorverarbeitung bietet, ist das Verständnis für die Konfiguration der DPI-Einstellungen unerlässlich.

Der tatsächliche Text im Bild lautet: "Testing testing testing verschwommener Text Beispiel Beispiel Beispiel".

Beispiel für eine niedrige Auflösung von 100 DPI mit verschwommenem, verpixeltem Text, der eine schlechte OCR-Eingabequalität zeigt

Welchen Code benötige ich, um die DPI eines Bildes zu erhöhen?

In diesem Beispiel setzen wir die TargetDPI auf 300, um die Bildauflösung hochzuskalieren. Dann laden wir das Eingabebild und geben den extrahierten Text mit Text und die Konfidenzstufe mit Konfidenz aus. Die optimale DPI-Einstellung liegt in der Regel zwischen 250 und 400 DPI, je nach Anwendungsfall und Qualität des Quellmaterials. Für fortgeschrittene Szenarien, die mehrere Bildfilter beinhalten, lesen Sie bitte unseren Leitfaden zu OCR-Bildoptimierungsfiltern.

:path=/static-assets/ocr/content-code-examples/how-to/dpi-setting.cs
using IronOcr;
using System;

var ocrTesseract = new IronTesseract();

using var ocrInput = new OcrInput();
// Set the target DPI to 300 for better OCR accuracy
ocrInput.TargetDPI = 300;

ocrInput.LoadImage(@"images\image.png");

// Perform OCR on the image with the specified DPI
var ocrResult = ocrTesseract.Read(ocrInput);
// Display the text extracted from the image
Console.WriteLine(ocrResult.Text);
// Display the confidence level of the OCR result
Console.WriteLine(ocrResult.Confidence);
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Welche Ergebnisse kann ich mit Upscaled DPI erwarten?

Debug-Konsole mit OCR-Ergebnissen: extrahierter Text mit 85 % Konfidenzniveau nach DPI-Optimierung

Das Ergebnis zeigt, dass IronOCR eine Konfidenzrate von 85 % erreicht hat. Trotz des starken Rauschens und der niedrigen Ausgangs-DPI des Quellbildes ist das Ergebnis genau, was die Wirksamkeit der Hochskalierungsfunktion beweist. Dieses Genauigkeitsniveau übertrifft herkömmliche OCR-Lösungen, die mit minderwertigen Eingaben zu kämpfen haben. Für Anwendungen, die eine noch höhere Genauigkeit erfordern, sollten Sie die Implementierung einer Fortschrittskontrolle in Betracht ziehen, um das Vertrauensniveau in Echtzeit zu überwachen und die Einstellungen dynamisch anzupassen.

IronOCR enthält integrierte Funktionen zur automatischen Verbesserung von Bildern mit niedriger Auflösung durch Hochskalierung innerhalb einer einzigen Bibliothek. Dieser Ansatz macht externe Bildverarbeitungs-Tools überflüssig, rationalisiert Ihren Workflow und reduziert Abhängigkeiten. Für Entwickler, die mit IronOCR unter Windows einsteigen, funktioniert diese Funktion sofort ohne zusätzliche Konfiguration.

Wie wirkt sich die DPI-Einstellung auf die OCR-Genauigkeit aus?

Um den Unterschied zu verdeutlichen, hier das Ergebnis der Verarbeitung desselben niedrig aufgelösten Bildes ohne die TargetDPI-Eigenschaft. Dieser Vergleich zeigt, warum die richtige DPI-Konfiguration für eine zuverlässige Textextraktion entscheidend ist.

Das Finden der richtigen DPI erfordert Ausgewogenheit. Ein hoher DPI-Wert bietet mehr Genauigkeit, aber eine langsamere Verarbeitung; niedrige DPI sind schneller, aber weniger zuverlässig. Im Zweifelsfall lassen Sie die automatische Vorverarbeitung von IronTesseract die optimalen Einstellungen bestimmen. Sie können die automatische Hochskalierung deaktivieren, indem Sie die TargetDPI-Eigenschaft auf 0 setzen. Für spezielle Anwendungen lesen Sie unseren Leitfaden zur Tesseract-Bild-DPI-Optimierung.

Was passiert ohne DPI-Upscaling?

Debug-Konsole zeigt schlechte OCR-Ergebnisse: verstümmelter Text mit 79 % Konfidenz, was auf eine niedrige DPI-Extraktionsqualität hinweist

Ohne Upscaling sinkt die Konfidenzbewertung auf 79%, und der extrahierte Text ist deutlich weniger genau. Dieser Vergleich zeigt, wie die Einstellung eines TargetDPI die OCR-Ergebnisse bei Bildern mit niedriger Qualität verbessert. Der Unterschied wird noch deutlicher, wenn es um komplexe Dokumente geht, die Tabellen, Formulare oder mehrspaltige Layouts enthalten.

Wie stelle ich die DPI für PDF-Dokumente ein?

Bei der Verarbeitung einer PDF-Datei skaliert IronOCR das gesamte Dokument auf die Ziel-DPI hoch, nicht nur die Bilder darin. Dieser umfassende Ansatz gewährleistet eine einheitliche Qualität des gesamten Dokuments, was für die PDF OCR Textextraktion in Geschäftsanwendungen wichtig ist. Für die fortgeschrittene PDF-Verarbeitung, wie z. B. die Arbeit mit durchsuchbaren PDFs, wird die richtige DPI-Konfiguration noch wichtiger.

Ein höherer DPI-Wert führt zwar oft zu besseren OCR-Ergebnissen, aber die optimale Einstellung variiert je nach PDF-Datei. Wenn Sie sich nicht sicher sind, welchen Wert Sie verwenden sollen, belassen Sie die DPI auf der Standardeinstellung und lassen Sie IronOCR die beste Konfiguration automatisch ermitteln. Die Algorithmen der Bibliothek analysieren Dokumenteneigenschaften wie Schriftgröße, Bildqualität und Inhaltsdichte, um geeignete Vorverarbeitungsparameter auszuwählen.

// Example: Processing a PDF with custom DPI settings
using IronOcr;

var ocrTesseract = new IronTesseract();

using var ocrInput = new OcrInput();

// Configure DPI specifically for PDF processing
ocrInput.TargetDPI = 250; // Lower DPI often works well for PDFs

// Load a multi-page PDF document
ocrInput.LoadPdf(@"documents\scanned-report.pdf");

// Optional: Process only specific pages
// ocrInput.LoadPdf(@"documents\scanned-report.pdf", PageSelection: new int[] {1, 3, 5});

// Apply additional filters if needed
ocrInput.DeNoise(); // Remove digital noise
ocrInput.Sharpen(); // Enhance text edges

// Perform OCR with confidence tracking
var ocrResult = ocrTesseract.Read(ocrInput);

// Process results page by page
foreach (var page in ocrResult.Pages)
{
    Console.WriteLine($"Page {page.PageNumber}: {page.Confidence}% confidence");
    Console.WriteLine(page.Text);
}
// Example: Processing a PDF with custom DPI settings
using IronOcr;

var ocrTesseract = new IronTesseract();

using var ocrInput = new OcrInput();

// Configure DPI specifically for PDF processing
ocrInput.TargetDPI = 250; // Lower DPI often works well for PDFs

// Load a multi-page PDF document
ocrInput.LoadPdf(@"documents\scanned-report.pdf");

// Optional: Process only specific pages
// ocrInput.LoadPdf(@"documents\scanned-report.pdf", PageSelection: new int[] {1, 3, 5});

// Apply additional filters if needed
ocrInput.DeNoise(); // Remove digital noise
ocrInput.Sharpen(); // Enhance text edges

// Perform OCR with confidence tracking
var ocrResult = ocrTesseract.Read(ocrInput);

// Process results page by page
foreach (var page in ocrResult.Pages)
{
    Console.WriteLine($"Page {page.PageNumber}: {page.Confidence}% confidence");
    Console.WriteLine(page.Text);
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Warnung Der Höchstwert für TargetDPI ist 32.766. Die Einstellung eines DPI-Wertes über diesem Limit führt zu einer Ausnahme. Dies geschieht, weil die resultierenden Bildabmessungen Tesseracts maximal unterstützte Größe von 32.767 x 32.767 Pixeln überschreiten würden. Wenn das Limit überschritten wird, erhalten Sie folgende Fehlermeldung: 'TargetDPI ist zu hoch und würde zu einem Bild führen, das zu groß ist ({new_width} x {new_height}) für Tesseract. Die maximale Bildgröße für Tesseract beträgt 32767 x 32767'

Für Unternehmensanwendungen, die große Mengen an Dokumenten verarbeiten, sollten Sie eine Strategie zur dynamischen DPI-Anpassung in Betracht ziehen. Beginnen Sie mit einer moderaten Einstellung (300 DPI) und passen Sie sie je nach Vertrauenswürdigkeit an. Dieser Ansatz stellt ein Gleichgewicht zwischen Verarbeitungsgeschwindigkeit und Genauigkeit her und gewährleistet eine optimale Leistung bei verschiedenen Dokumenttypen. Die Kombination der DPI-Optimierung mit anderen Preprocessing-Techniken kann bei anspruchsvollen Dokumenten zu besseren Ergebnissen führen.

Bei der Arbeit mit bestimmten Dokumenttypen können die DPI-Anforderungen variieren. Zum Beispiel erfordert das Lesen von Nummernschildern in der Regel höhere DPI-Einstellungen aufgrund der geringen Zeichengröße und möglicher Bildverzerrungen durch Kamerawinkel. In ähnlicher Weise profitiert die Verarbeitung von MICR-Schecks von spezifischen DPI-Konfigurationen, um spezielle MICR-Schriftzeichen genau zu erfassen.

Für Entwickler, die OCR in Webanwendungen oder Cloud-Dienste integrieren, ist das Verständnis der DPI-Optimierung entscheidend für die Verwaltung von Verarbeitungszeiten und Serverressourcen. Die Möglichkeit zur Feinabstimmung der DPI-Einstellungen ermöglicht es Ihnen, das Gleichgewicht zwischen Genauigkeit und Leistung auf der Grundlage Ihrer spezifischen Anwendungsanforderungen und Infrastrukturbeschränkungen zu optimieren.

Häufig gestellte Fragen

Was ist DPI und warum ist es wichtig für die OCR-Genauigkeit?

DPI (Dots Per Inch) misst die Bildqualität und bestimmt den Detailgrad gescannter Dokumente. Für die OCR-Genauigkeit bedeutet ein höherer DPI-Wert klarere Zeichendefinitionen. IronOCR kann dank seiner fortschrittlichen Bildvorverarbeitungsfunktionen Bilder mit einer Auflösung von nur 225 DPI verarbeiten und dabei eine hohe Genauigkeit beibehalten.

Wie kann ich die OCR-Ergebnisse bei Bildern mit niedriger Auflösung verbessern?

Legen Sie die Eigenschaft TargetDPI in der OcrInput-Klasse von IronOCR fest, um Bilder mit niedriger Auflösung hochzuskalieren. Die Einstellung von TargetDPI auf 300 kann beispielsweise die Texterkennung bei unscharfen oder verpixelten Dokumenten erheblich verbessern, sogar bei Dokumenten mit einer Auflösung von nur 100 DPI.

Wie kann ich die DPI für OCR in C# am schnellsten einstellen?

Sie können die DPI mit IronOCR in einer Zeile Code konfigurieren: var result = new IronOcr.IronTesseract().Read(new IronOcr.OcrInput { TargetDPI = 300 }.LoadImage("low-res.png")). Dadurch wird Ihr Bild automatisch hochskaliert, um die Klarheit und Erkennbarkeit des Textes zu verbessern.

Kann OCR bei gescannten Dokumenten mit niedriger Auflösung effektiv arbeiten?

Ja, IronOCR wurde speziell dafür entwickelt, gescannte Dokumente mit niedriger Auflösung effektiv zu verarbeiten. Es erreicht eine hohe Genauigkeit bei Scans mit einer Auflösung von nur 225 DPI und enthält automatische Bildvorverarbeitungsfunktionen, die verschiedene Qualitätsprobleme erkennen und ausgleichen.

Was sind die grundlegenden Schritte zur Implementierung von DPI-Einstellungen für OCR?

Der Prozess umfasst fünf Schritte: 1) Herunterladen der IronOCR-Bibliothek, 2) Instanziieren eines neuen OcrInput-Objekts, 3) Einstellen der Eigenschaft TargetDPI auf den gewünschten Wert, 4) Laden des Bildes mit der LoadImage-Methode und 5) Extrahieren des Textes mit der Read-Methode.

Warum führen die Standard-Scaneinstellungen oft zu einer schlechten OCR-Leistung?

Standard- oder Schnellscan-Einstellungen erzeugen normalerweise Dateien mit geringer Auflösung, um Zeit und Speicherplatz zu sparen. Dies führt zu verschwommenem oder verpixeltem Text, bei dem feine Details verloren gehen, was es für OCR-Engines schwierig macht, Zeichenformen genau zu erkennen. Mit der TargetDPI-Funktion von IronOCR lässt sich diese Einschränkung überwinden.

Curtis Chau
Technischer Autor

Curtis Chau hat einen Bachelor-Abschluss in Informatik von der Carleton University und ist spezialisiert auf Frontend-Entwicklung mit Expertise in Node.js, TypeScript, JavaScript und React. Leidenschaftlich widmet er sich der Erstellung intuitiver und ästhetisch ansprechender Benutzerschnittstellen und arbeitet gerne mit modernen Frameworks sowie der Erstellung gut strukturierter, optisch ansprechender ...

Weiterlesen
Bereit anzufangen?
Nuget Downloads 5,246,844 | Version: 2025.12 gerade veröffentlicht