Slovenski OCR v C#in .NET

Druge različice tega dokumenta:

IronOCR je programska komponenta C #, ki omogoča .NET koderjem branje besedila s slik in dokumentov PDF v 126 jeziku, vključno s slovenščino.

Je napredna vilica Tesseract, izdelana izključno za razvijalce .NET in redno presega ostale Tesseractove motorje tako po hitrosti kot po natančnosti.

Vsebina IronOcr.Languages.Slovene

Ta paket vsebuje 46 jezikov OCR za .NET:

  • Slovenščina
  • SlovenianBest
  • SlovenianFast

Prenesi

Slovenski jezikovni paket [slovenski jezik]
* Download as Zadrgo
* Install with
https://www.nuget.org/packages/IronOcr.Languages.Slovene/'> NuGet

Namestitev

Najprej moramo namestiti naš slovenski paket OCR v vaš projekt .NET.

PM> Install-Package IronOCR.Languages.Slovene

Primer kode

Ta primer kode C#bere slovensko besedilo iz dokumenta Image ali PDF.

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

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

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

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

Zakaj izbrati IronOCR?

IronOCR je enostavna za namestitev, popolna in dobro dokumentirana knjižnica programske opreme .NET.

Izberite IronOCR, da dosežete 99,8% + natančnost OCR brez uporabe kakršnih koli zunanjih spletnih storitev, stalnih provizij ali pošiljanja zaupnih dokumentov prek interneta.

Zakaj razvijalci C#izberejo IronOCR pred Vanilla Tesseract:

  • Namestite kot en DLL ali NuGet
  • Vključuje motorje Tesseract 5, 4 in 3 iz škatle.
  • Natančnost 99,8% bistveno presega običajni Tesseract.
  • Blazing Speed in MultiThreading
  • Združljiv z MVC, WebApp, namizjem, konzolo in strežniškimi aplikacijami
  • Ni Exes ali kode C ++ za delo
  • Popolna podpora za PDF OCR
  • Za izvedbo OCR skoraj katere koli slikovne datoteke ali PDF-ja
  • Popolna podpora .NET Core, Standard in FrameWork
  • Uvedba v sistemih Windows, Mac, Linux, Azure, Docker, Lambda, AWS
  • Preberite črtne kode in QR kode
  • Izvozi OCR v XHTML
  • Izvozite OCR v iskalne dokumente PDF
  • Podpora za večnitnost
  • 126 mednarodnih jezikov, ki se upravljajo prek datotek NuGet ali OcrData
  • Izvlecite slike, koordinate, statistiko in pisave. Ne samo besedilo.
  • Lahko se uporablja za distribucijo Tesseract OCR znotraj komercialnih in lastniških aplikacij.

OCR z železom zasije pri delu s slikami iz resničnega sveta in nepopolnimi dokumenti, kot so fotografije, ali skeni z nizko ločljivostjo, ki lahko povzročijo digitalni šum ali pomanjkljivosti.

Druge brezplačne knjižnice OCR za platformo .NET, kot so drugi API-ji .net tesseract in spletne storitve, v teh resničnih primerih uporabe ne delujejo tako dobro.

OCR s Tesseract 5 - Začnite kodirati v jeziku C #

Spodnji vzorec kode prikazuje, kako enostavno je brati besedilo s slike s pomočjo C#ali 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#

Nastavljiv Hello World

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

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Slovene;
using (var Input = new OcrInput()){
Input.AddImage("images/sample.jpeg")
//... lahko dodate poljubno število slik
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
// PM> Install-Package IronOCR.Languages.Slovene
using IronOcr;

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Slovene;
using (var Input = new OcrInput()){
Input.AddImage("images/sample.jpeg")
//... lahko dodate poljubno število slik
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
' PM> Install-Package IronOCR.Languages.Slovene
Imports IronOcr

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

Enak pristop lahko podobno uporabimo za pridobivanje besedila iz katerega koli dokumenta PDF.

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Slovene;
using (var input = new OcrInput())
{
input.AddPdf("example.pdf", "password");
// Za OCR lahko izberemo tudi določena številka strani PDF

var Result = Ocr.Read(input);

Console.WriteLine(Result.Text);
Console.WriteLine($"{Result.Pages.Count()} Pages");
// 1 stran za vsako stran PDF-ja
}
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Slovene;
using (var input = new OcrInput())
{
input.AddPdf("example.pdf", "password");
// Za OCR lahko izberemo tudi določena številka strani PDF

var Result = Ocr.Read(input);

Console.WriteLine(Result.Text);
Console.WriteLine($"{Result.Pages.Count()} Pages");
// 1 stran za vsako stran PDF-ja
}
Dim Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Slovene
Using input = New OcrInput()
input.AddPdf("example.pdf", "password")
' Za OCR lahko izberemo tudi določena številka strani PDF

Dim Result = Ocr.Read(input)

Console.WriteLine(Result.Text)
Console.WriteLine($"{Result.Pages.Count()} Pages")
' 1 stran za vsako stran PDF-ja
End Using
VB   C#

OCR za večstranske TIFF

OCR branje oblike datoteke TIFF, vključno z dokumenti z več strani. TIFF je mogoče pretvoriti tudi neposredno v datoteko PDF z besedilom, ki ga je mogoče iskati.

using IronOcr;

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

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

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

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

Črtne kode in QR

Edinstvena značilnost IronOCR je, da lahko bere črtne kode in QR kode iz dokumentov med skeniranjem besedila. OcrResult.OcrBarcode razreda OcrResult.OcrBarcode dajejo razvijalcu podrobne informacije o vsaki optično prebrani črtni OcrResult.OcrBarcode .

// 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);
// izpostavljene tudi lastnosti tipa in lokacije
}
}
// 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);
// izpostavljene tudi lastnosti tipa in lokacije
}
}
' 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)
' izpostavljene tudi lastnosti tipa in lokacije
Next Barcode
End Using
VB   C#

OCR na določenih področjih slik

Vse metode optičnega branja in branja IronOCR omogočajo natančno določanje, s katerega dela strani ali strani želimo brati besedilo. To je zelo koristno, če gledamo standardizirane obrazce in lahko prihranimo ogromno časa in izboljšamo učinkovitost.

Če želimo uporabiti območja obrezovanja, bomo morali dodati sistemsko referenco na System.Drawing , da bomo lahko uporabili objekt System.Drawing.Rectangle .

using IronOcr;

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

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

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

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

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

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

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

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

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

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

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

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

OCR za nizkokakovostne optične bralnike

Razred IronOCR OcrInput lahko popravi skeniranja, ki jih običajni Tesseract ne more prebrati.

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

using (var Input = new OcrInput(@"img\Potter.LowQuality.tiff"))
{
Input.DeNoise(); // odpravlja digitalni šum in slabo skeniranje
Input.Deskew(); // določa rotacijo in perspektivo
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
using IronOcr;
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Slovene;

using (var Input = new OcrInput(@"img\Potter.LowQuality.tiff"))
{
Input.DeNoise(); // odpravlja digitalni šum in slabo skeniranje
Input.Deskew(); // določa rotacijo in perspektivo
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
Imports IronOcr
Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Slovene

Using Input = New OcrInput("img\Potter.LowQuality.tiff")
Input.DeNoise() ' odpravlja digitalni šum in slabo skeniranje
Input.Deskew() ' določa rotacijo in perspektivo
Dim Result = Ocr.Read(Input)
Console.WriteLine(Result.Text)
End Using
VB   C#

Izvoz rezultatov OCR kot PDF, ki ga je mogoče iskati

Slika v PDF s kopiranimi besedilnimi nizi. Lahko jih indeksirajo iskalniki in baze podatkov.

using IronOcr;

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

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

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

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#

Pretvorba TIFF v pretvorbo PDF

Pretvorite dokument TIFF (ali katero koli skupino slikovnih datotek) neposredno v PDF, ki ga je mogoče iskati in ga lahko indeksirajo intranet, spletna mesta in Googlovi iskalniki.

using IronOcr;

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

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

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

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

Izvoz rezultatov OCR kot HTML

Pretvorba slike OCR v XHTML.

using IronOcr;

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

Filtri za izboljšanje slike OCR

IronOCR ponuja edinstvene filtre za objekte OcrInput za izboljšanje učinkovitosti optičnega prepoznavanja znakov.

Primer kode za izboljšanje slike

Vhodne slike OCR omogočajo boljšo kakovost za hitrejše in hitrejše rezultate OCR.

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

using (var Input = new OcrInput(@"LowQuality.jpeg"))
{
Input.DeNoise(); // odpravlja digitalni šum in slabo skeniranje
Input.Deskew(); // določa rotacijo in perspektivo
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
using IronOcr;
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Slovene;

using (var Input = new OcrInput(@"LowQuality.jpeg"))
{
Input.DeNoise(); // odpravlja digitalni šum in slabo skeniranje
Input.Deskew(); // določa rotacijo in perspektivo
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
Imports IronOcr
Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Slovene

Using Input = New OcrInput("LowQuality.jpeg")
Input.DeNoise() ' odpravlja digitalni šum in slabo skeniranje
Input.Deskew() ' določa rotacijo in perspektivo
Dim Result = Ocr.Read(Input)
Console.WriteLine(Result.Text)
End Using
VB   C#

Seznam filtrov za slike OCR

Vhodni filtri za izboljšanje učinkovitosti OCR, ki so vgrajeni v IronOCR, vključujejo:

  • OcrInput.Rotate (dvojne stopinje) - zasuka slike za število stopinj v smeri urnega kazalca. Za smer v levo uporabite negativne številke.
  • OcrInput.Binarize () - Ta slikovni filter postavi vse slikovne pike v črno-bele brez sredine. Lahko izboljša primere delovanja OCR z zelo nizkim kontrastom besedila in ozadja.
  • OcrInput.ToGrayScale () - ta slikovni filter spremeni vsako slikovno piko v odtenek sivine. Natančnost OCR verjetno ne bo izboljšala, lahko pa izboljša hitrost
  • OcrInput.Contrast () - samodejno poveča kontrast. Ta filter pogosto izboljša hitrost in natančnost OCR pri skeniranju z nizkim kontrastom.
  • OcrInput.DeNoise () - Odstrani digitalni šum. Ta filter naj se uporablja samo tam, kjer se pričakuje hrup.
  • OcrInput.Invert () - Pretvori vsako barvo. Npr. Bela postane črna: črna postane bela.
  • OcrInput.Dilate () - napredna morfologija. Razširitev doda piksle mejam predmetov na sliki. Nasproti Erode
  • OcrInput.Erode () - Napredna morfologija. Erozija odstrani slikovne pike na mejah objektov, nasproti razširjene
  • OcrInput.Deskew () - zasuka sliko, tako da je prava pot navzgor in pravokotna. To je zelo koristno za OCR, ker je toleranca Tesseract za poševne preglede lahko tudi do 5 stopinj.
  • OcrInput.DeepCleanBackgroundNoise () - Odstranjevanje močnega hrupa v ozadju. Ta filter uporabite samo, če je znan ekstremni hrup v ozadju dokumentov, ker bo ta filter tudi zmanjšal natančnost OCR čistih dokumentov in je zelo drag za CPU.
  • OcrInput.EnhanceResolution - izboljša ločljivost slik nizke kakovosti. Ta filter ni pogosto potreben, ker OcrInput.MinimumDPI in OcrInput.TargetDPI samodejno ujameta in razrešujeta vnose z nizko ločljivostjo.

CleanBackgroundNoise. To je nastavitev, ki je nekoliko zamudna; vendar knjižnici omogoča samodejno čiščenje digitalnega šuma, zmečkanja papirja in drugih pomanjkljivosti znotraj digitalne slike, zaradi česar je druge knjižnice OCR ne morejo brati.

EnhanceContrast je nastavitev, zaradi katere OCR železa samodejno poveča kontrast besedila na ozadju slike, poveča natančnost OCR in na splošno poveča zmogljivost in hitrost OCR.

EnhanceResolution je nastavitev, ki samodejno zazna slike z nizko ločljivostjo (pod 275 dpi) in samodejno poveča sliko, nato pa izostri celotno besedilo, da ga knjižnica OCR lahko popolnoma prebere. Čeprav je ta operacija že sama po sebi zamudna, na splošno zmanjša skupni čas za operacijo OCR na sliki.

Language IronOCR podpira 22 mednarodnih jezikovnih paketov, z jezikovno nastavitvijo pa lahko izberete enega ali več jezikov, ki bodo uporabljeni za operacijo OCR.

Strategija IronOCR podpira dve strategiji. Lahko se odločimo za hitro in manj natančno skeniranje dokumenta ali pa uporabimo napredno strategijo, ki uporablja nekatere modele umetne inteligence za samodejno izboljšanje natančnosti besedila OCR, tako da preučimo statistično razmerje besed med seboj v stavku .

ColorSpace je nastavitev, pri kateri se lahko odločimo za OCR v sivinah ali barvah. Na splošno je najboljša možnost sivina. Vendar včasih, ko obstajajo besedila ali ozadja podobnega odtenka, vendar zelo različne barve, bo polnobarvni barvni prostor zagotovil boljše rezultate.

DetectWhiteTextOnDarkBackgrounds. Na splošno vse knjižnice OCR pričakujejo, da bodo na belem ozadju videli črno besedilo. Ta nastavitev omogoča IronOCR, da samodejno zazna negative ali temne strani z belim besedilom in jih prebere.

InputImageType. Ta nastavitev omogoča razvijalcu, da vodi knjižnico OCR glede tega, ali si ogleduje celoten dokument ali delček, na primer posnetek zaslona.

RotateAndStraighten je napredna nastavitev, ki omogoča IronOCR edinstveno zmožnost branja dokumentov, ki niso samo zasukani, ampak morda vsebujejo perspektivo, na primer fotografije besedilnih dokumentov.

ReadBarcode je uporabna funkcija, ki OCR-ju Iron omogoča samodejno branje črtnih kod in QR kod na straneh, saj tudi bere besedilo, ne da bi dodala veliko dodatno časovno obremenitev.

Globina barve. Ta nastavitev določa, koliko bitov na slikovno piko bo knjižnica OCR uporabila za določitev globine barve. Večja barvna globina lahko poveča kakovost OCR, vendar pa tudi čas, potreben za dokončanje postopka OCR.

126 Jezikovni paketi

IronOCR podpira 126 mednarodnih jezikov prek jezikovnih paketov, ki se distribuirajo kot DLL-ji in jih lahko prenesete s tega spletnega mesta ali pa tudi iz upravitelja paketov NuGet .

Med jeziki so nemščina, francoščina, angleščina, kitajščina, japonščina in mnogi drugi. Obstajajo posebni jezikovni paketi za potni list MRZ, čeke MICR, finančne podatke, registrske tablice in še veliko več. Uporabite lahko tudi katero koli datoteko tesseract ".traineddata" - vključno s tistimi, ki jih ustvarite sami.

Primer jezika

Uporaba drugih jezikov OCR.

// 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 slikovne filtre
// V tem primeru je celo miselni vložek zelo slabe kakovosti
// IronTesseract lahko prebere, česar običajni Tesseract ne more.

var Result = Ocr.Read(input);

// Konzola ne more zlahka tiskati arabščine v sistemu Windows.
// Namesto tega shranimo 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 slikovne filtre
// V tem primeru je celo miselni vložek zelo slabe kakovosti
// IronTesseract lahko prebere, česar običajni Tesseract ne more.

var Result = Ocr.Read(input);

// Konzola ne more zlahka tiskati arabščine v sistemu Windows.
// Namesto tega shranimo 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 slikovne filtre
' V tem primeru je celo miselni vložek zelo slabe kakovosti
' IronTesseract lahko prebere, česar običajni Tesseract ne more.

Dim Result = Ocr.Read(input)

' Konzola ne more zlahka tiskati arabščine v sistemu Windows.
' Namesto tega shranimo na disk.
Result.SaveAsTextFile("arabic.txt")
End Using
VB   C#

Primer več jezikov

OCR je mogoče tudi hkrati uporabljati v več jezikih. To lahko resnično pomaga pri pridobivanju metapodatkov in URL-jev v angleškem jeziku v dokumentih Unicode.

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

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

// Dodamo lahko poljubno število jezikov

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

// Dodamo lahko poljubno število jezikov

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

' Dodamo lahko poljubno število jezikov

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

Podrobni cilji rezultatov OCR

IronOCR za vsako operacijo OCR vrne objekt rezultata OCR. Na splošno razvijalci uporabljajo samo lastnost besedila tega predmeta, da dobijo besedilo optično prebrano s slike. Vendar je DOM rezultatov OCR precej naprednejši od tega.

using IronOcr;
using System.Drawing; //Dodajte sklic na sklop

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

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;
// Tu raziščite in poiščite obsežen, podroben API:
// - Strani, bloki, parafafi, vrstice, besede, znaki
// - Izvoz slik, koordinate pisav, statistični podatki
}
using IronOcr;
using System.Drawing; //Dodajte sklic na sklop

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

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;
// Tu raziščite in poiščite obsežen, podroben API:
// - Strani, bloki, parafafi, vrstice, besede, znaki
// - Izvoz slik, koordinate pisav, statistični podatki
}
Imports IronOcr
Imports System.Drawing 'Dodajte sklic na sklop

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

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
' Tu raziščite in poiščite obsežen, podroben API:
' - Strani, bloki, parafafi, vrstice, besede, znaki
' - Izvoz slik, koordinate pisav, statistični podatki
End Using
VB   C#

Izvedba

IronOCR deluje izven škatle, ne da bi ga bilo treba prilagoditi ali močno spremeniti vhodne slike.

Hitrost je neverjetna: IronOcr.2020 + je do 10-krat hitrejši in naredi za več kot 250% manj napak kot prejšnje gradnje.

Nauči se več

Če želite izvedeti več o OCR v jeziku C #, VB, F # ali katerem koli drugem jeziku .NET, preberite naše vadnice v skupnosti , ki dajejo resnične primere, kako se lahko uporablja OCR Iron, in lahko prikažejo odtenke, kako najbolje izkoristiti ta knjižnica.

Na voljo je tudi popolna referenca predmeta za razvijalce .NET .