Guide d'utilisation d'IronOCR Computer Vision

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

Introduction

IronOCR utilise OpenCV pour utiliser la vision par ordinateur afin de détecter les zones où se trouve du texte dans une image. Cette fonction est utile pour les images contenant beaucoup de bruit, les images dont le texte se trouve à plusieurs endroits différents et les images dont le texte est déformé. L'utilisation de la vision par ordinateur dans IronOCR déterminera où se trouvent les régions de texte et utilisera ensuite Tesseract pour tenter de lire ces régions.

Commencez avec IronOCR

Commencez à utiliser IronOCR dans votre projet dès aujourd'hui avec un essai gratuit.

Première étape :
green arrow pointer


Installation d'IronOCR.ComputerVision via un paquet NuGet

Les méthodes OpenCV qui effectuent de la vision par ordinateur dans IronOCR sont visibles dans le paquet NuGet IronOCR normal.

L'utilisation de ces méthodes nécessite l'installation de NuGet IronOcr.ComputerVision dans la solution, vous êtes invité à le télécharger si vous ne l'avez pas installé.

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

    Installer à l'aide du gestionnaire de paquets NuGet ou coller le texte suivant dans la console du gestionnaire de paquets :

PM> Install-Package IronOcr.ComputerVision.Windows

Cela fournira les assemblages nécessaires pour utiliser IronOCR Computer Vision avec notre fichier modèle.

Fonctionnalité et API

Des exemples de code sont inclus plus loin dans ce tutoriel. Voici un aperçu général des méthodes actuellement disponibles :

MéthodeExplication
FindTextRegionDétecter les régions qui contiennent des éléments de texte et demander à Tesseract de ne rechercher du texte que dans la zone où du texte a été détecté.
FindMultipleTextRegionsDétecter les zones contenant des éléments de texte et diviser la page en images distinctes en fonction des zones de texte.
Obtenir des régions de texteScanne l'image et renvoie une liste de régions de texte sous forme de "Liste"`.

Exemples de codes

FindTextRegion

L'utilisation de FindTextRegion utilisera la vision artificielle pour détecter les régions qui contiennent des éléments de texte sur chaque page d'un objet OcrInput.

: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
VB   C#

Peut éventuellement être appelé avec des paramètres personnalisés :

: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
VB   C#

La surcharge peut également être utilisée pour renvoyer la zone de texte sous la forme d'un rectangle :

: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)
VB   C#

FindMultipleTextRegions

L'utilisation de FindMultipleTextRegions prend toutes les pages d'un objet OcrInput et utilise la vision artificielle pour détecter les zones qui contiennent des éléments de texte et diviser l'entrée en images séparées basées sur les régions de texte :

: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
VB   C#

Peut éventuellement être appelé avec des paramètres personnalisés :

: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
VB   C#

Une autre méthode de surcharge de FindMultipleTextRegions prend une page OCR et renvoie une liste de pages OCR, une pour chaque région de texte qu'elle contient :

: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()
VB   C#

Obtenir des régions de texte

L'utilisation de GetTextRegions renvoie une liste des zones de culture où du texte a été détecté dans une page :

: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()
VB   C#