Dansk OCR i C# og .NET

Andre versioner af dette dokument:

IronOCR er en C# softwarekomponent, der gør det muligt for .NET-kodere at læse tekst fra billeder og PDF-dokumenter på 126 sprog, inklusive dansk.

Det er en avanceret gaffel af Tesseract, bygget udelukkende til .NET-udviklerne og overgår regelmæssigt andre Tesseract-motorer for både hastighed og nøjagtighed.

Indhold i IronOcr.Languages.Danish

Denne pakke indeholder 61 OCR-sprog til .NET:

  • dansk
  • DanishBest
  • DanishFast
  • DanishFraktur

Hent

Dansk sprogpakke [dansk]
* Download as Lynlås
* Install with
https://www.nuget.org/packages/IronOcr.Languages.Danish/' NuGet

Installation

Den første ting, vi skal gøre, er at installere vores danske OCR-pakke til dit .NET-projekt.

PM> Install-Package IronOCR.Languages.Danish

Kodeeksempel

Dette C#-kodeeksempel læser dansk tekst fra et billede- eller PDF-dokument.

// PM> Install-Package IronOcr.Languages.Danish
using IronOcr;

var Ocr = new IronTesseract();
// Setting the language to Danish for OCR processing
Ocr.Language = OcrLanguage.Danish; 

// Using OcrInput to specify the path for the image containing Danish text
using (var Input = new OcrInput(@"images\Danish.png"))
{
    // Reading the text from the specified image
    var Result = Ocr.Read(Input);
    // Storing the recognized text in a variable
    var AllText = Result.Text;
}
// PM> Install-Package IronOcr.Languages.Danish
using IronOcr;

var Ocr = new IronTesseract();
// Setting the language to Danish for OCR processing
Ocr.Language = OcrLanguage.Danish; 

// Using OcrInput to specify the path for the image containing Danish text
using (var Input = new OcrInput(@"images\Danish.png"))
{
    // Reading the text from the specified image
    var Result = Ocr.Read(Input);
    // Storing the recognized text in a variable
    var AllText = Result.Text;
}
' PM> Install-Package IronOcr.Languages.Danish
Imports IronOcr

Private Ocr = New IronTesseract()
' Setting the language to Danish for OCR processing
Ocr.Language = OcrLanguage.Danish

' Using OcrInput to specify the path for the image containing Danish text
Using Input = New OcrInput("images\Danish.png")
	' Reading the text from the specified image
	Dim Result = Ocr.Read(Input)
	' Storing the recognized text in a variable
	Dim AllText = Result.Text
End Using
$vbLabelText   $csharpLabel

Hvorfor vælge IronOCR?

IronOCR er et let at installere, komplet og veldokumenteret .NET softwarebibliotek.

Vælg IronOCR for at opnå 99,8% + OCR-nøjagtighed uden at bruge eksterne webtjenester, løbende gebyrer eller sende fortrolige dokumenter over internettet.

Hvorfor C#-udviklere vælger IronOCR frem for Vanilla Tesseract:

  • Installer som en enkelt DLL eller NuGet
  • Inkluderer Tesseract 5, 4 og 3 motorer ud af kassen.
  • Nøjagtighed 99,8% overgår signifikant Tesseract.
  • Flammende hastighed og multitrådning
  • MVC, WebApp, Desktop, Console & Server Application kompatibel
  • Ingen Exes eller C ++ kode at arbejde med
  • Fuld PDF OCR-understøttelse
  • At udføre OCR på næsten enhver billedfil eller PDF
  • Fuld .NET Core, Standard og FrameWork support
  • Implementere på Windows, Mac, Linux, Azure, Docker, Lambda, AWS
  • Læs stregkoder og QR-koder
  • Eksporter OCR som XHTML
  • Eksporter OCR til søgbare PDF-dokumenter
  • Multithreading support
  • 126 internationale sprog styres alle via NuGet- eller OcrData-filer
  • Uddrag billeder, koordinater, statistikker og skrifttyper. Ikke kun tekst.
  • Kan bruges til at omfordele Tesseract OCR inden for kommercielle og proprietære applikationer.

IronOCR skinner, når du arbejder med billeder fra den virkelige verden og ufuldkomne dokumenter såsom fotografier eller scanninger med lav opløsning, der kan have digital støj eller ufuldkommenheder.

Andre gratis OCR- biblioteker til .NET-platformen, som andre .net tesseract API'er og webtjenester, klarer sig ikke så godt på disse sager i den virkelige verden.

OCR med Tesseract 5 - Start kodning i C#

Kodeprøven nedenfor viser, hvor let det er at læse tekst fra et billede ved hjælp af C# eller VB .NET.

OneLiner

// Example of a one-liner OCR process
string Text = new IronTesseract().Read(@"img\Screenshot.png").Text;
// Example of a one-liner OCR process
string Text = new IronTesseract().Read(@"img\Screenshot.png").Text;
' Example of a one-liner OCR process
Dim Text As String = (New IronTesseract()).Read("img\Screenshot.png").Text
$vbLabelText   $csharpLabel

Konfigurerbar Hello World

// PM> Install-Package IronOCR.Languages.Danish
using IronOcr;

var Ocr = new IronTesseract();
// Set OCR language to Danish
Ocr.Language = OcrLanguage.Danish;

// Using OcrInput to add images for OCR processing
using (var Input = new OcrInput())
{
    // Adding a sample image
    Input.AddImage("images/sample.jpeg");
    // Additional images can be added if needed
    var Result = Ocr.Read(Input);
    // Output the OCR result to the console
    Console.WriteLine(Result.Text);
}
// PM> Install-Package IronOCR.Languages.Danish
using IronOcr;

var Ocr = new IronTesseract();
// Set OCR language to Danish
Ocr.Language = OcrLanguage.Danish;

// Using OcrInput to add images for OCR processing
using (var Input = new OcrInput())
{
    // Adding a sample image
    Input.AddImage("images/sample.jpeg");
    // Additional images can be added if needed
    var Result = Ocr.Read(Input);
    // Output the OCR result to the console
    Console.WriteLine(Result.Text);
}
' PM> Install-Package IronOCR.Languages.Danish
Imports IronOcr

Private Ocr = New IronTesseract()
' Set OCR language to Danish
Ocr.Language = OcrLanguage.Danish

' Using OcrInput to add images for OCR processing
Using Input = New OcrInput()
	' Adding a sample image
	Input.AddImage("images/sample.jpeg")
	' Additional images can be added if needed
	Dim Result = Ocr.Read(Input)
	' Output the OCR result to the console
	Console.WriteLine(Result.Text)
End Using
$vbLabelText   $csharpLabel

C# PDF OCR

Den samme tilgang kan ligeledes bruges til at udtrække tekst fra ethvert PDF-dokument.

using IronOcr;

var Ocr = new IronTesseract();
// Set OCR language to Danish
Ocr.Language = OcrLanguage.Danish;

using (var input = new OcrInput())
{
    // Adding a PDF for OCR processing; a password can be specified if needed
    input.AddPdf("example.pdf", "password");

    // Reading text from the PDF document
    var Result = Ocr.Read(input);

    // Output the recognized text and page count to the console
    Console.WriteLine(Result.Text);
    Console.WriteLine($"{Result.Pages.Count()} Pages");
}
using IronOcr;

var Ocr = new IronTesseract();
// Set OCR language to Danish
Ocr.Language = OcrLanguage.Danish;

using (var input = new OcrInput())
{
    // Adding a PDF for OCR processing; a password can be specified if needed
    input.AddPdf("example.pdf", "password");

    // Reading text from the PDF document
    var Result = Ocr.Read(input);

    // Output the recognized text and page count to the console
    Console.WriteLine(Result.Text);
    Console.WriteLine($"{Result.Pages.Count()} Pages");
}
Imports IronOcr

Private Ocr = New IronTesseract()
' Set OCR language to Danish
Ocr.Language = OcrLanguage.Danish

Using input = New OcrInput()
	' Adding a PDF for OCR processing; a password can be specified if needed
	input.AddPdf("example.pdf", "password")

	' Reading text from the PDF document
	Dim Result = Ocr.Read(input)

	' Output the recognized text and page count to the console
	Console.WriteLine(Result.Text)
	Console.WriteLine($"{Result.Pages.Count()} Pages")
End Using
$vbLabelText   $csharpLabel

OCR til MultiPage TIFF'er

OCR-læsning af TIFF-filformat inklusive dokumenter på flere sider. TIFF kan også konverteres direkte til en PDF-fil med søgbar tekst.

using IronOcr;

var Ocr = new IronTesseract();
// Set OCR language to Danish
Ocr.Language = OcrLanguage.Danish;

using (var Input = new OcrInput())
{
    // Adding a multi-frame TIFF file for OCR processing
    Input.AddMultiFrameTiff("multi-frame.tiff");

    var Result = Ocr.Read(Input);

    // Output the recognized text to the console
    Console.WriteLine(Result.Text);
}
using IronOcr;

var Ocr = new IronTesseract();
// Set OCR language to Danish
Ocr.Language = OcrLanguage.Danish;

using (var Input = new OcrInput())
{
    // Adding a multi-frame TIFF file for OCR processing
    Input.AddMultiFrameTiff("multi-frame.tiff");

    var Result = Ocr.Read(Input);

    // Output the recognized text to the console
    Console.WriteLine(Result.Text);
}
Imports IronOcr

Private Ocr = New IronTesseract()
' Set OCR language to Danish
Ocr.Language = OcrLanguage.Danish

Using Input = New OcrInput()
	' Adding a multi-frame TIFF file for OCR processing
	Input.AddMultiFrameTiff("multi-frame.tiff")

	Dim Result = Ocr.Read(Input)

	' Output the recognized text to the console
	Console.WriteLine(Result.Text)
End Using
$vbLabelText   $csharpLabel

Stregkoder og QR

En unik egenskab ved IronOCR er, at den kan læse stregkoder og QR-koder fra dokumenter, mens den scanner efter tekst. Forekomster af OcrResult.OcrBarcode klassen giver udvikleren detaljerede oplysninger om hver scannet stregkode.

using IronOcr;

var Ocr = new IronTesseract();
// Enable barcode reading in OCR configuration
Ocr.Configuration.ReadBarCodes = true;

using (var input = new OcrInput())
{
    // Adding an image containing barcodes for OCR processing
    input.AddImage("img/Barcode.png");

    var Result = Ocr.Read(input);

    // Iterating over all recognized barcodes and outputting their values to the console
    foreach (var Barcode in Result.Barcodes)
    {
        Console.WriteLine(Barcode.Value);
        // Additional properties like type and location can also be exposed
    }
}
using IronOcr;

var Ocr = new IronTesseract();
// Enable barcode reading in OCR configuration
Ocr.Configuration.ReadBarCodes = true;

using (var input = new OcrInput())
{
    // Adding an image containing barcodes for OCR processing
    input.AddImage("img/Barcode.png");

    var Result = Ocr.Read(input);

    // Iterating over all recognized barcodes and outputting their values to the console
    foreach (var Barcode in Result.Barcodes)
    {
        Console.WriteLine(Barcode.Value);
        // Additional properties like type and location can also be exposed
    }
}
Imports IronOcr

Private Ocr = New IronTesseract()
' Enable barcode reading in OCR configuration
Ocr.Configuration.ReadBarCodes = True

Using input = New OcrInput()
	' Adding an image containing barcodes for OCR processing
	input.AddImage("img/Barcode.png")

	Dim Result = Ocr.Read(input)

	' Iterating over all recognized barcodes and outputting their values to the console
	For Each Barcode In Result.Barcodes
		Console.WriteLine(Barcode.Value)
		' Additional properties like type and location can also be exposed
	Next Barcode
End Using
$vbLabelText   $csharpLabel

OCR om bestemte områder af billeder

Alle IronOCR's scannings- og læsemetoder giver mulighed for at specificere nøjagtigt hvilken del af en eller flere sider, vi ønsker at læse tekst fra. Dette er meget nyttigt, når vi ser på standardiserede formularer og kan spare meget tid og forbedre effektiviteten.

For at bruge afgrødeområder skal vi tilføje en systemreference til System.Drawing, så vi kan bruge objektet System.Drawing.Rectangle.

using IronOcr;
using System.Drawing; // Add reference to System.Drawing

var Ocr = new IronTesseract();
// Set OCR language to Danish
Ocr.Language = OcrLanguage.Danish;

using (var Input = new OcrInput())
{
    // Defining the specific area of interest in the image for OCR processing
    var ContentArea = new Rectangle() { X = 215, Y = 1250, Height = 280, Width = 1335 };

    // Adding the image and specifying the content area
    Input.Add("document.png", ContentArea);

    var Result = Ocr.Read(Input);

    // Output the recognized text from the specified area
    Console.WriteLine(Result.Text);
}
using IronOcr;
using System.Drawing; // Add reference to System.Drawing

var Ocr = new IronTesseract();
// Set OCR language to Danish
Ocr.Language = OcrLanguage.Danish;

using (var Input = new OcrInput())
{
    // Defining the specific area of interest in the image for OCR processing
    var ContentArea = new Rectangle() { X = 215, Y = 1250, Height = 280, Width = 1335 };

    // Adding the image and specifying the content area
    Input.Add("document.png", ContentArea);

    var Result = Ocr.Read(Input);

    // Output the recognized text from the specified area
    Console.WriteLine(Result.Text);
}
Imports IronOcr
Imports System.Drawing ' Add reference to System.Drawing

Private Ocr = New IronTesseract()
' Set OCR language to Danish
Ocr.Language = OcrLanguage.Danish

Using Input = New OcrInput()
	' Defining the specific area of interest in the image for OCR processing
	Dim ContentArea = New Rectangle() With {
		.X = 215,
		.Y = 1250,
		.Height = 280,
		.Width = 1335
	}

	' Adding the image and specifying the content area
	Input.Add("document.png", ContentArea)

	Dim Result = Ocr.Read(Input)

	' Output the recognized text from the specified area
	Console.WriteLine(Result.Text)
End Using
$vbLabelText   $csharpLabel

OCR til scanninger af lav kvalitet

IronOCR OcrInput klassen kan rette scanninger, som normal Tesseract ikke kan læse.

using IronOcr;

var Ocr = new IronTesseract();
// Set OCR language to Danish
Ocr.Language = OcrLanguage.Danish;

// Improving the OCR input before reading
using (var Input = new OcrInput(@"img\Potter.LowQuality.tiff"))
{
    // Correcting digital noise
    Input.DeNoise();
    // Correcting skewness
    Input.Deskew();

    var Result = Ocr.Read(Input);

    // Output the recognized text to the console
    Console.WriteLine(Result.Text);
}
using IronOcr;

var Ocr = new IronTesseract();
// Set OCR language to Danish
Ocr.Language = OcrLanguage.Danish;

// Improving the OCR input before reading
using (var Input = new OcrInput(@"img\Potter.LowQuality.tiff"))
{
    // Correcting digital noise
    Input.DeNoise();
    // Correcting skewness
    Input.Deskew();

    var Result = Ocr.Read(Input);

    // Output the recognized text to the console
    Console.WriteLine(Result.Text);
}
Imports IronOcr

Private Ocr = New IronTesseract()
' Set OCR language to Danish
Ocr.Language = OcrLanguage.Danish

' Improving the OCR input before reading
Using Input = New OcrInput("img\Potter.LowQuality.tiff")
	' Correcting digital noise
	Input.DeNoise()
	' Correcting skewness
	Input.Deskew()

	Dim Result = Ocr.Read(Input)

	' Output the recognized text to the console
	Console.WriteLine(Result.Text)
End Using
$vbLabelText   $csharpLabel

Eksporter OCR-resultater som en søgbar PDF

Billede til PDF med kopierbare tekststrenge. Kan indekseres af søgemaskiner og databaser.

using IronOcr;

var Ocr = new IronTesseract();
// Set OCR language to Danish
Ocr.Language = OcrLanguage.Danish;

using (var Input = new OcrInput())
{
    // Setting title and adding images for OCR processing
    Input.Title = "Quarterly Report";
    Input.AddImage("image1.jpeg");
    Input.AddImage("image2.png");
    Input.AddImage("image3.gif");

    var Result = Ocr.Read(Input);
    // Save result as a searchable PDF
    Result.SaveAsSearchablePdf("searchable.pdf");
}
using IronOcr;

var Ocr = new IronTesseract();
// Set OCR language to Danish
Ocr.Language = OcrLanguage.Danish;

using (var Input = new OcrInput())
{
    // Setting title and adding images for OCR processing
    Input.Title = "Quarterly Report";
    Input.AddImage("image1.jpeg");
    Input.AddImage("image2.png");
    Input.AddImage("image3.gif");

    var Result = Ocr.Read(Input);
    // Save result as a searchable PDF
    Result.SaveAsSearchablePdf("searchable.pdf");
}
Imports IronOcr

Private Ocr = New IronTesseract()
' Set OCR language to Danish
Ocr.Language = OcrLanguage.Danish

Using Input = New OcrInput()
	' Setting title and adding images for OCR processing
	Input.Title = "Quarterly Report"
	Input.AddImage("image1.jpeg")
	Input.AddImage("image2.png")
	Input.AddImage("image3.gif")

	Dim Result = Ocr.Read(Input)
	' Save result as a searchable PDF
	Result.SaveAsSearchablePdf("searchable.pdf")
End Using
$vbLabelText   $csharpLabel

TIFF til søgbar PDF-konvertering

Konverter et TIFF-dokument (eller en hvilken som helst gruppe billedfiler) direkte til en søgbar PDF, der kan indekseres af intranet, websted og google-søgemaskiner.

using IronOcr;

var Ocr = new IronTesseract();
// Set OCR language to Danish
Ocr.Language = OcrLanguage.Danish;

using (var Input = new OcrInput())
{
    // Adding multiframed TIFF for OCR processing
    Input.AddMultiFrameTiff("example.tiff");

    // Saving the OCR result as a searchable PDF
    var Result = Ocr.Read(Input);
    Result.SaveAsSearchablePdf("searchable.pdf");
}
using IronOcr;

var Ocr = new IronTesseract();
// Set OCR language to Danish
Ocr.Language = OcrLanguage.Danish;

using (var Input = new OcrInput())
{
    // Adding multiframed TIFF for OCR processing
    Input.AddMultiFrameTiff("example.tiff");

    // Saving the OCR result as a searchable PDF
    var Result = Ocr.Read(Input);
    Result.SaveAsSearchablePdf("searchable.pdf");
}
Imports IronOcr

Private Ocr = New IronTesseract()
' Set OCR language to Danish
Ocr.Language = OcrLanguage.Danish

Using Input = New OcrInput()
	' Adding multiframed TIFF for OCR processing
	Input.AddMultiFrameTiff("example.tiff")

	' Saving the OCR result as a searchable PDF
	Dim Result = Ocr.Read(Input)
	Result.SaveAsSearchablePdf("searchable.pdf")
End Using
$vbLabelText   $csharpLabel

Eksporter OCR-resultater som HTML

OCR-konvertering af billede til XHTML.

using IronOcr;

var Ocr = new IronTesseract();
// Set OCR language to Danish
Ocr.Language = OcrLanguage.Danish;

using (var Input = new OcrInput())
{
    // Setting title and adding images for OCR processing
    Input.Title = "Html Title";
    Input.AddImage("image1.jpeg");

    var Result = Ocr.Read(Input);
    // Save result as HTML
    Result.SaveAsHocrFile("results.html");
}
using IronOcr;

var Ocr = new IronTesseract();
// Set OCR language to Danish
Ocr.Language = OcrLanguage.Danish;

using (var Input = new OcrInput())
{
    // Setting title and adding images for OCR processing
    Input.Title = "Html Title";
    Input.AddImage("image1.jpeg");

    var Result = Ocr.Read(Input);
    // Save result as HTML
    Result.SaveAsHocrFile("results.html");
}
Imports IronOcr

Private Ocr = New IronTesseract()
' Set OCR language to Danish
Ocr.Language = OcrLanguage.Danish

Using Input = New OcrInput()
	' Setting title and adding images for OCR processing
	Input.Title = "Html Title"
	Input.AddImage("image1.jpeg")

	Dim Result = Ocr.Read(Input)
	' Save result as HTML
	Result.SaveAsHocrFile("results.html")
End Using
$vbLabelText   $csharpLabel

OCR-filtre til billedforbedring

IronOCR leverer unikke filtre til OcrInput objekter for at forbedre OCR-ydeevne.

Eksempel på billedforbedringskode

Gør OCR-inputbilleder af højere kvalitet for at give bedre, hurtigere OCR-resultater.

using IronOcr;

var Ocr = new IronTesseract();
// Set OCR language to Danish
Ocr.Language = OcrLanguage.Danish;

// Enhancing input image quality for better OCR accuracy
using (var Input = new OcrInput(@"LowQuality.jpeg"))
{
    // Removing digital noise
    Input.DeNoise();
    // Correcting skewness
    Input.Deskew();

    var Result = Ocr.Read(Input);

    // Output the recognized text to the console
    Console.WriteLine(Result.Text);
}
using IronOcr;

var Ocr = new IronTesseract();
// Set OCR language to Danish
Ocr.Language = OcrLanguage.Danish;

// Enhancing input image quality for better OCR accuracy
using (var Input = new OcrInput(@"LowQuality.jpeg"))
{
    // Removing digital noise
    Input.DeNoise();
    // Correcting skewness
    Input.Deskew();

    var Result = Ocr.Read(Input);

    // Output the recognized text to the console
    Console.WriteLine(Result.Text);
}
Imports IronOcr

Private Ocr = New IronTesseract()
' Set OCR language to Danish
Ocr.Language = OcrLanguage.Danish

' Enhancing input image quality for better OCR accuracy
Using Input = New OcrInput("LowQuality.jpeg")
	' Removing digital noise
	Input.DeNoise()
	' Correcting skewness
	Input.Deskew()

	Dim Result = Ocr.Read(Input)

	' Output the recognized text to the console
	Console.WriteLine(Result.Text)
End Using
$vbLabelText   $csharpLabel

Liste over OCR-billedfiltre

Inputfiltre til forbedring af OCR-ydeevne, som er indbygget i IronOCR, inkluderer:

  • OcrInput.Rotate(double degrees) - Roterer billedet med et antal grader med uret. Brug negative tal mod uret.
  • OcrInput.Binarize() - Dette billedfilter gør hver pixel sort eller hvid uden mellemgrund. Kan forbedre OCR-ydeevne ved meget lav kontrast mellem tekst og baggrund.
  • OcrInput.ToGrayScale() - Dette billedfilter forvandler hver pixel til en gråtoneskygge. Det forbedrer sandsynligvis ikke OCR-nøjagtigheden, men forbedrer muligvis hastigheden.
  • OcrInput.Contrast() - Øger kontrasten automatisk. Dette filter forbedrer ofte OCR-hastighed og nøjagtighed i scanninger med lav kontrast.
  • OcrInput.DeNoise() - Fjerner digital støj. Dette filter bør kun bruges, hvor der forventes støj.
  • OcrInput.Invert() - Inverterer hver farve. F.eks. Bliver hvid sort: sort bliver hvid.
  • OcrInput.Dilate() - Avanceret morfologi. Udvidelse tilføjer pixels til grænserne for objekter i et billede. Modsatte af Erode.
  • OcrInput.Erode() - Avanceret morfologi. Erosion fjerner pixels på objektgrænserne. Modsatte af Dilate.
  • OcrInput.Deskew() - Roterer et billede, så det er den rigtige vej op og vinkelret. Dette er meget nyttigt for OCR, fordi Tesseracts tolerance for skævede scanninger kan være så lave som 5 grader.
  • OcrInput.DeepCleanBackgroundNoise() - Fjernelse af kraftig baggrundsstøj. Brug kun dette filter, hvis ekstrem dokumentbaggrundsstøj er kendt, fordi dette filter også risikerer at reducere OCR-nøjagtigheden af rene dokumenter og er meget CPU-dyrt.
  • OcrInput.EnhanceResolution - Forbedrer opløsningen af billeder i lav kvalitet. Dette filter er ikke ofte nødvendigt, fordi OcrInput.MinimumDPI og OcrInput.TargetDPI automatisk fanger og løser input med lav opløsning.

Ren baggrund Støj. Dette er en indstilling, der er noget tidskrævende; det tillader imidlertid biblioteket automatisk at rense digital støj, papirkrøller og andre ufuldkommenheder i et digitalt billede, som ellers ville gøre det ude af stand til at blive læst af andre OCR-biblioteker.

EnhanceContrast er en indstilling, der får IronOCR til automatisk at øge kontrasten af tekst på baggrund af et billede, hvilket øger nøjagtigheden af OCR og generelt øger ydeevnen og OCR-hastigheden.

EnhanceResolution er en indstilling, der automatisk registrerer billeder i lav opløsning (som er under 275 dpi) og automatisk opskalerer billedet og derefter skærper al teksten, så den kan læses perfekt af et OCR-bibliotek. Selvom denne operation i sig selv er tidskrævende, reducerer den generelt den samlede tid til en OCR-operation på et billede.

Language IronOCR understøtter 22 internationale sprogpakker, og sprogindstillingen kan bruges til at vælge et eller flere flere sprog, der skal anvendes til en OCR-handling.

Strategi IronOCR understøtter to strategier. Vi kan vælge enten at gå til en hurtig og mindre nøjagtig scanning af et dokument eller bruge en avanceret strategi, der bruger nogle kunstige intelligensmodeller til automatisk at forbedre nøjagtigheden af OCR-tekst ved at se på det statistiske forhold af ord til hinanden i en sætning.

ColorSpace er en indstilling, hvorved vi kan vælge at OCR i gråtoner eller farve. Generelt er gråtoner den bedste løsning. Men nogle gange, når der er tekster eller baggrunde med lignende nuance, men meget forskellige farver, vil et farverum i fuld farve give bedre resultater.

DetectWhiteTextOnDarkBackgrounds. Generelt forventer alle OCR-biblioteker at se sort tekst på hvid baggrund. Denne indstilling gør det muligt for IronOCR automatisk at registrere negativer eller mørke sider med hvid tekst og læse dem.

InputImageType. Denne indstilling giver udvikleren mulighed for at guide OCR-biblioteket om, hvorvidt den ser på et komplet dokument eller et uddrag, f.eks. Et skærmbillede.

RotateAndStraighten er en avanceret indstilling, der giver IronOCR den unikke evne til at læse dokumenter, der ikke kun roteres, men måske indeholder perspektiv, såsom fotografier af tekstdokumenter.

ReadBarcodes er en nyttig funktion, der gør det muligt for IronOCR automatisk at læse stregkoder og QR-koder på sider, da det også læser tekst uden at tilføje en stor ekstra tidsbyrde.

Farvedybde. Denne indstilling bestemmer, hvor mange bits pr. Pixel OCR-biblioteket skal bruge til at bestemme dybden af en farve. En højere farvedybde kan øge OCR-kvaliteten, men vil også øge den tid, der kræves for OCR-operationen at fuldføre.

126 sprogpakker

IronOCR understøtter 126 internationale sprog via sprogpakker, der distribueres som DLL'er, som kan downloades fra dette websted eller også fra NuGet Package Manager.

Sprog inkluderer tysk, fransk, engelsk, kinesisk, japansk og mange flere. Der findes specialsprogspakker til pas-MRZ, MICR-kontrol, finansielle data, nummerplader og mange flere. Du kan også bruge enhver tesseract ".traineddata" -fil - inklusive dem, du selv opretter.

Sprogeksempel

Brug af andre OCR-sprog.

using IronOcr;
// PM> Install-Package IronOcr.Languages.Arabic

var Ocr = new IronTesseract();
// Set OCR language to Arabic
Ocr.Language = OcrLanguage.Arabic;

using (var input = new OcrInput())
{
    // Adding image containing Arabic text 
    input.AddImage("img/arabic.gif");
    // Applying filters if necessary
    var Result = Ocr.Read(input);

    // Saving recognized text to a file due to potential console print issues with Arabic
    Result.SaveAsTextFile("arabic.txt");
}
using IronOcr;
// PM> Install-Package IronOcr.Languages.Arabic

var Ocr = new IronTesseract();
// Set OCR language to Arabic
Ocr.Language = OcrLanguage.Arabic;

using (var input = new OcrInput())
{
    // Adding image containing Arabic text 
    input.AddImage("img/arabic.gif");
    // Applying filters if necessary
    var Result = Ocr.Read(input);

    // Saving recognized text to a file due to potential console print issues with Arabic
    Result.SaveAsTextFile("arabic.txt");
}
Imports IronOcr
' PM> Install-Package IronOcr.Languages.Arabic

Private Ocr = New IronTesseract()
' Set OCR language to Arabic
Ocr.Language = OcrLanguage.Arabic

Using input = New OcrInput()
	' Adding image containing Arabic text 
	input.AddImage("img/arabic.gif")
	' Applying filters if necessary
	Dim Result = Ocr.Read(input)

	' Saving recognized text to a file due to potential console print issues with Arabic
	Result.SaveAsTextFile("arabic.txt")
End Using
$vbLabelText   $csharpLabel

Eksempel på flere sprog

Det er også muligt at OCR ved hjælp af flere sprog på samme tid. Dette kan virkelig hjælpe med at få engelsksprogede metadata og webadresser i Unicode-dokumenter.

using IronOcr;
// PM> Install-Package IronOcr.Languages.ChineseSimplified

var Ocr = new IronTesseract();
// Set primary OCR language to Simplified Chinese
Ocr.Language = OcrLanguage.ChineseSimplified;
// Add secondary OCR language
Ocr.AddSecondaryLanguage(OcrLanguage.Danish);

// We can add any number of languages

using (var input = new OcrInput())
{
    // Adding a multi-language PDF for OCR processing
    input.Add("multi-language.pdf");
    var Result = Ocr.Read(input);

    // Saving the recognized text to a file
    Result.SaveAsTextFile("results.txt");
}
using IronOcr;
// PM> Install-Package IronOcr.Languages.ChineseSimplified

var Ocr = new IronTesseract();
// Set primary OCR language to Simplified Chinese
Ocr.Language = OcrLanguage.ChineseSimplified;
// Add secondary OCR language
Ocr.AddSecondaryLanguage(OcrLanguage.Danish);

// We can add any number of languages

using (var input = new OcrInput())
{
    // Adding a multi-language PDF for OCR processing
    input.Add("multi-language.pdf");
    var Result = Ocr.Read(input);

    // Saving the recognized text to a file
    Result.SaveAsTextFile("results.txt");
}
Imports IronOcr
' PM> Install-Package IronOcr.Languages.ChineseSimplified

Private Ocr = New IronTesseract()
' Set primary OCR language to Simplified Chinese
Ocr.Language = OcrLanguage.ChineseSimplified
' Add secondary OCR language
Ocr.AddSecondaryLanguage(OcrLanguage.Danish)

' We can add any number of languages

Using input = New OcrInput()
	' Adding a multi-language PDF for OCR processing
	input.Add("multi-language.pdf")
	Dim Result = Ocr.Read(input)

	' Saving the recognized text to a file
	Result.SaveAsTextFile("results.txt")
End Using
$vbLabelText   $csharpLabel

Detaljerede OCR-resultatobjekter

IronOCR returnerer et OCR-resultatobjekt for hver OCR-operation. Generelt bruger udviklere kun dette objekts tekstegenskab for at få teksten scannet fra billedet. OCR-resultaterne DOM er dog meget mere avancerede end dette.

using IronOcr;
using System.Drawing; // Add reference to System.Drawing

var Ocr = new IronTesseract();
// Set OCR language to Danish
Ocr.Language = OcrLanguage.Danish;
// Configure engine mode and barcode reading
Ocr.Configuration.EngineMode = TesseractEngineMode.TesseractAndLstm;
Ocr.Configuration.ReadBarCodes = true; // Important for barcode scanning

using (var Input = new OcrInput(@"images\sample.tiff"))
{
    // Performing OCR on the input and obtaining the result
    OcrResult Result = Ocr.Read(Input);

    // Accessing various details from the OCR result
    var Pages = Result.Pages;
    var Words = Pages[0].Words;
    var Barcodes = Result.Barcodes;

    // Explore the API to find massive, detailed information:
    // - Pages, blocks, paragraphs, lines, words, characters
    // - Image export, font coordinates, statistical data
}
using IronOcr;
using System.Drawing; // Add reference to System.Drawing

var Ocr = new IronTesseract();
// Set OCR language to Danish
Ocr.Language = OcrLanguage.Danish;
// Configure engine mode and barcode reading
Ocr.Configuration.EngineMode = TesseractEngineMode.TesseractAndLstm;
Ocr.Configuration.ReadBarCodes = true; // Important for barcode scanning

using (var Input = new OcrInput(@"images\sample.tiff"))
{
    // Performing OCR on the input and obtaining the result
    OcrResult Result = Ocr.Read(Input);

    // Accessing various details from the OCR result
    var Pages = Result.Pages;
    var Words = Pages[0].Words;
    var Barcodes = Result.Barcodes;

    // Explore the API to find massive, detailed information:
    // - Pages, blocks, paragraphs, lines, words, characters
    // - Image export, font coordinates, statistical data
}
Imports IronOcr
Imports System.Drawing ' Add reference to System.Drawing

Private Ocr = New IronTesseract()
' Set OCR language to Danish
Ocr.Language = OcrLanguage.Danish
' Configure engine mode and barcode reading
Ocr.Configuration.EngineMode = TesseractEngineMode.TesseractAndLstm
Ocr.Configuration.ReadBarCodes = True ' Important for barcode scanning

Using Input = New OcrInput("images\sample.tiff")
	' Performing OCR on the input and obtaining the result
	Dim Result As OcrResult = Ocr.Read(Input)

	' Accessing various details from the OCR result
	Dim Pages = Result.Pages
	Dim Words = Pages(0).Words
	Dim Barcodes = Result.Barcodes

	' Explore the API to find massive, detailed information:
	' - Pages, blocks, paragraphs, lines, words, characters
	' - Image export, font coordinates, statistical data
End Using
$vbLabelText   $csharpLabel

Ydeevne

IronOCR fungerer uden for æsken uden behov for at tune eller ændre indgangsbilleder kraftigt.

Speed is Blazing: IronOcr.2020 + er op til 10 gange hurtigere og gør over 250% færre fejl end tidligere builds.

Lær mere

For at lære mere om OCR i C#, VB, F# eller ethvert andet .NET-sprog, bedes du læse vores community-tutorials, der giver eksempler på den virkelige verden af, hvordan IronOCR kan bruges og kan vise nuancerne i, hvordan du får det bedste ud af dette bibliotek.

En komplet objektreference for .NET-udviklere er også tilgængelig.