Wie man Computer Vision zur Texterkennung in C# verwendet

How to use Computer Vision to Find Text

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

IronOCR nutzt OpenCV, um mithilfe von Computervision Bereiche zu erkennen, in denen sich Text in einem Bild befindet. Dies ist nützlich für Bilder, die viel Störungen enthalten, Bilder mit Text an vielen verschiedenen Stellen und Bilder, in denen der Text verzerrt ist. Der Einsatz von Computer Vision in IronOCR bestimmt, wo sich Textbereiche befinden und verwendet dann Tesseract, um zu versuchen, diese Bereiche zu lesen.

als-Überschrift:2(Schnellstart: Erkennen und OCR der Haupttextregion)

Dieses Beispiel zeigt, wie einfach Sie beginnen können: Laden Sie einfach ein Bild, lassen Sie IronOCR’s Computer Vision den Haupttextbereich mit FindTextRegion() automatisch finden und führen Sie dann sofort .Read(...) aus, um den Text zu extrahieren. Es braucht nur eine einfache Zeile, um vom Bild zur OCR-Ausgabe zu gelangen.

Nuget IconGet started making PDFs with NuGet now:

  1. Install IronOCR with NuGet Package Manager

    PM > Install-Package IronOcr

  2. Copy and run this code snippet.

    using var result = new IronTesseract().Read(new OcrInput().LoadImage("image.png").FindTextRegion());
  3. Deploy to test on your live environment

    Start using IronOCR in your project today with a free trial
    arrow pointer
class="hsg-featured-snippet">

Minimaler Arbeitsablauf (5 Schritte)

  1. C#-Bibliothek herunterladen, um OCR mit Computer Vision zu nutzen
  2. Verwenden Sie die FindTextRegion-Methode, um Textbereiche automatisch zu erkennen
  3. Prüfen Sie, welcher Textbereich mit der StampCropRectangleAndSaveAs-Methode erkannt wurde
  4. Verwenden Sie Computer Vision, um das originale Bild mit der FindMultipleTextRegions-Methode in Bilder basierend auf Textbereichen zu trennen
  5. Verwenden Sie die GetTextRegions-Methode, um die Liste der Bereiche zu erhalten, in denen Text erkannt wurde

Installation von IronOCR.ComputerVision über NuGet-Paket

OpenCV-Methoden, die Computer Vision in IronOCR ausführen, sind im regulären IronOCR NuGet-Paket sichtbar.

Die Verwendung dieser Methoden erfordert die NuGet-Installation von IronOcr.ComputerVision in der Lösung. Sie werden aufgefordert, es herunterzuladen, wenn Sie es nicht installiert haben.

  • Windows: IronOcr.ComputerVision.Windows
  • Linux: IronOcr.ComputerVision.Linux
  • macOS: IronOcr.ComputerVision.MacOS
  • macOS ARM: IronOcr.ComputerVision.MacOS.ARM

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 wird die notwendigen Assemblies bereitstellen, um IronOCR Computer Vision mit unserer Modelldatei zu verwenden.

Funktionalität und API

Codebeispiele sind weiter unten in diesem Tutorial enthalten. Hier ist eine allgemeine Übersicht über die derzeit verfügbaren Methoden:

Methode Erklärung
FindTextRegion Erkennen von Bereichen, die Textelemente enthalten, und Tesseract anweisen, nur innerhalb des Bereichs, in dem Text erkannt wurde, nach Text zu suchen.
FindMultipleTextRegions Erkennen von Bereichen, die Textelemente enthalten, und die Seite basierend auf Textbereichen in separate Bilder aufteilen.
GetTextRegions Scannt das Bild und gibt eine Liste von Textbereichen als `List` zurück.

FindTextRegion

Die Verwendung von FindTextRegion verwendet Computer Vision, um Bereiche zu erkennen, die Textelemente auf jeder Seite eines OcrInput-Objekts enthalten.

: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
$vbLabelText   $csharpLabel

Vorsicht Diese Methodenüberladung ist in IronOcr 2025.6.x derzeit veraltet und nimmt keine benutzerdefinierten Parameter.

Kann optional mit benutzerdefinierten Parametern aufgerufen werden:

: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
$vbLabelText   $csharpLabel

In diesem Beispiel werde ich das folgende Bild für eine Methode verwenden, die ich schreibe und die auf Bereiche mit Text beschneiden muss, aber Eingabebilder können in der Textposition variieren. In diesem Fall kann ich FindTextRegion verwenden, um den Scan auf einen Bereich zu beschränken, in dem Computer Vision Text erkannt hat. Dies ist ein Beispielbild:

class="content-img-align-center">
class="center-image-wrapper"> Bild mit Text
: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)
$vbLabelText   $csharpLabel

Jetzt hat dieser Code zwei Ausgaben, die erste ist eine .png-Datei, die von StampCropRectangleAndSaveAs gespeichert wird und die zum Debuggen verwendet wird. Wir können sehen, wo IronCV (Computer Vision) den Text vermutet hat:

class="content-img-align-center">
class="center-image-wrapper"> Bild mit hervorgehobenem Textbereich

Sieht ziemlich gut aus. Jetzt ist die zweite Ausgabe der Text selbst, der ist:

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

FindMultipleTextRegions

Die Verwendung von FindMultipleTextRegions nimmt alle Seiten eines OcrInput-Objekts und verwendet Computer Vision, um Bereiche zu erkennen, die Textelemente enthalten, und teilt die Eingabe basierend auf Textbereichen in separate Bilder:

: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
$vbLabelText   $csharpLabel

Vorsicht Ab Version IronOcr v2025.6.x unterstützt die Methode FindMultipleTextRegions keine benutzerdefinierten Parameter mehr.

Kann optional mit benutzerdefinierten Parametern aufgerufen 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
$vbLabelText   $csharpLabel

Eine weitere Überladung der Methode FindMultipleTextRegions nimmt eine OCR-Seite und gibt eine Liste von OCR-Seiten zurück, eine für jeden Textbereich darauf:

: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()
$vbLabelText   $csharpLabel

GetTextRegions

Die Verwendung von GetTextRegions gibt eine Liste von Beschneidungsbereichen zurück, in denen Text auf einer Seite erkannt wurde:

:path=/static-assets/ocr/content-code-examples/how-to/computer-vision-gettextregions.cs
using IronOcr;
using IronSoftware.Drawing;
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<Rectangle> regions = selectedPage.GetTextRegions();
Imports IronOcr
Imports IronSoftware.Drawing
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)
' List<Rectangle> regions = selectedPage.GetTextRegions();
$vbLabelText   $csharpLabel

Leitfäden für spezifische Anwendungsfälle

Mit den richtigen Einstellungen und Eingabedateien kann OCR ein sehr leistungsstarkes Werkzeug sein. Es kann die Lesefähigkeit eines Menschen fast perfekt nachahmen.

Häufig gestellte Fragen

Wie kann ich Computer Vision zur Texterkennung in Bildern nutzen?

IronOCR kann verwendet werden, um die Texterkennung in Bildern zu verbessern, indem es seine Integration mit OpenCV nutzt. Methoden wie FindTextRegion und FindMultipleTextRegions ermöglichen es Ihnen, Textbereiche effektiv zu lokalisieren und zu manipulieren.

Welche Schritte sind erforderlich, um IronOCR für Computer Vision auf verschiedenen Betriebssystemen zu installieren?

Um IronOCR auf verschiedenen Betriebssystemen zu verwenden, können Sie das Paket IronOCR.ComputerVision über NuGet installieren. Verwenden Sie den Befehl Install-Package IronOcr.ComputerVision.Windows für Windows, mit ähnlichen Paketen für Linux und macOS.

Welche Funktionalität bietet die Methode FindTextRegion?

Die Methode FindTextRegion in IronOCR identifiziert Bereiche in einem Bild, in denen Text vorhanden ist, sodass Tesseract nur in diesen angegebenen Bereichen nach Text suchen kann, was die Genauigkeit des OCR verbessert.

Wie verbessern benutzerdefinierte Parameter die Erkennung von Textregionen?

Sie können die Texterkennung in Bereichen in IronOCR verfeinern, indem Sie benutzerdefinierte Parameter mit der Methode FindTextRegion verwenden, wie zum Beispiel das Festlegen der Mindesthöhe des Texts und das Zulassen von Unterregionen, um Textbereiche in Bildern präziser zu identifizieren.

Warum ist das Erkennen mehrerer Textbereiche in einem Bild vorteilhaft?

Das Erkennen mehrerer Textbereiche mit der Methode FindMultipleTextRegions in IronOCR hilft dabei, ein Bild in separate Abschnitte basierend auf Text zu unterteilen, was besonders nützlich für die Verarbeitung von Dokumenten mit mehreren Textblöcken wie Rechnungen und Untertiteln ist.

Wie können erkannte Textbereiche aus einem Bild abgerufen werden?

Die Methode GetTextRegions in IronOCR ermöglicht es Ihnen, eine Liste von CropRectangle-Bereichen abzurufen, in denen Text innerhalb eines Bildes erkannt wurde, sodass diese Textregionen weiterverarbeitet oder manipuliert werden können.

Was sind die Hauptmerkmale der Computer-Vision-Funktionen von IronOCR?

Die Computer-Vision-Funktionen von IronOCR umfassen die Texterkennung in Bereichen durch Methoden wie FindTextRegion und FindMultipleTextRegions, anpassbare OCR-Einstellungen und Unterstützung für mehrere Betriebssysteme zur Verbesserung der Texterkennungsgenauigkeit.

Wie verarbeitet IronOCR Bilder mit mehreren Textbereichen?

IronOCR verwendet die Methode FindMultipleTextRegions, um Bilder zu verarbeiten, indem es sie basierend auf erkannten Textregionen in separate Bilder unterteilt, wodurch eine detaillierte Analyse und Manipulation jedes Textbereichs ermöglicht wird.

Wo finde ich Codebeispiele für die Verwendung von Computer-Vision-Methoden in IronOCR?

Das Tutorial bietet Codebeispiele, die die Verwendung von Methoden wie FindTextRegion und FindMultipleTextRegions mit IronOCR demonstrieren, und zeigt praktische Anwendungen wie das Lesen von Kfz-Kennzeichen oder die Verarbeitung von Rechnungen.

Was wird benötigt, um die Computer-Vision-Funktionen von IronOCR in C# zu nutzen?

Um die Computer-Vision-Funktionen von IronOCR in C# zu verwenden, müssen Sie das Paket IronOcr.ComputerVision über NuGet installieren und die erforderlichen Namespaces in Ihrem Projekt einbinden, um auf Texterkennungsmethoden zuzugreifen.

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,044,537 | Version: 2025.11 gerade veröffentlicht