Anleitung zur Verwendung von IronOCR Computer Vision
Einführung
IronOCR nutzt OpenCV, um mit Hilfe von Computer Vision Bereiche zu erkennen, in denen Text in einem Bild vorhanden ist. Dies ist nützlich für Bilder, die viel Rauschen enthalten, Bilder mit Text an vielen verschiedenen Stellen und Bilder, bei denen der Text verzerrt ist. Mit Hilfe von Computer Vision in IronOCR wird festgestellt, wo Textbereiche vorhanden sind, und dann mit Tesseract versucht, diese Bereiche zu lesen.
Legen Sie los mit IronOCR
Beginnen Sie noch heute mit der Verwendung von IronOCR in Ihrem Projekt mit einer kostenlosen Testversion.
IronOCR.ComputerVision Installation ü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, diese herunterzuladen, wenn Sie sie noch nicht installiert haben.
- Windows: "IronOcr.ComputerVision.Windows
- Linux: "IronOcr.ComputerVision.Linux
- macOS:
IronOcr.ComputerVision.MacOS
-
macOS ARM:
IronOcr.ComputerVision.MacOS.ARM
Installieren Sie mit dem NuGet-Paketmanager oder fügen Sie Folgendes in die Paketmanager-Konsole ein:
PM> Install-Package IronOcr.ComputerVision.Windows
Dadurch werden die erforderlichen Baugruppen für die Verwendung von IronOCR Computer Vision mit unserer Modelldatei bereitgestellt.
Funktionsweise und API
Code-Beispiele sind weiter unten in diesem Tutorial enthalten. Im Folgenden finden Sie einen allgemeinen Überblick über die derzeit verfügbaren Methoden:
Methode | Erläuterung |
---|---|
FindTextRegion | Erkennen Sie Regionen, die Textelemente enthalten, und weisen Sie Tesseract an, nur innerhalb des Bereichs, in dem Text erkannt wurde, nach Text zu suchen. |
FindMultipleTextRegions | Erkennen Sie Bereiche, die Textelemente enthalten, und unterteilen Sie die Seite anhand der Textbereiche in einzelne Bilder. |
GetTextRegions | Scannt das Bild und gibt eine Liste von Textregionen als `List |
Code-Beispiele
FindTextRegion
Die Verwendung von FindTextRegion
wird die Computer Vision nutzen, um Regionen zu erkennen, die Textelemente auf jeder Seite eines OcrInput-Objekts enthalten.
:path=/static-assets/ocr/content-code-examples/tutorials/csharp-recognize-text-from-image-computer-vision-1.cs
using IronOcr;
var ocr = new IronTesseract();
using var input = new OcrInput();
// Load at least one image
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()
' Load at least one image
input.LoadImage("/path/file.png")
input.FindTextRegion()
Dim result As OcrResult = ocr.Read(input)
Dim resultText As String = result.Text
Kann optional mit benutzerdefinierten Parametern aufgerufen werden:
:path=/static-assets/ocr/content-code-examples/tutorials/csharp-recognize-text-from-image-computer-vision-2.cs
using IronOcr;
var ocr = new IronTesseract();
using var input = new OcrInput();
// Load at least one image
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()
' Load at least one image
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
Die Überladung kann auch verwendet werden, um den Textbereich als Rectangle zurückzugeben:
:path=/static-assets/ocr/content-code-examples/tutorials/csharp-recognize-text-from-image-computer-vision-3.cs
using IronOcr;
using var input = new OcrInput();
// Load at least one image
input.LoadImage("/path/file.png");
input.FindTextRegion(Scale: 2.0, Binarize: true);
Imports IronOcr
Private input = New OcrInput()
' Load at least one image
input.LoadImage("/path/file.png")
input.FindTextRegion(Scale:= 2.0, Binarize:= True)
FindMultipleTextRegions
Bei der Verwendung von "FindMultipleTextRegions" werden alle Seiten eines "OcrInput"-Objekts verwendet, um mit Hilfe der Computer Vision Bereiche zu erkennen, die Textelemente enthalten, und die Eingabe in separate Bilder auf der Grundlage von Textregionen zu unterteilen:
:path=/static-assets/ocr/content-code-examples/tutorials/csharp-recognize-text-from-image-computer-vision-4.cs
using IronOcr;
var ocr = new IronTesseract();
using var input = new OcrInput();
// Load at least one image
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()
' Load at least one image
input.LoadImage("/path/file.png")
input.FindMultipleTextRegions()
Dim result As OcrResult = ocr.Read(input)
Dim resultText As String = result.Text
Kann optional mit benutzerdefinierten Parametern aufgerufen werden:
:path=/static-assets/ocr/content-code-examples/tutorials/csharp-recognize-text-from-image-computer-vision-5.cs
using IronOcr;
var ocr = new IronTesseract();
using var input = new OcrInput();
// Load at least one image
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()
' Load at least one image
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
Eine weitere Überladungsmethode von "FindMultipleTextRegions" nimmt eine OCR-Seite und gibt eine Liste von OCR-Seiten zurück, eine für jede Textregion auf dieser Seite:
:path=/static-assets/ocr/content-code-examples/tutorials/csharp-recognize-text-from-image-computer-vision-6.cs
using IronOcr;
using System.Collections.Generic;
using System.Linq;
int pageIndex = 0;
using var input = new OcrInput();
// Load at least one image
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()
' Load at least one image
input.LoadImage("/path/file.png")
Dim selectedPage = input.GetPages().ElementAt(pageIndex)
Dim textRegionsOnPage As List(Of OcrInputPage) = selectedPage.FindMultipleTextRegions()
GetTextRegions
Die Verwendung von GetTextRegions
liefert eine Liste der Beschnittbereiche, in denen Text auf einer Seite erkannt wurde:
:path=/static-assets/ocr/content-code-examples/tutorials/csharp-recognize-text-from-image-computer-vision-7.cs
using IronOcr;
using IronSoftware.Drawing;
using System.Collections.Generic;
using System.Linq;
int pageIndex = 0;
using var input = new OcrInput();
// Load at least one image
input.LoadImage("/path/file.png");
var selectedPage = input.GetPages().ElementAt(pageIndex);
var regions = selectedPage.GetTextRegions();
Imports IronOcr
Imports IronSoftware.Drawing
Imports System.Collections.Generic
Imports System.Linq
Private pageIndex As Integer = 0
Private input = New OcrInput()
' Load at least one image
input.LoadImage("/path/file.png")
Dim selectedPage = input.GetPages().ElementAt(pageIndex)
Dim regions = selectedPage.GetTextRegions()