Bosanski OCR u C#i .NET

Ostale verzije ovog dokumenta:

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

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

Sadržaj IronOcr.Languages.Bosnian

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

  • Bosanski
  • BosnianBest
  • BosnianFast

Skinuti

Bosanski jezički paket [bosanski jezik]
* Download as Zip
* Install with
https://www.nuget.org/packages/IronOcr.Languages.Bosnian/'> NuGet

Instalacija

Prvo što moramo učiniti je instalirati naš bosanski OCR paket na vaš .NET projekat.

PM> Install-Package IronOCR.Languages.Bosnian

Primjer koda

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

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

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

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

Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Bosnian
Using Input = New OcrInput("images\Bosnian.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 softverska biblioteka.

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

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

  • Instalirajte kao jedan DLL ili NuGet
  • Uključuje motore Tesseract 5, 4 i 3 iz kutije.
  • Preciznost 99,8% značajno nadmašuje redovni Tesseract.
  • Zapanjujuća brzina i višestruko navojavanje
  • Kompatibilan s MVC, WebApp, Desktop, Console i Server Application
  • Ne postoji Exes ili C ++ kôd za rad
  • Potpuna PDF OCR podrška
  • Da biste izvršili OCR 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 bar kodove i QR kodove
  • Izvezite OCR u XHTML
  • Izvezite OCR u PDF dokumente koji se mogu pretraživati
  • Multithreading podrška
  • 126 međunarodnih jezika kojima se upravlja putem NuGet ili OcrData datoteka
  • 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č prepoznavanja željeza svijetli kada radite sa slikama iz stvarnog svijeta i nesavršenim dokumentima poput fotografija ili skeniranja niske rezolucije 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 upotrebe.

OCR sa Tesseract 5 - započnite kodiranje 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.Bosnian
using IronOcr;

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Bosnian;
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.Bosnian
using IronOcr;

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Bosnian;
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.Bosnian
Imports IronOcr

Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Bosnian
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.Bosnian;
using (var input = new OcrInput())
{
input.AddPdf("example.pdf", "password");
// Takođe 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.Bosnian;
using (var input = new OcrInput())
{
input.AddPdf("example.pdf", "password");
// Takođe 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.Bosnian
Using input = New OcrInput()
input.AddPdf("example.pdf", "password")
' Takođe 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 sa 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.Bosnian;

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

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

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 karakteristika IronOCR-a je da može čitati crtične kodove i QR kodove iz dokumenata dok skenira tekst. OcrResult.OcrBarcode klase 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 lokacija takođe su 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 lokacija takođe su 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 lokacija takođe su izloženi
Next Barcode
End Using
VB   C#

OCR na određenim područjima slika

Sve metode skeniranja i čitanja IronOCR pružaju mogućnost preciznog preciziranja 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 efikasnost.

Da bismo koristili regije System.Drawing ćemo dodati sistemsku referencu na System.Drawing kako bismo mogli koristiti objekt System.Drawing.Rectangle .

using IronOcr;

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

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

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

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 niskog kvaliteta

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

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

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

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

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#

Izvezite 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.Bosnian;

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

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

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 konverzije

Pretvorite TIFF dokument (ili bilo koju grupu slikovnih datoteka) izravno u PDF koji se može pretraživati i koji se može indeksirati pomoću intraneta, web stranica i Google pretraživača.

using IronOcr;

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

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

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

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

Izvoz OCR rezultata kao HTML

OCR pretvorba slike u XHTML.

using IronOcr;

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Bosnian;
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.Bosnian;
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.Bosnian
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

Čini ulazne slike OCR-om kvalitetnijim da bi proizveo bolje, brže rezultate OCR-a.

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

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

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

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#

Spisak OCR filtera slika

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

  • OcrInput.Rotate (dvostruki stepeni) - Rotira slike za određeni broj stepeni 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 performansi OCR-a s vrlo malim kontrastom teksta u pozadinu.
  • OcrInput.ToGrayScale () - Ovaj filtar slike pretvara svaki piksel u nijansu sivih tonova. Malo je verovatno da će poboljšati tačnost OCR-a, ali može poboljšati brzinu
  • OcrInput.Contrast () - Automatski povećava kontrast. Ovaj filter često poboljšava brzinu i preciznost OCR u skeniranjima s malim kontrastom.
  • OcrInput.DeNoise () - Uklanja digitalni šum. Ovaj filter treba koristiti samo tamo gdje se očekuje buka.
  • OcrInput.Invert () - Invertira svaku boju. Npr. Bijelo postaje crno: crno postaje bijelo.
  • OcrInput.Dilate () - Napredna morfologija. Dilatacija dodaje piksele granicama objekata na slici. Suprotno od Erode
  • OcrInput.Erode () - Napredna morfologija. Erozija uklanja piksele na granicama objekata, nasuprot 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 stepeni.
  • OcrInput.DeepCleanBackgroundNoise () - Uklanjanje jake pozadinske buke. Koristite ovaj filter samo u slučaju da je poznata ekstremna pozadinska buka dokumenata, jer će ovaj filter također riskirati smanjenjem OCR preciznosti čistih dokumenata i vrlo je skup CPU.
  • OcrInput.EnhanceResolution - Poboljšava razlučivost slika niskog kvaliteta. Ovaj filter nije često potreban jer će OcrInput.MinimumDPI i OcrInput.TargetDPI automatski uhvatiti i riješiti ulaze niske rezolucije.

CleanBackgroundNoise. Ovo je postavka koja donekle oduzima vrijeme; međutim, omogućava biblioteci da automatski očisti digitalni šum, zgužvanje papira i druge nedostatke unutar digitalne slike koji bi je inače učinili nesposobnom za čitanje u drugim OCR bibliotekama.

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

EnhanceResolution je postavka koja će automatski otkriti slike niske rezolucije (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, uglavnom 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 za OCR operaciju.

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

ColorSpace je postavka pri kojoj možemo odabrati OCR u nijansama sive ili u boji. Općenito, siva skala je 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 biblioteke očekuju da vide crni tekst na bijeloj pozadini. Ova postavka omogućava željeznom OCR-u da automatski prepozna negative ili tamne stranice s bijelim tekstom i pročita ih.

InputImageType. Ova postavka omogućava programeru da vodi OCR biblioteku da li gleda puni dokument ili isječak, poput snimka zaslona.

RotateAndStraighten je napredna postavka koja omogućava 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ćava ž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 kvalitet OCR-a, ali će također povećati vrijeme potrebno za završetak OCR operacije.

126 Jezički 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 Manager-a .

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

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 filtere za slike
// U ovom slučaju, čak i misaoni unos je vrlo loš
// 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 Windowsima.
// 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 filtere za slike
// U ovom slučaju, čak i misaoni unos je vrlo loš
// 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 Windowsima.
// 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 filtere za slike
' U ovom slučaju, čak i misaoni unos je vrlo loš
' 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 Windowsima.
' Umjesto toga, spremimo na disk.
Result.SaveAsTextFile("arabic.txt")
End Using
VB   C#

Primjer više jezika

Takođe je moguće OCR koristiti više jezika istovremeno. Ovo zaista 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.Bosnian);

// 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.Bosnian);

// 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.Bosnian)

' 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. Generalno, programeri koriste samo svojstvo teksta ovog objekta da bi skenirali tekst sa slike. Međutim, DOM rezultata OCR-a je mnogo napredniji od ovog.

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

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

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.Bosnian;
Ocr.Configuration.EngineMode = TesseractEngineMode.TesseractAndLstm;
Ocr.Configuration.ReadBarCodes = true; //!Bitan

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.Bosnian
Ocr.Configuration.EngineMode = TesseractEngineMode.TesseractAndLstm
Ocr.Configuration.ReadBarCodes = True '!Bitan

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#

Performanse

IronOCR radi izvan okvira, bez potrebe za podešavanjem performansi ili velikom modifikacijom ulaznih slika.

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

Nauči više

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

Dostupna je i puna referenca objekta za .NET programere .