Hrvatski OCR u C#i .NET

Ostale verzije ovog dokumenta:

IronOCR je programska komponenta C#koja omogućuje .NET koderima čitanje teksta sa slika i PDF dokumenata na 126 jezika, uključujući hrvatski.

To je napredna vilica Tesseract, napravljena isključivo za .NET programere i redovito nadmašuje ostale Tesseract motore i brzinom i točnošću.

Sadržaj IronOcr.Languages.Hrvatski

Ovaj paket sadrži 49 OCR jezika za .NET:

  • Hrvatski
  • CroatianBest
  • CroatianFast

preuzimanje datoteka

Hrvatski jezični paket [hrvatski jezik]
* Download as Zip
* Install with
https://www.nuget.org/packages/IronOcr.Languages.Croatian/'> NuGet

Montaža

Prvo što moramo učiniti je instalirati naš hrvatski OCR paket na vaš .NET projekt.

PM> Install-Package IronOCR.Languages.Croatian

Primjer koda

Ovaj primjer C#koda čita hrvatski tekst iz slikovnog ili PDF dokumenta.

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

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

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

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

Zašto odabrati IronOCR?

IronOCR je jednostavna za instalaciju, cjelovita i dobro dokumentirana .NET programska knjižnica.

Odaberite IronOCR da biste postigli točnost 99,8% + OCR bez upotrebe bilo kakvih vanjskih web usluga, trajnih naknada ili slanja povjerljivih dokumenata putem Interneta.

Zašto programeri za C#odabiru IronOCR umjesto Vanilla Tesseract:

  • Instalirajte kao jedan DLL ili NuGet
  • Uključuje motore Tesseract 5, 4 i 3 iz kutije.
  • Točnost 99,8% značajno nadmašuje uobičajeni Tesseract.
  • Izvanredna brzina i višestruko navojavanje
  • Kompatibilan s MVC-om, WebApp-om, radnom površinom, konzolom i poslužiteljem
  • Ne postoji Exes ili C ++ kôd za rad
  • Puna podrška za OCR PDF
  • Za izvođenje OCR-a na gotovo bilo kojoj slikovnoj datoteci ili PDF-u
  • Puna podrška za .NET Core, Standard i FrameWork
  • Primijeniti na Windows, Mac, Linux, Azure, Docker, Lambda, AWS
  • Čitajte crtične kodove i QR kodove
  • Izvezite OCR u XHTML
  • Izvezite OCR u PDF dokumente koji se mogu pretraživati
  • Podrška za višenitke
  • 126 međunarodnih jezika kojima se upravlja putem datoteka NuGet ili OcrData
  • Izdvoj slike, koordinate, statistiku i fontove. Ne samo tekst.
  • Može se koristiti za distribuciju Tesseract OCR-a unutar komercijalnih i vlasničkih aplikacija.

Optički prepoznavač željeza sjaji pri radu sa slikama iz stvarnog svijeta i nesavršenim dokumentima poput fotografija ili skeniranja niske razlučivosti koji mogu imati digitalne šume ili nedostatke.

Druge besplatne OCR biblioteke za .NET platformu, poput ostalih .net tesseract API-ja i web usluga, nemaju tako dobru izvedbu u ovim stvarnim slučajevima korištenja.

OCR s Tesseract 5 - započnite s kodiranjem na C #

Uzorak koda u nastavku pokazuje koliko je lako čitati tekst sa slike pomoću C#ili 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#

Podesivi Hello World

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

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Croatian;
using (var Input = new OcrInput()){
Input.AddImage("images/sample.jpeg")
//... možete dodati bilo koji broj slika
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
// PM> Install-Package IronOCR.Languages.Croatian
using IronOcr;

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Croatian;
using (var Input = new OcrInput()){
Input.AddImage("images/sample.jpeg")
//... možete dodati bilo koji broj slika
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
' PM> Install-Package IronOCR.Languages.Croatian
Imports IronOcr

Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Croatian
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

Isti se pristup može slično koristiti za izdvajanje teksta iz bilo kojeg PDF dokumenta.

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Croatian;
using (var input = new OcrInput())
{
input.AddPdf("example.pdf", "password");
// Također možemo odabrati određene brojeve PDF stranica za OCR

var Result = Ocr.Read(input);

Console.WriteLine(Result.Text);
Console.WriteLine($"{Result.Pages.Count()} Pages");
// 1 stranica za svaku stranicu PDF-a
}
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Croatian;
using (var input = new OcrInput())
{
input.AddPdf("example.pdf", "password");
// Također možemo odabrati određene brojeve PDF stranica za OCR

var Result = Ocr.Read(input);

Console.WriteLine(Result.Text);
Console.WriteLine($"{Result.Pages.Count()} Pages");
// 1 stranica za svaku stranicu PDF-a
}
Dim Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Croatian
Using input = New OcrInput()
input.AddPdf("example.pdf", "password")
' Također možemo odabrati određene brojeve PDF stranica za OCR

Dim Result = Ocr.Read(input)

Console.WriteLine(Result.Text)
Console.WriteLine($"{Result.Pages.Count()} Pages")
' 1 stranica za svaku stranicu PDF-a
End Using
VB   C#

OCR za MultiPage TIFF

OCR čitanje TIFF formata datoteke, uključujući dokumente s više stranica. TIFF se također može pretvoriti izravno u PDF datoteku s tekstom koji se može pretraživati.

using IronOcr;

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

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.Croatian;

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.Croatian

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

Barkodovi i QR

Jedinstvena značajka IronOCR-a je što može čitati crtične kodove i QR kodove iz dokumenata dok skenira tekst. OcrResult.OcrBarcode klase OcrResult.OcrBarcode daju programeru detaljne informacije o svakom skeniranom OcrResult.OcrBarcode kodu.

// 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);
// vrsta i položaj svojstva također izloženi
}
}
// 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);
// vrsta i položaj svojstva također izloženi
}
}
' 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)
' vrsta i položaj svojstva također izloženi
Next Barcode
End Using
VB   C#

OCR na određenim područjima slika

Sve metode skeniranja i čitanja OCR-a željeza pružaju mogućnost preciznog određivanja s kojeg dijela stranice ili stranica želimo čitati tekst. Ovo je vrlo korisno kada gledamo standardizirane obrasce i možemo uštedjeti jako puno vremena i poboljšati učinkovitost.

Da bismo koristili obrezne regije, morat ćemo dodati referencu sustava na System.Drawing kako bismo mogli koristiti System.Drawing.Rectangle objekt.

using IronOcr;

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

using (var Input = new OcrInput())
{
var ContentArea = new System.Drawing.Rectangle() { X = 215, Y = 1250, Height = 280, Width = 1335 };
// Dimenzije su u px

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

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

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

using (var Input = new OcrInput())
{
var ContentArea = new System.Drawing.Rectangle() { X = 215, Y = 1250, Height = 280, Width = 1335 };
// Dimenzije su u px

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

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

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

Using Input = New OcrInput()
Dim ContentArea = New System.Drawing.Rectangle() With {
	.X = 215,
	.Y = 1250,
	.Height = 280,
	.Width = 1335
}
' Dimenzije su u px

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

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

OCR za skeniranje niske kvalitete

Klasa IronOCR OcrInput može popraviti skeniranja koja normalni Tesseract ne može pročitati.

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

using (var Input = new OcrInput(@"img\Potter.LowQuality.tiff"))
{
Input.DeNoise(); // popravlja digitalni šum i loše skeniranje
Input.Deskew(); // popravlja rotaciju i perspektivu
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
using IronOcr;
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Croatian;

using (var Input = new OcrInput(@"img\Potter.LowQuality.tiff"))
{
Input.DeNoise(); // popravlja digitalni šum i loše skeniranje
Input.Deskew(); // popravlja rotaciju i perspektivu
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
Imports IronOcr
Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Croatian

Using Input = New OcrInput("img\Potter.LowQuality.tiff")
Input.DeNoise() ' popravlja digitalni šum i loše skeniranje
Input.Deskew() ' popravlja rotaciju i perspektivu
Dim Result = Ocr.Read(Input)
Console.WriteLine(Result.Text)
End Using
VB   C#

Izvezi rezultate OCR-a kao PDF koji se može pretraživati

Slika u PDF s tekstualnim nizovima koji se mogu kopirati. Mogu se indeksirati putem pretraživača i baza podataka.

using IronOcr;

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

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.Croatian;

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.Croatian

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 za pretvorbu PDF pretvorbe

Pretvorite TIFF dokument (ili bilo koju skupinu slikovnih datoteka) izravno u PDF koji se može pretraživati, a koji se mogu indeksirati putem intraneta, web stranica i Googleovih tražilica.

using IronOcr;

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

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.Croatian;

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.Croatian

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

Izvezi rezultate OCR-a kao HTML

OCR pretvorba slike u XHTML.

using IronOcr;

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Croatian;
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.Croatian;
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.Croatian
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 filtri za poboljšanje slike

IronOCR nudi jedinstvene filtre za OcrInput objekte za poboljšanje performansi OCR-a.

Primjer koda za poboljšanje slike

Ulazne slike OCR čine kvalitetnijima kako bi se postigli bolji, brži OCR rezultati.

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

using (var Input = new OcrInput(@"LowQuality.jpeg"))
{
Input.DeNoise(); // popravlja digitalni šum i loše skeniranje
Input.Deskew(); // popravlja rotaciju i perspektivu
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
using IronOcr;
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Croatian;

using (var Input = new OcrInput(@"LowQuality.jpeg"))
{
Input.DeNoise(); // popravlja digitalni šum i loše skeniranje
Input.Deskew(); // popravlja rotaciju i perspektivu
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
Imports IronOcr
Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Croatian

Using Input = New OcrInput("LowQuality.jpeg")
Input.DeNoise() ' popravlja digitalni šum i loše skeniranje
Input.Deskew() ' popravlja rotaciju i perspektivu
Dim Result = Ocr.Read(Input)
Console.WriteLine(Result.Text)
End Using
VB   C#

Popis OCR filtara slike

Ulazni filtri za poboljšanje performansi OCR-a koji su ugrađeni u IronOCR uključuju:

  • OcrInput.Rotate (dupli stupnjevi) - Rotira slike za određeni broj stupnjeva u smjeru kazaljke na satu. Za suprotno od kazaljke na satu koristite negativne brojeve.
  • OcrInput.Binarize () - Ovaj filtar slike svaki piksel pretvara u crno ili bijelo bez sredine. Može poboljšati slučajeve izvedbe OCR-a s vrlo malim kontrastom teksta u pozadinu.
  • OcrInput.ToGrayScale () - ovaj filtar slike svaki piksel pretvara u nijansu sivih tonova. Malo je vjerojatno da će poboljšati točnost OCR-a, ali može poboljšati brzinu
  • OcrInput.Contrast () - Automatski povećava kontrast. Ovaj filtar često poboljšava brzinu i preciznost OCR u skeniranjima s niskim kontrastom.
  • OcrInput.DeNoise () - Uklanja digitalni šum. Ovaj se filtar smije koristiti samo tamo gdje se očekuje buka.
  • OcrInput.Invert () - Invertira svaku boju. Npr. Bijela postaje crna: crna postaje bijela.
  • OcrInput.Dilate () - Napredna morfologija. Dilatacija dodaje piksele granicama objekata na slici. Nasuprot Erode
  • OcrInput.Erode () - Napredna morfologija. Erozija uklanja piksele na granicama predmeta Suprotno Dilateu
  • OcrInput.Deskew () - Rotira sliku tako da je pravi put prema gore i pravokutna. Ovo je vrlo korisno za OCR jer tolerancija Tesseract-a na iskrivljena skeniranja može biti i do 5 stupnjeva.
  • OcrInput.DeepCleanBackgroundNoise () - Uklanjanje jake pozadinske buke. Koristite ovaj filtar samo u slučaju da je poznata ekstremna pozadinska buka dokumenata, jer će ovaj filtar također riskirati smanjenje OCR preciznosti čistih dokumenata i vrlo je skup CPU.
  • OcrInput.EnhanceResolution - Poboljšava razlučivost slika niske kvalitete. Ovaj filtar nije često potreban jer će OcrInput.MinimumDPI i OcrInput.TargetDPI automatski uhvatiti i riješiti ulaze niske razlučivosti.

CleanBackgroundNoise. Ovo je postavka koja donekle oduzima vrijeme; međutim, omogućuje knjižnici da automatski očisti digitalni šum, zgužvanje papira i druge nedostatke unutar digitalne slike što bi je inače učinilo nesposobnom za čitanje u drugim OCR knjižnicama.

EnhanceContrast je postavka zbog koje OCR za željezo automatski povećava kontrast teksta na pozadini slike, povećavajući točnost OCR-a i općenito povećavajući performanse i brzinu OCR-a.

EnhanceResolution je postavka koja će automatski otkriti slike niske razlučivosti (manje od 275 dpi) i automatski povećati sliku, a zatim izoštriti sav tekst kako bi ga OCR biblioteka mogla savršeno pročitati. Iako je ova operacija sama po sebi dugotrajna, općenito smanjuje ukupno vrijeme za OCR operaciju na slici.

Language IronOCR podržava 22 međunarodna jezična paketa, a postavka jezika može se koristiti za odabir jednog ili više jezika koji će se primijeniti na OCR operaciju.

Strategija IronOCR podržava dvije strategije. Možemo se odlučiti za brzo i manje precizno skeniranje dokumenta ili upotrijebiti naprednu strategiju koja koristi neke modele umjetne inteligencije za automatsko poboljšanje točnosti OCR teksta gledajući statistički odnos riječi jedne prema drugoj u rečenici .

ColorSpace je postavka kojom možemo odabrati OCR u sivim tonovima ili u boji. Općenito je siva skala najbolja opcija. Međutim, ponekad kada postoje tekstovi ili pozadine slične nijanse, ali vrlo različite boje, prostor u boji u boji pružit će bolje rezultate.

DetectWhiteTextOnDarkBackgrounds. Općenito, sve OCR knjižnice očekuju da vide crni tekst na bijeloj pozadini. Ova postavka omogućuje željezni OCR da automatski prepozna negative ili tamne stranice s bijelim tekstom i pročita ih.

InputImageType. Ova postavka omogućuje programeru da vodi OCR biblioteku da li gleda čitav dokument ili isječak, poput snimke zaslona.

RotateAndStraighten je napredna postavka koja omogućuje IronOCR jedinstvenu sposobnost čitanja dokumenata koji se ne samo rotiraju, već možda sadrže i perspektivu, poput fotografija tekstualnih dokumenata.

ReadBarcode je korisna značajka koja omogućuje željeznom OCR-u da automatski čita crtične kodove i QR kodove na stranicama jer također čita tekst, bez dodavanja velikog dodatnog vremenskog opterećenja.

Dubina boje. Ova postavka određuje koliko bitova po pikselu će OCR biblioteka koristiti za određivanje dubine boje. Veća dubina boje može povećati kvalitetu OCR-a, ali će također povećati vrijeme potrebno za završetak OCR operacije.

126 Jezični paketi

IronOCR podržava 126 međunarodnih jezika putem jezičnih paketa koji se distribuiraju kao DLL-ovi, a koji se mogu preuzeti s ove web stranice ili iz NuGet Package Managera .

Jezici uključuju njemački, francuski, engleski, kineski, japanski i mnoge druge. Postoje specijalni jezični paketi za putovnice MRZ, MICR čekove, financijske podatke, registarske tablice i mnoge druge. Također možete koristiti bilo koju datoteku tesseract ".traineddata" - uključujući one koje sami napravite.

Primjer jezika

Korištenje ostalih OCR jezika.

// 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");
// Po potrebi dodajte filtre za slike
// U ovom je slučaju čak i misaoni unos vrlo nekvalitetan
// IronTesseract može pročitati ono što konvencionalni Tesseract ne može.

var Result = Ocr.Read(input);

// Konzola ne može lako ispisivati arapski na sustavu Windows.
// Umjesto toga spremimo na disk.
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");
// Po potrebi dodajte filtre za slike
// U ovom je slučaju čak i misaoni unos vrlo nekvalitetan
// IronTesseract može pročitati ono što konvencionalni Tesseract ne može.

var Result = Ocr.Read(input);

// Konzola ne može lako ispisivati arapski na sustavu Windows.
// Umjesto toga spremimo na disk.
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")
' Po potrebi dodajte filtre za slike
' U ovom je slučaju čak i misaoni unos vrlo nekvalitetan
' IronTesseract može pročitati ono što konvencionalni Tesseract ne može.

Dim Result = Ocr.Read(input)

' Konzola ne može lako ispisivati arapski na sustavu Windows.
' Umjesto toga spremimo na disk.
Result.SaveAsTextFile("arabic.txt")
End Using
VB   C#

Primjer više jezika

Također je moguće OCR koristiti više jezika istovremeno. Ovo stvarno može pomoći u dobivanju metapodataka i URL-ova na engleskom jeziku u Unicode dokumentima.

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

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

// Možemo dodati bilo koji broj jezika

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.Croatian);

// Možemo dodati bilo koji broj jezika

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.Croatian)

' Možemo dodati bilo koji broj jezika

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

Detaljni objekti rezultata OCR-a

IronOCR vraća objekt rezultata OCR za svaku OCR operaciju. Općenito, programeri koriste samo svojstvo teksta ovog objekta da bi skenirali tekst sa slike. Međutim, DOM rezultata OCR-a mnogo je napredniji od ovog.

using IronOcr;
using System.Drawing; //Dodajte referencu sklopa

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Croatian;
Ocr.Configuration.EngineMode = TesseractEngineMode.TesseractAndLstm;
Ocr.Configuration.ReadBarCodes = true; //!Važno

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;
// Istražite ovdje kako biste pronašli masivan, detaljan API:
// - Stranice, blokovi, parafafi, crte, riječi, znakovi
// - Izvoz slika, koordinate fontova, statistički podaci
}
using IronOcr;
using System.Drawing; //Dodajte referencu sklopa

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Croatian;
Ocr.Configuration.EngineMode = TesseractEngineMode.TesseractAndLstm;
Ocr.Configuration.ReadBarCodes = true; //!Važno

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;
// Istražite ovdje kako biste pronašli masivan, detaljan API:
// - Stranice, blokovi, parafafi, crte, riječi, znakovi
// - Izvoz slika, koordinate fontova, statistički podaci
}
Imports IronOcr
Imports System.Drawing 'Dodajte referencu sklopa

Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Croatian
Ocr.Configuration.EngineMode = TesseractEngineMode.TesseractAndLstm
Ocr.Configuration.ReadBarCodes = True '!Važno

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
' Istražite ovdje kako biste pronašli masivan, detaljan API:
' - Stranice, blokovi, parafafi, crte, riječi, znakovi
' - Izvoz slika, koordinate fontova, statistički podaci
End Using
VB   C#

Izvođenje

IronOCR djeluje izvan okvira, bez potrebe za podešavanjem performansi ili jakom izmjenom ulaznih slika.

Brzina je nevjerojatna: IronOcr.2020 + je do 10 puta brži i čini preko 250% manje pogrešaka od prethodnih izrada.

Saznajte više

Da biste saznali više o OCR-u na C #, VB, F # ili bilo kojem drugom .NET jeziku, pročitajte naše udžbenike u zajednici koji daju stvarne primjere kako se OCR Iron može koristiti i mogu pokazati nijanse kako izvući najbolje iz ovu knjižnicu.

Dostupna je i puna referenca objekta za .NET programere .