Computer Vision für Texterkennung in C# – IronOCR Bild zu Text
IronOCR verwendet OpenCV Computer Vision, um Textbereiche in Bildern vor der OCR-Verarbeitung automatisch zu erkennen. Diese OCR Software verbessert die Texterkennung bei verrauschtem oder verzerrtem Text erheblich, da die Tesseract-Engine sich nur auf die identifizierten Textbereiche konzentriert – für bessere Bild zu Text Ergebnisse.
Schnellstart: Erkennen und OCR des primären Textbereichs
Dieses Beispiel demonstriert die sofortige Textextraktion: Laden Sie ein Bild, verwenden Sie die Computer Vision von IronOCR, um den Haupttextbereich mit FindTextRegion() automatisch zu erkennen, und führen Sie dann .Read(...) aus, um Text in einer Zeile zu extrahieren.
-
Installieren Sie IronOCR mit NuGet Package Manager
PM > Install-Package IronOcr -
Kopieren Sie diesen Codeausschnitt und führen Sie ihn aus.
using var result = new IronTesseract().Read(new OcrInput().LoadImage("image.png").FindTextRegion()); -
Bereitstellen zum Testen in Ihrer Live-Umgebung
Beginnen Sie noch heute, IronOCR in Ihrem Projekt zu verwenden, mit einer kostenlosen Testversion
- Wie man ein Nummernschild in C# OCRt (Tutorial)
- Wie man Text von einer Rechnung in C# erhält (Tutorial)
- Wie man Text von einem Screenshot in C# OCRt
- Wie man Untertitel in C# OCRt (Tutorial)
Minimaler Arbeitsablauf (5 Schritte)
- Herunterladen einer C#-Bibliothek zur Verwendung von OCR mit Computer Vision
- Verwenden Sie die Methodee `FindTextRegion`, um Textbereiche automatisch zu erkennen
- Prüfen, welcher Textbereich mit der Methodee `StampCropRectangleAndSaveAs` erkannt wurde
- Verwenden Sie Computer Vision, um das Originalbild mit der Methodee `FindMultipleTextRegions` in Bilder zu unterteilen, die auf Textregionen basieren
- Verwenden Sie die Methodee `GetTextRegions`, um die Liste der Beschnittbereiche zu erhalten, in denen Text erkannt wurde
Wie installiere ich IronOcr.ComputerVision über das NuGet-Paket?
OpenCV-Methodeen, die Computer Vision in IronOCR ausführen, sind im regulären IronOCR NuGet-Paket sichtbar. Eine ausführliche Anleitung zur Installation finden Sie in unserer NuGet-Installationsanleitung.
Warum benötigt IronOCR ein separates Computer Vision Paket?
Die Verwendung dieser Methodeen erfordert die Installation von IronOcr.ComputerVision über NuGet in der Projektmappe. Sie werden aufgefordert, es herunterzuladen, wenn Sie es nicht installiert haben. Die Computer-Vision-Funktionalität nutzt OpenCV-Algorithmen, die die Genauigkeit der Texterkennung erheblich verbessern, ähnlich wie die Techniken, die in unseren Funktionen Kennzeichenerkennung und Reisepass-Scanning verwendet werden.
Welches plattformspezifische Paket sollte ich installieren?
- Windows:
IronOcr.ComputerVision.Windows- Siehe unsere Windows-Einrichtungsanleitung - Linux:
IronOcr.ComputerVision.Linux- Schau dir unser Linux-Installations-Tutorial an - macOS:
IronOcr.ComputerVision.MacOS- Lesen Sie unsere macOS-Einrichtungsanleitung - macOS ARM:
IronOcr.ComputerVision.MacOS.ARM
Wie installiere ich mit der Paketmanager-Konsole?
Installieren Sie es mit dem NuGet-Paket-Manager oder fügen Sie das Folgende in die Paket-Manager-Konsole ein:
Install-Package IronOcr.ComputerVision.Windows
Dies liefert die notwendigen Baugruppen, um IronOcr Computer Vision mit unserer Modelldatei zu verwenden.
Welche Computer Vision Methodeen sind in IronOCR verfügbar?
Code-Beispiele sind weiter unten in diesem Tutorial enthalten. Im Folgenden finden Sie einen allgemeinen Überblick über die derzeit verfügbaren Methodeen:
| Methode | Erläuterung |
|---|---|
| Textbereich finden | Erkennen Sie Regionen, die Textelemente enthalten, und weisen Sie Tesseract an, nur innerhalb des Bereichs, in dem Text erkannt wurde, nach Text zu suchen. |
| Mehrere Textbereiche finden | Erkennen Sie Bereiche, die Textelemente enthalten, und unterteilen Sie die Seite in separate Bilder, die auf den Textbereichen basieren. |
| GetTextRegions | Scans the image and returns a list of text regions as `List |
Wie verwende ich FindTextRegion, um Textbereiche zu erkennen?
FindTextRegion verwendet Computer Vision, um Bereiche zu erkennen, die Textelemente auf jeder Seite eines OcrInput Objekts enthalten. Diese Methodee ist besonders nützlich bei der Verarbeitung von Bildern mit verstreutem Text oder wenn Sie die Leistung verbessern müssen, indem Sie sich nur auf texthaltige Bereiche konzentrieren.
Was ist die grundlegende Verwendung von FindTextRegion?
:path=/static-assets/ocr/content-code-examples/how-to/computer-vision-findtextregion-1.cs
using IronOcr;
var ocr = new IronTesseract();
using var input = new OcrInput();
input.LoadImage("/path/file.png");
input.FindTextRegion();
OcrResult result = ocr.Read(input);
string resultText = result.Text;
Imports IronOcr
Private ocr = New IronTesseract()
Private input = New OcrInput()
input.LoadImage("/path/file.png")
input.FindTextRegion()
Dim result As OcrResult = ocr.Read(input)
Dim resultText As String = result.Text
IronOcr 2025.6.x als veraltet markiert und akzeptiert keine benutzerdefinierten Parameter.Wie kann ich die Parameter von FindTextRegion anpassen?
Rufen Sie diese Methodee mit benutzerdefinierten Parametern auf, um die Texterkennung feinabzustimmen. Diese Parameter funktionieren ähnlich wie unsere Bildfilterkonfigurationen:
:path=/static-assets/ocr/content-code-examples/how-to/computer-vision-findtextregion-2.cs
using IronOcr;
var ocr = new IronTesseract();
using var input = new OcrInput();
input.LoadImage("/path/file.png");
input.FindTextRegion(Scale: 2.0, DilationAmount: 20, Binarize: true, Invert: true);
OcrResult result = ocr.Read(input);
string resultText = result.Text;
Imports IronOcr
Private ocr = New IronTesseract()
Private input = New OcrInput()
input.LoadImage("/path/file.png")
input.FindTextRegion(Scale:= 2.0, DilationAmount:= 20, Binarize:= True, Invert:= True)
Dim result As OcrResult = ocr.Read(input)
Dim resultText As String = result.Text
Wie sieht FindTextRegion in der Praxis aus?
In diesem Beispiel verwende ich das folgende Bild für eine Methodee, bei der Bereiche mit Text beschnitten werden müssen, aber die Eingabebilder können in der Textposition variieren. Ich verwende FindTextRegion, um den Scan auf einen Bereich einzugrenzen, in dem Computer Vision Text erkannt hat. Dieser Ansatz ähnelt den Techniken, die in unserem Tutorial zu Inhaltsbereichen und Ausschnittregionen verwendet werden. Dies ist ein Beispielbild:
:path=/static-assets/ocr/content-code-examples/how-to/computer-vision-findtextregion-3.cs
using IronOcr;
using IronSoftware.Drawing;
using System;
using System.Linq;
var ocr = new IronTesseract();
using var input = new OcrInput();
input.LoadImage("wh-words-sign.jpg");
// Find the text region using Computer Vision
Rectangle textCropArea = input.GetPages().First().FindTextRegion();
// For debugging and demonstration purposes, lets see what region it found:
input.StampCropRectangleAndSaveAs(textCropArea, Color.Red, "image_text_area", AnyBitmap.ImageFormat.Png);
// Looks good, so let us apply this region to hasten the read:
var ocrResult = ocr.Read("wh-words-sign.jpg", textCropArea);
Console.WriteLine(ocrResult.Text);
Imports IronOcr
Imports IronSoftware.Drawing
Imports System
Imports System.Linq
Private ocr = New IronTesseract()
Private input = New OcrInput()
input.LoadImage("wh-words-sign.jpg")
' Find the text region using Computer Vision
Dim textCropArea As Rectangle = input.GetPages().First().FindTextRegion()
' For debugging and demonstration purposes, lets see what region it found:
input.StampCropRectangleAndSaveAs(textCropArea, Color.Red, "image_text_area", AnyBitmap.ImageFormat.Png)
' Looks good, so let us apply this region to hasten the read:
Dim ocrResult = ocr.Read("wh-words-sign.jpg", textCropArea)
Console.WriteLine(ocrResult.Text)
Wie debugge und überprüfe ich die Erkennung von Textbereichen?
Dieser Code hat zwei Ausgaben. Die erste ist eine .png Datei, die von StampCropRectangleAndSaveAs gespeichert wurde und zum Debuggen verwendet wird. Diese Technik wird auch in unserem Leitfaden Highlight-Texte für die Fehlersuche behandelt. Wir können sehen, wo IronCV (Computer Vision) den Text erkannt hat:
Die Erkennung identifiziert den Textbereich genau. Die zweite Ausgabe ist der Text selbst:
IRONSOFTWARE
50,000+
Developers in our active community
10,777,061 19,313
NuGet downloads Support tickets resolved
50%+ 80%+
Engineering Team growth Support Team growth
$25,000+
Raised with #TEAMSEAS to clean our beaches & waterways
Wie verwende ich FindMultipleTextRegions für mehrere Textbereiche?
FindMultipleTextRegions nimmt alle Seiten eines OcrInput Objekts und verwendet Computer Vision, um Bereiche zu erkennen, die Textelemente enthalten. Anschließend teilt es die Eingabe anhand der Textregionen in separate Bilder auf. Dies ist besonders nützlich für die Bearbeitung von Dokumenten mit mehreren unterschiedlichen Textbereichen, ähnlich wie bei unserer Tabelle im Dokument lesen-Funktionalität:
Was ist die grundlegende FindMultipleTextRegions-Verwendung?
:path=/static-assets/ocr/content-code-examples/how-to/computer-vision-findmultipletextregions-1.cs
using IronOcr;
var ocr = new IronTesseract();
using var input = new OcrInput();
input.LoadImage("/path/file.png");
input.FindMultipleTextRegions();
OcrResult result = ocr.Read(input);
string resultText = result.Text;
Imports IronOcr
Private ocr = New IronTesseract()
Private input = New OcrInput()
input.LoadImage("/path/file.png")
input.FindMultipleTextRegions()
Dim result As OcrResult = ocr.Read(input)
Dim resultText As String = result.Text
FindMultipleTextRegions keine benutzerdefinierten Parameter mehr.Wie kann ich die Parameter von FindMultipleTextRegions anpassen?
Rufen Sie diese Methodee mit benutzerdefinierten Parametern auf, um zu steuern, wie die Regionen erkannt und getrennt werden:
:path=/static-assets/ocr/content-code-examples/how-to/computer-vision-findmultipletextregions-2.cs
using IronOcr;
var ocr = new IronTesseract();
using var input = new OcrInput();
input.LoadImage("/path/file.png");
input.FindMultipleTextRegions(Scale: 2.0, DilationAmount: -1, Binarize: true, Invert: false);
OcrResult result = ocr.Read(input);
string resultText = result.Text;
Imports IronOcr
Private ocr = New IronTesseract()
Private input = New OcrInput()
input.LoadImage("/path/file.png")
input.FindMultipleTextRegions(Scale:= 2.0, DilationAmount:= -1, Binarize:= True, Invert:= False)
Dim result As OcrResult = ocr.Read(input)
Dim resultText As String = result.Text
Wie kann ich einzelne Seiten mit FindMultipleTextRegions verarbeiten?
Eine weitere überladene Methodee von FindMultipleTextRegions nimmt eine OCR-Seite entgegen und gibt eine Liste von OCR-Seiten zurück, eine für jeden Textbereich darauf. Dieser Ansatz hilft beim Umgang mit komplexen Layouts, ähnlich den Techniken, die in unserem Multipage TIFF Processing Guide beschrieben sind:
:path=/static-assets/ocr/content-code-examples/how-to/computer-vision-findmultipletextregions-3.cs
using IronOcr;
using System.Collections.Generic;
using System.Linq;
int pageIndex = 0;
using var input = new OcrInput();
input.LoadImage("/path/file.png");
var selectedPage = input.GetPages().ElementAt(pageIndex);
List<OcrInputPage> textRegionsOnPage = selectedPage.FindMultipleTextRegions();
Imports IronOcr
Imports System.Collections.Generic
Imports System.Linq
Private pageIndex As Integer = 0
Private input = New OcrInput()
input.LoadImage("/path/file.png")
Dim selectedPage = input.GetPages().ElementAt(pageIndex)
Dim textRegionsOnPage As List(Of OcrInputPage) = selectedPage.FindMultipleTextRegions()
Wie verwende ich GetTextRegions, um Textbereichskoordinaten zu erhalten?
GetTextRegions gibt eine Liste der beschnittenen Bereiche zurück, in denen auf einer Seite Text erkannt wurde. Diese Methodee ist besonders nützlich, wenn Sie die Koordinaten von Textregionen für die weitere Verarbeitung benötigen oder wenn Sie benutzerdefinierte OCR-Workflows implementieren. Weitere Details zur Arbeit mit Ergebnissen finden Sie in unserer OcrResult Klassendokumentation:
Wann sollte ich GetTextRegions anstelle von FindTextRegion verwenden?
/* :path=/static-assets/ocr/content-code-examples/how-to/computer-vision-gettextregions.cs */
using IronOcr;
using IronSoftware.Drawing;
using System;
using System.Collections.Generic;
using System.Linq;
// Create a new IronTesseract object for OCR
var ocr = new IronTesseract();
// Load an image into OcrInput
using var input = new OcrInput();
input.LoadImage("/path/file.png");
// Get the first page from the input
var firstPage = input.GetPages().First();
// Get all text regions detected on this page
List<Rectangle> textRegions = firstPage.GetTextRegions();
// Display information about each detected region
Console.WriteLine($"Found {textRegions.Count} text regions:");
foreach (var region in textRegions)
{
Console.WriteLine($"Region at X:{region.X}, Y:{region.Y}, Width:{region.Width}, Height:{region.Height}");
}
// You can also process each region individually
foreach (var region in textRegions)
{
var regionResult = ocr.Read(input, region);
Console.WriteLine($"Text in region: {regionResult.Text}");
}
/* :path=/static-assets/ocr/content-code-examples/how-to/computer-vision-gettextregions.cs */
using IronOcr;
using IronSoftware.Drawing;
using System;
using System.Collections.Generic;
using System.Linq;
// Create a new IronTesseract object for OCR
var ocr = new IronTesseract();
// Load an image into OcrInput
using var input = new OcrInput();
input.LoadImage("/path/file.png");
// Get the first page from the input
var firstPage = input.GetPages().First();
// Get all text regions detected on this page
List<Rectangle> textRegions = firstPage.GetTextRegions();
// Display information about each detected region
Console.WriteLine($"Found {textRegions.Count} text regions:");
foreach (var region in textRegions)
{
Console.WriteLine($"Region at X:{region.X}, Y:{region.Y}, Width:{region.Width}, Height:{region.Height}");
}
// You can also process each region individually
foreach (var region in textRegions)
{
var regionResult = ocr.Read(input, region);
Console.WriteLine($"Text in region: {regionResult.Text}");
}
Imports IronOcr
Imports IronSoftware.Drawing
Imports System
Imports System.Collections.Generic
Imports System.Linq
' Create a new IronTesseract object for OCR
Dim ocr As New IronTesseract()
' Load an image into OcrInput
Using input As New OcrInput()
input.LoadImage("/path/file.png")
' Get the first page from the input
Dim firstPage = input.GetPages().First()
' Get all text regions detected on this page
Dim textRegions As List(Of Rectangle) = firstPage.GetTextRegions()
' Display information about each detected region
Console.WriteLine($"Found {textRegions.Count} text regions:")
For Each region In textRegions
Console.WriteLine($"Region at X:{region.X}, Y:{region.Y}, Width:{region.Width}, Height:{region.Height}")
Next
' You can also process each region individually
For Each region In textRegions
Dim regionResult = ocr.Read(input, region)
Console.WriteLine($"Text in region: {regionResult.Text}")
Next
End Using
Was sind häufige Anwendungsfälle für Computer Vision in OCR?
Computer Vision verbessert die OCR-Genauigkeit in anspruchsvollen Szenarien erheblich. Hier sind praktische Anwendungen:
-
Dokumentenlayout-Analyse: Identifizieren und verarbeiten Sie verschiedene Abschnitte komplexer Dokumente automatisch. Besonders nützlich bei gescannten Dokumenten.
-
Mehrspaltiger Text: Trennen und lesen Sie Spalten für Zeitungen oder Zeitschriften unabhängig voneinander. Verwenden Sie multithreaded processing für schnellere Ergebnisse.
-
Gemischter Inhalt: Unterscheiden Sie zwischen Textbereichen und Grafiken in Dokumenten. Hilfreich bei der Bearbeitung von Fotos mit eingebettetem Text.
-
Performance-Optimierung: Konzentrieren Sie die OCR-Verarbeitung nur auf texthaltige Bereiche. Siehe unseren fast OCR Konfigurationsleitfaden.
- Qualitätskontrolle: Überprüfen Sie die Texterkennung vor der vollständigen OCR-Verarbeitung. Unsere Fortschrittskontrolle überwacht jede Phase.
Mit den richtigen Einstellungen und Eingabedateien kann OCR eine nahezu menschliche Lesefähigkeit erreichen. Für optimale Ergebnisse kombinieren Sie Computer Vision mit unseren Bildoptimierungsfiltern, um die bestmögliche OCR-Genauigkeit zu erreichen. Für die Arbeit mit Bildern geringer Qualität bietet unser Leitfaden Fixing low quality scans wertvolle Techniken zur Vorverarbeitung.
Fortgeschrittene Computer-Vision-Techniken
Entwickler, die die Grenzen der OCR-Genauigkeit erweitern möchten, sollten diese fortschrittlichen Ansätze in Betracht ziehen:
- Benutzerdefiniertes Training: Trainieren Sie die OCR-Engine für spezielle Schriftarten mithilfe unseres Leitfadens für benutzerdefinierte Sprachdateien
- Mehrsprachige Unterstützung: Bearbeiten Sie mehrsprachige Dokumente mit unserer Mehrsprachenfunktion
- BarCode-Integration: Kombinieren Sie Texterkennung mit dem Lesen von Barcodes mit unserem OCR mit Barcode-Lesefunktionen
Häufig gestellte Fragen
Was ist Computer Vision in OCR und wie verbessert es die Textextraktion?
Computer Vision in IronOCR verwendet OpenCV-Algorithmen, um Textbereiche in Bildern vor der OCR-Verarbeitung automatisch zu erkennen. Dadurch wird die Genauigkeit bei verrauschtem, mehrbereichigem oder verzerrtem Text erheblich verbessert, da sich die Tesseract-Erkennung nur auf die erkannten Textbereiche konzentriert, anstatt das gesamte Bild zu verarbeiten.
Wie kann ich Computer Vision OCR in C# schnell implementieren?
IronOCR ermöglicht die Implementierung von Computer Vision OCR in nur einer Codezeile: Verwenden Sie IronTesseract mit der FindTextRegion()-Methode zur automatischen Erkennung der Haupttextregion und führen Sie dann .Read() aus, um den Text sofort zu extrahieren.
Warum muss ich ein separates Computer Vision-Paket installieren?
IronOCR erfordert das separate NuGet-Paket IronOcr.ComputerVision, da die Computer-Vision-Funktionalität auf OpenCV-Algorithmen basiert. Diese Algorithmen verbessern die Texterkennungsgenauigkeit erheblich und sind für Funktionen wie die Nummernschilderkennung und das Scannen von Reisepässen unerlässlich.
Welches plattformspezifische Computer Vision-Paket sollte ich installieren?
IronOCR bietet plattformspezifische Pakete an: IronOcr.ComputerVision.Windows für Windows-Systeme, IronOcr.ComputerVision.Linux für Linux-Distributionen und IronOcr.ComputerVision.MacOS für macOS-Umgebungen.
Wie kann ich mehrere Textbereiche in einem Bild erkennen?
IronOCR bietet die FindMultipleTextRegions-Methode, um das Originalbild anhand der erkannten Textregionen in mehrere Bilder aufzuteilen. Sie können auch GetTextRegions verwenden, um eine Liste der Ausschnittbereiche abzurufen, in denen Text erkannt wurde.
Kann ich überprüfen, welche Textbereiche vor der Verarbeitung erkannt wurden?
Ja, IronOCR enthält die StampCropRectangleAndSaveAs-Methode, mit der Sie überprüfen können, welche Textbereiche von den Computer-Vision-Algorithmen erkannt wurden, bevor der eigentliche OCR-Prozess ausgeführt wird.

