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 Installation von IronOcr.ComputerVision
über NuGet in der Lösung. Sie werden zum Herunterladen aufgefordert, wenn es nicht installiert ist.
- 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:
Method | Explanation |
---|---|
FindTextRegion | Detect regions which contain text elements and instruct Tesseract to only search for text within the area in which text was detected. |
FindMultipleTextRegions | Detect areas which contain text elements and divide the page into separate images based on text regions. |
GetTextRegions | Scans the image and returns a list of text regions as `List |
Code-Beispiele
FindTextRegion
Die Verwendung von FindTextRegion
nutzt Computer Vision, um Bereiche 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
Die Verwendung von FindMultipleTextRegions
nimmt alle Seiten eines OcrInput
-Objekts und nutzt Computer Vision, um Bereiche zu erkennen, die Textelemente enthalten, und teilt den Input basierend auf den Textbereichen in separate Bilder auf:
: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 Überladung der Methode FindMultipleTextRegions
nimmt eine OCR-Seite und gibt eine Liste von OCR-Seiten zurück, eine für jede Textregion darauf:
: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
gibt eine Liste von Schnittflächen zurück, 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()