Lietuvos OCR C#ir .Net

Kitos šio dokumento versijos:

„IronOCR“ yra C#programinės įrangos komponentas, leidžiantis .NET programuotojams skaityti tekstą iš vaizdų ir PDF dokumentų 126 kalbomis, įskaitant lietuvių kalbą.

Tai pažangi „Tesseract“ šakutė, sukurta išskirtinai .NET kūrėjams ir reguliariai pralenkianti kitus „Tesseract“ variklius tiek greičio, tiek tikslumo atžvilgiu.

„IronOcr“ turinys. Kalbos. Lietuvių

Šiame pakete yra 55 OCR kalbos, skirtos .NET:

  • Lietuvis
  • LietuviškasGeriausias
  • LietuviškasFast

parsisiųsti

Lietuvių kalbos paketas [lietuvių kalba]
* Download as Pašto kodas
* Install with as
https://www.nuget.org/packages/IronOcr.Languages.Lithuanian/'> „NuGet“

Montavimas

Pirmas dalykas, kurį turime padaryti, yra įdiegti lietuvišką OCR paketą į jūsų .NET projektą.

PM> Install-Package IronOCR.Languages.Lithuanian

Kodo pavyzdys

Šis C#kodo pavyzdys nuskaito lietuvišką tekstą iš paveikslėlio ar PDF dokumento.

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

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Lithuanian;
using (var Input = new OcrInput(@"images\Lithuanian.png"))
{
var Result = Ocr.Read(Input);
Var AllText = Result.Text
}
//PM> Install-Package IronOcr.Languages.Lithuanian
using IronOcr;

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Lithuanian;
using (var Input = new OcrInput(@"images\Lithuanian.png"))
{
var Result = Ocr.Read(Input);
Var AllText = Result.Text
}
'PM> Install-Package IronOcr.Languages.Lithuanian
Imports IronOcr

Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Lithuanian
Using Input = New OcrInput("images\Lithuanian.png")
Dim Result = Ocr.Read(Input)
Dim AllText As Var = Result.Text
End Using
VB   C#

Kodėl verta rinktis „IronOCR“?

„Iron OCR“ yra lengvai įdiegiama, išsami ir gerai dokumentuota .NET programinės įrangos biblioteka.

Pasirinkite „IronOCR“, kad pasiektumėte 99,8% + OCR tikslumą nenaudodami jokių išorinių interneto paslaugų, nuolatinių mokesčių ar nesiųsdami konfidencialių dokumentų internetu.

Kodėl C#kūrėjai renkasi IronOCR, o ne Vanilla Tesseract:

  • Įdiekite kaip vieną DLL arba „Nuget“
  • Į komplektaciją įeina „Tesseract 5“, „4“ ir „3“ varikliai iš dėžutės.
  • Tikslumas 99,8% gerokai lenkia įprastą „Tesseract“.
  • Šviečiantis greitis ir „MultiThreading“
  • Suderinamos su „MVC“, „WebApp“, darbalaukio, konsolės ir serverio programomis
  • Nėra „Exes“ ar „C ++“ kodo, su kuriuo galėtumėte dirbti
  • Visas PDF OCR palaikymas
  • Norėdami atlikti OCR beveik bet kokį vaizdo failą ar PDF
  • Visas „Net. Core“, „Standard“ ir „FrameWork“ palaikymas
  • Įdiekite „Windows“, „Mac“, „Linux“, „Azure“, „Docker“, „Lambda“, AWS
  • Perskaitykite brūkšninius kodus ir QR kodus
  • Eksportuoti OCR į XHTML
  • Eksportuokite OCR į ieškomus PDF dokumentus
  • Daugialypis palaikymas
  • 126 tarptautinės kalbos, valdomos naudojant „Nuget“ arba „OcrData“ failus
  • Ištraukite vaizdus, koordinates, statistiką ir šriftus. Ne tik tekstas.
  • Galima naudoti perskirstant „Tesseract“ OCR komercinėse ir patentuotose programose.

Geležinis OCR šviečia dirbant su realaus pasaulio vaizdais ir netobulais dokumentais, tokiais kaip nuotraukos ar žemos skiriamosios gebos nuskaitymai, kuriuose gali būti skaitmeninio triukšmo ar trūkumų.

Kitos nemokamos .NET platformos OCR bibliotekos, tokios kaip kitos .net tesseract API ir žiniatinklio paslaugos, ne taip gerai veikia šiais realaus pasaulio naudojimo atvejais.

OCR su „Tesseract 5“ - pradėkite koduoti C #

Žemiau pateiktas kodo pavyzdys parodo, kaip lengva skaityti tekstą iš paveikslėlio naudojant C#arba VB .NET.

„OneLiner“

string Text = new IronTesseract().Read(@"img\Screenshot.png").Text;
string Text = new IronTesseract().Read(@"img\Screenshot.png").Text;
Dim Text As String = (New IronTesseract()).Read("img\Screenshot.png").Text
VB   C#

Konfigūruojamas „Hello World“

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

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Lithuanian;
using (var Input = new OcrInput()){
Input.AddImage("images/sample.jpeg")
//... galite pridėti bet kokį vaizdų skaičių
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
// PM> Install-Package IronOCR.Languages.Lithuanian
using IronOcr;

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Lithuanian;
using (var Input = new OcrInput()){
Input.AddImage("images/sample.jpeg")
//... galite pridėti bet kokį vaizdų skaičių
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
' PM> Install-Package IronOCR.Languages.Lithuanian
Imports IronOcr

Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Lithuanian
Using Input = New OcrInput()
Input.AddImage("images/sample.jpeg") var Result = Ocr.Read(Input)
Console.WriteLine(Result.Text)
End Using
VB   C#

C#PDF OCR

Tą patį metodą galima panašiai naudoti norint išgauti tekstą iš bet kurio PDF dokumento.

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Lithuanian;
using (var input = new OcrInput())
{
input.AddPdf("example.pdf", "password");
// Mes taip pat galime pasirinkti konkrečius PDF puslapių numerius OCR

var Result = Ocr.Read(input);

Console.WriteLine(Result.Text);
Console.WriteLine($"{Result.Pages.Count()} Pages");
// 1 puslapis kiekvienam PDF puslapiui
}
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Lithuanian;
using (var input = new OcrInput())
{
input.AddPdf("example.pdf", "password");
// Mes taip pat galime pasirinkti konkrečius PDF puslapių numerius OCR

var Result = Ocr.Read(input);

Console.WriteLine(Result.Text);
Console.WriteLine($"{Result.Pages.Count()} Pages");
// 1 puslapis kiekvienam PDF puslapiui
}
Dim Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Lithuanian
Using input = New OcrInput()
input.AddPdf("example.pdf", "password")
' Mes taip pat galime pasirinkti konkrečius PDF puslapių numerius OCR

Dim Result = Ocr.Read(input)

Console.WriteLine(Result.Text)
Console.WriteLine($"{Result.Pages.Count()} Pages")
' 1 puslapis kiekvienam PDF puslapiui
End Using
VB   C#

Daugialypių TIFF OCR

OCR TIFF failo formato, įskaitant kelių puslapių dokumentus, skaitymas. TIFF taip pat gali būti tiesiogiai konvertuojamas į PDF failą su ieškomu tekstu.

using IronOcr;

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Lithuanian;

using (var Input = new OcrInput()){
input.AddMultiFrameTiff("multi - frame.tiff");
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
using IronOcr;

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Lithuanian;

using (var Input = new OcrInput()){
input.AddMultiFrameTiff("multi - frame.tiff");
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
Imports IronOcr

Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Lithuanian

Using Input = New OcrInput()
input.AddMultiFrameTiff("multi - frame.tiff")
Dim Result = Ocr.Read(Input)
Console.WriteLine(Result.Text)
End Using
VB   C#

Brūkšniniai kodai ir QR

Unikali „Iron OCR“ ypatybė yra tai, kad ji gali nuskaityti brūkšninius kodus ir QR kodus iš dokumentų, kol skenuoja tekstą. „ OcrResult.OcrBarcode klasės OcrResult.OcrBarcode pateikia kūrėjui išsamią informaciją apie kiekvieną nuskaitytą brūkšninį kodą.

// using IronOcr;
var Ocr = new IronTesseract();
Ocr.Configuration.ReadBarCodes = true;

using (var input = new OcrInput())
{
input.AddImage("img/Barcode.png");
var Result = Ocr.Read(input);
foreach (var Barcode in Result.Barcodes)
{
Console.WriteLine(Barcode.Value);
// tipo ir vietos savybės taip pat veikiamos
}
}
// using IronOcr;
var Ocr = new IronTesseract();
Ocr.Configuration.ReadBarCodes = true;

using (var input = new OcrInput())
{
input.AddImage("img/Barcode.png");
var Result = Ocr.Read(input);
foreach (var Barcode in Result.Barcodes)
{
Console.WriteLine(Barcode.Value);
// tipo ir vietos savybės taip pat veikiamos
}
}
' using IronOcr;
Dim Ocr = New IronTesseract()
Ocr.Configuration.ReadBarCodes = True

Using input = New OcrInput()
input.AddImage("img/Barcode.png")
Dim Result = Ocr.Read(input)
For Each Barcode In Result.Barcodes
Console.WriteLine(Barcode.Value)
' tipo ir vietos savybės taip pat veikiamos
Next Barcode
End Using
VB   C#

OCR konkrečiose vaizdų srityse

Visi „Iron OCR“ nuskaitymo ir skaitymo metodai suteikia galimybę tiksliai nurodyti, iš kurios puslapio dalies ar puslapių norime skaityti tekstą. Tai labai naudinga, kai žiūrime į standartizuotas formas, ir tai gali sutaupyti labai daug laiko ir pagerinti efektyvumą.

Norėdami naudoti apkarpymo regionus, turėsime pridėti sistemos nuorodą į System.Drawing , kad galėtume naudoti objektą System.Drawing.Rectangle .

using IronOcr;

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Lithuanian;

using (var Input = new OcrInput())
{
var ContentArea = new System.Drawing.Rectangle() { X = 215, Y = 1250, Height = 280, Width = 1335 };
// Matmenys nurodyti pikseliais

Input.Add("document.png", ContentArea);

var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
using IronOcr;

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Lithuanian;

using (var Input = new OcrInput())
{
var ContentArea = new System.Drawing.Rectangle() { X = 215, Y = 1250, Height = 280, Width = 1335 };
// Matmenys nurodyti pikseliais

Input.Add("document.png", ContentArea);

var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
Imports IronOcr

Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Lithuanian

Using Input = New OcrInput()
Dim ContentArea = New System.Drawing.Rectangle() With {
	.X = 215,
	.Y = 1250,
	.Height = 280,
	.Width = 1335
}
' Matmenys nurodyti pikseliais

Input.Add("document.png", ContentArea)

Dim Result = Ocr.Read(Input)
Console.WriteLine(Result.Text)
End Using
VB   C#

OCR žemos kokybės nuskaitymams

„Iron OCR OcrInput klasė gali pataisyti nuskaitymus, kurių įprastas „Tesseract“ negali perskaityti.

using IronOcr;
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Lithuanian;

using (var Input = new OcrInput(@"img\Potter.LowQuality.tiff"))
{
Input.DeNoise(); // pataiso skaitmeninį triukšmą ir blogą nuskaitymą
Input.Deskew(); // fiksuoja sukimąsi ir perspektyvą
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
using IronOcr;
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Lithuanian;

using (var Input = new OcrInput(@"img\Potter.LowQuality.tiff"))
{
Input.DeNoise(); // pataiso skaitmeninį triukšmą ir blogą nuskaitymą
Input.Deskew(); // fiksuoja sukimąsi ir perspektyvą
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
Imports IronOcr
Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Lithuanian

Using Input = New OcrInput("img\Potter.LowQuality.tiff")
Input.DeNoise() ' pataiso skaitmeninį triukšmą ir blogą nuskaitymą
Input.Deskew() ' fiksuoja sukimąsi ir perspektyvą
Dim Result = Ocr.Read(Input)
Console.WriteLine(Result.Text)
End Using
VB   C#

Eksportuoti OCR rezultatus kaip ieškomą PDF

Vaizdas į PDF su kopijuojamomis teksto eilutėmis. Galima indeksuoti paieškos sistemose ir duomenų bazėse.

using IronOcr;

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Lithuanian;

using (var Input = new OcrInput()){
input.Title = "Quarterly Report"
input.AddImage("image1.jpeg");
input.AddImage("image2.png");
input.AddImage("image3.gif");

var Result = Ocr.Read(input);
Result.SaveAsSearchablePdf("searchable.pdf")
}
using IronOcr;

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Lithuanian;

using (var Input = new OcrInput()){
input.Title = "Quarterly Report"
input.AddImage("image1.jpeg");
input.AddImage("image2.png");
input.AddImage("image3.gif");

var Result = Ocr.Read(input);
Result.SaveAsSearchablePdf("searchable.pdf")
}
Imports IronOcr

Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Lithuanian

Using Input = New OcrInput()
input.Title = "Quarterly Report" input.AddImage("image1.jpeg")
input.AddImage("image2.png")
input.AddImage("image3.gif")

Dim Result = Ocr.Read(input)
Result.SaveAsSearchablePdf("searchable.pdf")
End Using
VB   C#

TIFF į ieškomą PDF konversiją

T konvertuokite TIFF dokumentą (ar bet kurią vaizdo failų grupę) tiesiai į ieškomą PDF failą, kurį gali indeksuoti intranetas, svetainė ir „Google“ paieškos sistemos.

using IronOcr;

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Lithuanian;

using (var Input = new OcrInput()){
input.AddMultiFrameTiff("example.tiff")
var Result = Ocr.Read(input).SaveAsSearchablePdf("searchable.pdf")
}
using IronOcr;

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Lithuanian;

using (var Input = new OcrInput()){
input.AddMultiFrameTiff("example.tiff")
var Result = Ocr.Read(input).SaveAsSearchablePdf("searchable.pdf")
}
Imports IronOcr

Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Lithuanian

Using Input = New OcrInput()
input.AddMultiFrameTiff("example.tiff") var Result = Ocr.Read(input).SaveAsSearchablePdf("searchable.pdf")
End Using
VB   C#

Eksportuoti OCR rezultatus kaip HTML

OCR vaizdo konversija į XHTML.

using IronOcr;

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Lithuanian;
using (var Input = new OcrInput()){
input.Title = "Html Title"
input.AddImage("image1.jpeg");
var Result = Ocr.Read(input);
Result.SaveAsHocrFile("results.html");
}
using IronOcr;

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Lithuanian;
using (var Input = new OcrInput()){
input.Title = "Html Title"
input.AddImage("image1.jpeg");
var Result = Ocr.Read(input);
Result.SaveAsHocrFile("results.html");
}
Imports IronOcr

Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Lithuanian
Using Input = New OcrInput()
input.Title = "Html Title" input.AddImage("image1.jpeg")
Dim Result = Ocr.Read(input)
Result.SaveAsHocrFile("results.html")
End Using
VB   C#

OCR vaizdo gerinimo filtrai

„IronOCR“ suteikia unikalius „ OcrInput objektų filtrus, kad pagerintų OCR našumą.

Vaizdo tobulinimo kodo pavyzdys

Padaro OCR įvesties vaizdų kokybę geresne ir greitesne OCR rezultatais.

using IronOcr;
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Lithuanian;

using (var Input = new OcrInput(@"LowQuality.jpeg"))
{
Input.DeNoise(); // pataiso skaitmeninį triukšmą ir blogą nuskaitymą
Input.Deskew(); // fiksuoja sukimąsi ir perspektyvą
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
using IronOcr;
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Lithuanian;

using (var Input = new OcrInput(@"LowQuality.jpeg"))
{
Input.DeNoise(); // pataiso skaitmeninį triukšmą ir blogą nuskaitymą
Input.Deskew(); // fiksuoja sukimąsi ir perspektyvą
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
Imports IronOcr
Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Lithuanian

Using Input = New OcrInput("LowQuality.jpeg")
Input.DeNoise() ' pataiso skaitmeninį triukšmą ir blogą nuskaitymą
Input.Deskew() ' fiksuoja sukimąsi ir perspektyvą
Dim Result = Ocr.Read(Input)
Console.WriteLine(Result.Text)
End Using
VB   C#

OCR vaizdo filtrų sąrašas

„IronOCR“ įmontuoti įvesties filtrai, skirti pagerinti OCR veikimą, yra šie:

  • „OcrInput.Rotate“ (dvigubi laipsniai) - vaizdus pasuka keliais laipsniais pagal laikrodžio rodyklę. Jei naudojate prieš laikrodžio rodyklę, naudokite neigiamus skaičius.
  • „OcrInput.Binarize“) - šis vaizdo filtras kiekvieną pikselį paverčia juodu arba baltu be vidurio. Gali pagerinti OCR našumo atvejus, kai labai žemas teksto ir fono kontrastas.
  • OcrInput.ToGrayScale () - Šis vaizdo filtras kiekvieną pikselį paverčia pilkos spalvos atspalviu. Vargu ar pagerins OCR tikslumą, bet gali pagerinti greitį
  • OcrInput.Contrast () - automatiškai padidina kontrastą. Šis filtras dažnai pagerina OCR greitį ir tikslumą nuskaitydamas žemą kontrastą.
  • OcrInput.DeNoise () - pašalina skaitmeninį triukšmą. Šis filtras turėtų būti naudojamas tik ten, kur tikimasi triukšmo.
  • „OcrInput.Invert“ () - pakeičia kiekvieną spalvą. Pvz., Balta tampa juoda: juoda tampa balta.
  • OcrInput.Dilate () - Išplėstinė morfologija. Išsiplėtimas prideda taškų prie objekto ribų paveikslėlyje. Priešais Erodę
  • OcrInput.Erode () - išplėstinė morfologija. Erozija pašalina taškus nuo objekto ribų
  • OcrInput.Deskew () - pasuka vaizdą, kad jis būtų teisingas aukštyn ir stačiakampis. Tai labai naudinga OCR, nes „Tesseract“ tolerancija iškreiptiems nuskaitymams gali siekti 5 laipsnius.
  • OcrInput.DeepCleanBackgroundNoise () - stiprus foninio triukšmo šalinimas. Šį filtrą naudokite tik tuo atveju, jei žinomas ypatingas dokumento foninis triukšmas, nes šis filtras taip pat gali sumažinti švarių dokumentų OCR tikslumą ir yra labai brangus procesoriui.
  • „OcrInput.EnhanceResolution“ - padidina žemos kokybės vaizdų skiriamąją gebą. Šis filtras dažnai nereikalingas, nes „ OcrInput.MinimumDPI“ ir „ OcrInput.TargetDPI “ automatiškai užfiksuos ir išspręs žemos skiriamosios gebos įvestis.

„CleanBackgroundNoise“. Tai nuostata, kuri užima daug laiko; tačiau tai leidžia bibliotekai automatiškai išvalyti skaitmeninį vaizdą, popieriaus raukšles ir kitus skaitmeninio vaizdo trūkumus, dėl kurių kitu atveju jo nebebūtų įmanoma nuskaityti kitose OCR bibliotekose.

„EnhanceContrast“ yra parametras, dėl kurio „Iron OCR“ automatiškai padidina teksto kontrastą prieš vaizdo foną, padidindamas OCR tikslumą ir padidindamas OCR našumą bei greitį.

„EnhanceResolution“ yra nustatymas, kuris automatiškai aptiks žemos skiriamosios gebos vaizdus (kurie yra mažesni nei 275 dpi) ir automatiškai padidins vaizdą, o tada paryškins visą tekstą, kad jį OCR biblioteka galėtų puikiai perskaityti. Nors ši operacija pati užima daug laiko, ji paprastai sutrumpina bendrą OCR operacijos paveikslėlyje laiką.

„Language Iron“ OCR palaiko 22 tarptautinius kalbų paketus, o kalbos nustatymą galima naudoti norint pasirinkti vieną ar kelias kalbas, kurios bus taikomos OCR operacijai.

„Strategy Iron OCR“ palaiko dvi strategijas. Mes galime pasirinkti greitai arba ne taip tiksliai nuskaityti dokumentą arba naudoti pažangią strategiją, kurioje naudojami kai kurie dirbtinio intelekto modeliai, siekiant automatiškai pagerinti OCR teksto tikslumą, žiūrint į statistinius žodžių santykius sakinyje .

„ColorSpace“ yra parametras, pagal kurį galime pasirinkti OCR pilkos spalvos arba spalvos. Paprastai pilkos spalvos skalė yra geriausias pasirinkimas. Tačiau kartais, kai yra panašaus atspalvio, bet labai skirtingos spalvos tekstų ar fonų, spalvota spalvų erdvė suteiks geresnių rezultatų.

„DetectWhiteTextOnDarkBackgrounds“. Paprastai visos OCR bibliotekos tikisi matyti juodą tekstą baltame fone. Šis nustatymas leidžia „Iron OCR“ automatiškai aptikti neigiamus arba tamsius puslapius su baltu tekstu ir juos perskaityti.

„InputImageType“. Šis nustatymas leidžia kūrėjui nurodyti OCR biblioteką, ar ji žiūri į visą dokumentą, ar į fragmentą, pvz., Ekrano kopiją.

„RotateAndStraighten“ yra išplėstinė nuostata, leidžianti „Iron OCR“ unikalią galimybę skaityti ne tik pasuktus, bet galbūt perspektyvinius dokumentus, pavyzdžiui, tekstinių dokumentų nuotraukas.

„ReadBarcodes“ yra naudinga funkcija, leidžianti „Iron OCR“ automatiškai skaityti brūkšninius kodus ir QR kodus puslapiuose, nes jis taip pat skaito tekstą, nepridėdamas didelių papildomų laiko sąnaudų.

SpalvaGylis. Šis nustatymas nustato, kiek bitų viename pikselyje OCR biblioteka naudos spalvos gyliui nustatyti. Didesnis spalvų gylis gali pagerinti OCR kokybę, bet taip pat prailgins laiką, reikalingą OCR operacijai užbaigti.

126 kalbų paketai

„Iron OCR“ palaiko 126 tarptautines kalbas per kalbų paketus, kurie platinami kaip DLL, kuriuos galima atsisiųsti iš šios svetainės arba „ NuGet Package Manager“ .

Kalbos apima vokiečių, prancūzų, anglų, kinų, japonų ir daugelį kitų. Specializuotų kalbų paketai yra skirti pasų MRZ, MICR patikrinimams, finansiniams duomenims, valstybiniams numeriams ir daugeliui kitų. Taip pat galite naudoti bet kokį „tesseract“ .traineddata failą, įskaitant tuos, kuriuos sukūrėte patys.

Kalbos pavyzdys

Naudojant kitas OCR kalbas.

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

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Arabic;

using (var input = new OcrInput())
{
input.AddImage("img/arabic.gif");
// Jei reikia, pridėkite vaizdo filtrų
// Šiuo atveju net minties įvestis yra labai nekokybiška
// „IronTesseract“ gali perskaityti tai, ko negali įprastas „Tesseract“.

var Result = Ocr.Read(input);

// Konsolė negali lengvai spausdinti arabų kalbos „Windows“ sistemoje.
// Vietoj to išsaugokime diske.
Result.SaveAsTextFile("arabic.txt");
}
// using IronOcr;
// PM> Install IronOcr.Languages.Arabic

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Arabic;

using (var input = new OcrInput())
{
input.AddImage("img/arabic.gif");
// Jei reikia, pridėkite vaizdo filtrų
// Šiuo atveju net minties įvestis yra labai nekokybiška
// „IronTesseract“ gali perskaityti tai, ko negali įprastas „Tesseract“.

var Result = Ocr.Read(input);

// Konsolė negali lengvai spausdinti arabų kalbos „Windows“ sistemoje.
// Vietoj to išsaugokime diske.
Result.SaveAsTextFile("arabic.txt");
}
' using IronOcr;
' PM> Install IronOcr.Languages.Arabic

Dim Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Arabic

Using input = New OcrInput()
input.AddImage("img/arabic.gif")
' Jei reikia, pridėkite vaizdo filtrų
' Šiuo atveju net minties įvestis yra labai nekokybiška
' „IronTesseract" gali perskaityti tai, ko negali įprastas „Tesseract".

Dim Result = Ocr.Read(input)

' Konsolė negali lengvai spausdinti arabų kalbos „Windows" sistemoje.
' Vietoj to išsaugokime diske.
Result.SaveAsTextFile("arabic.txt")
End Using
VB   C#

Kelių kalbų pavyzdys

Taip pat galima OCR naudoti kelias kalbas tuo pačiu metu. Tai tikrai gali padėti gauti anglų kalbos metaduomenis ir URL „Unicode“ dokumentuose.

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

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.ChineseSimplified;
Ocr.AddSecondaryLanguage(OcrLanguage.Lithuanian);

// Galime pridėti bet kokį skaičių kalbų

using (var input = new OcrInput())
{
input.Add("multi - language.pdf");
var Result = Ocr.Read(input);
Result.SaveAsTextFile("results.txt");
}
// using IronOcr;
// PM> Install IronOcr.Languages.ChineseSimplified

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.ChineseSimplified;
Ocr.AddSecondaryLanguage(OcrLanguage.Lithuanian);

// Galime pridėti bet kokį skaičių kalbų

using (var input = new OcrInput())
{
input.Add("multi - language.pdf");
var Result = Ocr.Read(input);
Result.SaveAsTextFile("results.txt");
}
' using IronOcr;
' PM> Install IronOcr.Languages.ChineseSimplified

Dim Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.ChineseSimplified
Ocr.AddSecondaryLanguage(OcrLanguage.Lithuanian)

' Galime pridėti bet kokį skaičių kalbų

Using input = New OcrInput()
input.Add("multi - language.pdf")
Dim Result = Ocr.Read(input)
Result.SaveAsTextFile("results.txt")
End Using
VB   C#

Išsamūs OCR rezultatų objektai

„Iron OCR“ pateikia OCR rezultatų objektą kiekvienai OCR operacijai. Paprastai kūrėjai naudoja tik šio objekto teksto ypatybę norėdami nuskaityti tekstą iš paveikslėlio. Tačiau OCR rezultatai DOM yra daug pažangesni nei šis.

using IronOcr;
using System.Drawing; //Pridėti surinkimo nuorodą

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Lithuanian;
Ocr.Configuration.EngineMode = TesseractEngineMode.TesseractAndLstm;
Ocr.Configuration.ReadBarCodes = true; //! Svarbu

using (var Input = new OcrInput(@"images\sample.tiff"))
{
OcrResult Result = Ocr.Read(Input);
var Pages = Result.Pages;
var Words = Pages[0].Words;
var Barcodes = Result.Barcodes;
// Naršykite čia, kad rastumėte didžiulę, išsamią API:
// - puslapiai, blokai, parafafai, eilutės, žodžiai, simboliai
// - Vaizdų eksportas, šriftų koordinatės, statistiniai duomenys
}
using IronOcr;
using System.Drawing; //Pridėti surinkimo nuorodą

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Lithuanian;
Ocr.Configuration.EngineMode = TesseractEngineMode.TesseractAndLstm;
Ocr.Configuration.ReadBarCodes = true; //! Svarbu

using (var Input = new OcrInput(@"images\sample.tiff"))
{
OcrResult Result = Ocr.Read(Input);
var Pages = Result.Pages;
var Words = Pages[0].Words;
var Barcodes = Result.Barcodes;
// Naršykite čia, kad rastumėte didžiulę, išsamią API:
// - puslapiai, blokai, parafafai, eilutės, žodžiai, simboliai
// - Vaizdų eksportas, šriftų koordinatės, statistiniai duomenys
}
Imports IronOcr
Imports System.Drawing 'Pridėti surinkimo nuorodą

Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Lithuanian
Ocr.Configuration.EngineMode = TesseractEngineMode.TesseractAndLstm
Ocr.Configuration.ReadBarCodes = True '! Svarbu

Using Input = New OcrInput("images\sample.tiff")
Dim Result As OcrResult = Ocr.Read(Input)
Dim Pages = Result.Pages
Dim Words = Pages(0).Words
Dim Barcodes = Result.Barcodes
' Naršykite čia, kad rastumėte didžiulę, išsamią API:
' - puslapiai, blokai, parafafai, eilutės, žodžiai, simboliai
' - Vaizdų eksportas, šriftų koordinatės, statistiniai duomenys
End Using
VB   C#

Spektaklis

„IronOCR“ veikia iš dėžutės, nereikia derinti ar stipriai modifikuoti įvesties vaizdų.

Greitis žaibiškas: „IronOcr.2020 +“ yra iki 10 kartų greitesnis ir padaro daugiau nei 250% mažiau klaidų nei ankstesnių versijų.

Sužinokite daugiau

Norėdami sužinoti daugiau apie OCR C #, VB, F # ar bet kuria kita .NET kalba, perskaitykite mūsų bendruomenės pamokas , kuriose pateikiami pavyzdžiai, kaip galima naudoti geležies OCR, ir gali parodyti niuansus, kaip kuo geriau pasinaudoti šią biblioteką.

Taip pat yra visa .NET kūrėjų objekto nuoroda .