OCR shqip në C#dhe.NET

Versione të tjera të këtij dokumenti:

IronOCR është një përbërës i softuerit C#që lejon koduesit NET të lexojnë tekste nga imazhe dhe dokumente PDF në 126 gjuhë, përfshirë shqipen.

Isshtë një pirun i përparuar i Tesseract, i ndërtuar ekskluzivisht për zhvilluesit .NET dhe rregullisht i tejkalon motorët e tjerë Tesseract si për shpejtësinë ashtu edhe për saktësinë.

Përmbajtja e gjuhëve të hekurta. Shqip

Kjo paketë përmban 49 gjuhë OCR për .NET:

  • Shqiptare
  • ShqipBest
  • AlbanianFast

Shkarko

Paketa e Gjuhës Shqipe [gjuha shqipe]
* Download as Zip
* Install with
https://www.nuget.org/packages/IronOcr.Languages.Albanian/'> NuGet

Instalimi

Gjëja e parë që duhet të bëjmë është të instalojmë paketën tonë OCR shqiptare në projektin tuaj .NET.

PM> Install-Package IronOCR.Languages.Albanian

Shembull i kodit

Ky shembull i kodit C#lexon tekstin shqip nga një imazh ose dokument PDF.

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

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

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

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

Pse të zgjidhni IronOCR?

IronOCR është një bibliotekë softuerësh. NET e instalueshme, e plotë dhe e dokumentuar mirë.

Zgjidhni IronOCR për të arritur saktësinë 99.8% + OCR pa përdorur ndonjë shërbim të jashtëm të uebit, tarifa të vazhdueshme ose dërgimin e dokumenteve konfidenciale në internet.

Pse zhvilluesit e C#zgjedhin IronOCR para Vanilla Tesseract:

  • Instaloni si një DLL ose NuGet i vetëm
  • Përfshin motorët Tesseract 5, 4 dhe 3 jashtë kutisë.
  • Saktësia 99.8% i tejkalon dukshëm Tesseract-in e rregullt.
  • Shpejtësia flakëruese dhe lidhja e shumëfishtë
  • Të pajtueshme me MVC, WebApp, Desktop, Console & Server Application
  • Asnjë Exes ose C ++ kod për të punuar
  • Mbështetje e plotë PDF OCR
  • Për të kryer OCR pothuajse çdo skedar imazhi ose PDF
  • Mbështetje e plotë.NET Core, Standard dhe FrameWork
  • Vendosni në Windows, Mac, Linux, Azure, Docker, Lambda, AWS
  • Lexoni barkodet dhe kodet QR
  • Eksportoni OCR si në XHTML
  • Eksportoni OCR në dokumente PDF të kërkueshme
  • Mbështetje me shumë tema
  • 126 gjuhë ndërkombëtare menaxhohen të gjitha përmes skedarëve NuGet ose OcrData
  • Nxjerrni imazhe, koordinata, statistika dhe shkronja. Jo vetëm tekst.
  • Mund të përdoret për të rishpërndarë Tesseract OCR brenda aplikacioneve tregtare dhe pronësore.

OCR hekuri shkëlqen kur punon me imazhe të botës reale dhe dokumente të papërsosur si fotografi, ose skanime me rezolucion të ulët, të cilat mund të kenë zhurmë dixhitale ose papërsosmëri.

Biblioteka të tjera OCR falas për platformën .NET, API-të e tjera të rrjetit dhe shërbimet e tjera të internetit nuk funksionojnë aq mirë në këto raste të përdorimit të botës reale.

OCR me Tesseract 5 - Filloni kodimin në C #

Shembulli i kodit më poshtë tregon se sa e lehtë është të lexosh tekst nga një imazh duke përdorur C#ose 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#

Përshëndetje Botë, e konfigurueshme

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

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Albanian;
using (var Input = new OcrInput()){
Input.AddImage("images/sample.jpeg")
//... mund të shtoni çdo numër imazhesh
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
// PM> Install-Package IronOCR.Languages.Albanian
using IronOcr;

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Albanian;
using (var Input = new OcrInput()){
Input.AddImage("images/sample.jpeg")
//... mund të shtoni çdo numër imazhesh
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
' PM> Install-Package IronOCR.Languages.Albanian
Imports IronOcr

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

E njëjta qasje mund të përdoret në mënyrë të ngjashme për të nxjerrë tekst nga çdo dokument PDF.

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Albanian;
using (var input = new OcrInput())
{
input.AddPdf("example.pdf", "password");
// Ne gjithashtu mund të zgjedhim numra të veçantë të faqeve PDF në OCR

var Result = Ocr.Read(input);

Console.WriteLine(Result.Text);
Console.WriteLine($"{Result.Pages.Count()} Pages");
// 1 faqe për çdo faqe të PDF
}
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Albanian;
using (var input = new OcrInput())
{
input.AddPdf("example.pdf", "password");
// Ne gjithashtu mund të zgjedhim numra të veçantë të faqeve PDF në OCR

var Result = Ocr.Read(input);

Console.WriteLine(Result.Text);
Console.WriteLine($"{Result.Pages.Count()} Pages");
// 1 faqe për çdo faqe të PDF
}
Dim Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Albanian
Using input = New OcrInput()
input.AddPdf("example.pdf", "password")
' Ne gjithashtu mund të zgjedhim numra të veçantë të faqeve PDF në OCR

Dim Result = Ocr.Read(input)

Console.WriteLine(Result.Text)
Console.WriteLine($"{Result.Pages.Count()} Pages")
' 1 faqe për çdo faqe të PDF
End Using
VB   C#

OCR për TIFF me shumë faqe

OCR Leximi i formatit të skedarit TIFF duke përfshirë dokumente të shumëfishta. TIFF gjithashtu mund të shndërrohet direkt në një skedar PDF me tekst të kërkueshëm.

using IronOcr;

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

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

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

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

Barkodet dhe QR

Një tipar unik i IronOCR është që mund të lexojë barkode dhe kodet QR nga dokumentet ndërsa skanon për tekst. Instancat e Klasës OcrResult.OcrBarcode japin zhvilluesit informacione të hollësishme për secilin barkod të skanuar.

// 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);
// lloji dhe pronat e vendndodhjes gjithashtu të ekspozuara
}
}
// 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);
// lloji dhe pronat e vendndodhjes gjithashtu të ekspozuara
}
}
' 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)
' lloji dhe pronat e vendndodhjes gjithashtu të ekspozuara
Next Barcode
End Using
VB   C#

OCR në zona specifike të imazheve

Të gjitha metodat e skanimit dhe leximit të Hekurit OCR ofrojnë aftësinë të specifikojnë saktësisht se nga cila pjesë e një faqeje ose faqesh dëshirojmë të lexojmë tekst. Kjo është shumë e dobishme kur po shikojmë forma të standardizuara dhe mund të kursejmë shumë kohë dhe të përmirësojmë efikasitetin.

Për të përdorur rajone të korrjes, do të duhet të shtojmë një referencë të sistemit në System.Drawing mënyrë që të mund të përdorim objektin System.Drawing.Rectangle .

using IronOcr;

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

using (var Input = new OcrInput())
{
var ContentArea = new System.Drawing.Rectangle() { X = 215, Y = 1250, Height = 280, Width = 1335 };
// Përmasat janë në në px

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

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

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

using (var Input = new OcrInput())
{
var ContentArea = new System.Drawing.Rectangle() { X = 215, Y = 1250, Height = 280, Width = 1335 };
// Përmasat janë në në px

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

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

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

Using Input = New OcrInput()
Dim ContentArea = New System.Drawing.Rectangle() With {
	.X = 215,
	.Y = 1250,
	.Height = 280,
	.Width = 1335
}
' Përmasat janë në në px

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

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

OCR për skanime me cilësi të ulët

Klasa IronOCR OcrInput mund të rregullojë skanimet që Tesseract normal nuk mund t'i lexojë.

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

using (var Input = new OcrInput(@"img\Potter.LowQuality.tiff"))
{
Input.DeNoise(); // rregullon zhurmën dixhitale dhe skanimin e dobët
Input.Deskew(); // rregullon rotacionin dhe perspektivën
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
using IronOcr;
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Albanian;

using (var Input = new OcrInput(@"img\Potter.LowQuality.tiff"))
{
Input.DeNoise(); // rregullon zhurmën dixhitale dhe skanimin e dobët
Input.Deskew(); // rregullon rotacionin dhe perspektivën
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
Imports IronOcr
Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Albanian

Using Input = New OcrInput("img\Potter.LowQuality.tiff")
Input.DeNoise() ' rregullon zhurmën dixhitale dhe skanimin e dobët
Input.Deskew() ' rregullon rotacionin dhe perspektivën
Dim Result = Ocr.Read(Input)
Console.WriteLine(Result.Text)
End Using
VB   C#

Eksportoni rezultatet e OCR si një PDF i Kërkueshëm

Imazh në PDF me vargje të kopjueshme të tekstit. Mund të indeksohet nga motorët e kërkimit dhe bazat e të dhënave.

using IronOcr;

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

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

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

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 në konvertim në PDF që mund të kërkohet

Ktheni një dokument TIFF (ose ndonjë grup skedarësh me imazhe) direkt në një PDF të kërkueshëm i cili mund të indeksohet nga intranet, faqet e internetit dhe motorët e kërkimit google.

using IronOcr;

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

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

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

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

Eksportoni rezultatet e OCR si HTML

Konvertimi i imazhit OCR në XHTML.

using IronOcr;

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

Filtrat e përmirësimit të imazhit OCR

IronOCR ofron filtra unikë për objektet OcrInput për të përmirësuar performancën e OCR.

Shembull i Kodit të Përmirësimit të Imazhit

I bën imazhet hyrëse OCR me cilësi më të lartë për të prodhuar rezultate më të mira dhe më të shpejta të OCR.

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

using (var Input = new OcrInput(@"LowQuality.jpeg"))
{
Input.DeNoise(); // rregullon zhurmën dixhitale dhe skanimin e dobët
Input.Deskew(); // rregullon rotacionin dhe perspektivën
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
using IronOcr;
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Albanian;

using (var Input = new OcrInput(@"LowQuality.jpeg"))
{
Input.DeNoise(); // rregullon zhurmën dixhitale dhe skanimin e dobët
Input.Deskew(); // rregullon rotacionin dhe perspektivën
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
Imports IronOcr
Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Albanian

Using Input = New OcrInput("LowQuality.jpeg")
Input.DeNoise() ' rregullon zhurmën dixhitale dhe skanimin e dobët
Input.Deskew() ' rregullon rotacionin dhe perspektivën
Dim Result = Ocr.Read(Input)
Console.WriteLine(Result.Text)
End Using
VB   C#

Lista e filtrave të imazheve OCR

Filtrat e hyrjes për të rritur performancën e OCR-së, të cilat janë të ndërtuara në IronOCR, përfshijnë:

  • OcrInput. Rrotullo (gradë të dyfishtë) - Rrotullon imazhet me një numër gradësh në drejtim të akrepave të orës. Për kundër akrepave të orës, përdorni numra negativë.
  • OcrInput.Binarize () - Ky filtër imazhi e kthen çdo piksel në të zezë ose të bardhë pa asnjë terren të mesëm. Mund të përmirësojë rastet e performancës së OCR me kontrast shumë të ulët të tekstit në sfond.
  • OcrInput.ToGrayScale () - Ky filtër imazhi kthen çdo piksel në një hije të shkallës gri. Nuk ka gjasa të përmirësojë saktësinë e OCR por mund të përmirësojë shpejtësinë
  • OcrInput.Contrast () - Rrit kontrastin automatikisht. Ky filtër shpesh përmirëson shpejtësinë dhe saktësinë e OCR në skanimet me kontrast të ulët.
  • OcrInput.DeNoise () - Heq zhurmën dixhitale. Ky filtër duhet të përdoret vetëm aty ku pritet zhurmë.
  • OcrInput.Invert () - Përmbys çdo ngjyrë. P.sh Bardha bëhet e zezë: e zeza bëhet e bardhë.
  • OcrInput.Dilate () - Morfologji e Avancuar. Zgjerimi shton piksele në kufijtë e objekteve në një imazh. Përballë Erodës
  • OcrInput.Erode () - Morfologji e Avancuar. Erozioni largon pikselët në kufijtë e objektitPërballë Dilatit
  • OcrInput.Deskew () - Rrotullon një imazh kështu që është mënyra e duhur lart dhe ortogonale. Kjo është shumë e dobishme për OCR sepse toleranca e Tesseract për skanimet e pjerrëta mund të jetë deri në 5 gradë.
  • OcrInput.DeepCleanBackgroundNoise () - Heqja e zhurmës në sfond të rëndë. Përdorni këtë filtër vetëm në rast se njihet zhurma ekstreme e sfondit të dokumentit, sepse ky filtër gjithashtu rrezikon të zvogëlojë saktësinë OCR të dokumenteve të pastra dhe është shumë i kushtueshëm për CPU.
  • OcrInput.EnhanceResolution - Përmirëson rezolucionin e imazheve me cilësi të ulët. Ky filtër nuk është i nevojshëm shpesh sepse OcrInput.MinimumDPI dhe OcrInput.TargetDPI automatikisht do të kapë dhe zgjidhë hyrjet me rezolucion të ulët.

CleanBackgroundNoise. Ky është një mjedis që disi kërkon kohë; megjithatë, kjo i lejon bibliotekës të pastrojë automatikisht zhurmën dixhitale, copëzimet e letrës dhe papërsosmëritë e tjera brenda një imazhi dixhital që përndryshe do ta bënte atë të paaftë për t'u lexuar nga bibliotekat e tjera OCR.

EnhanceContrast është një cilësim që bën që OCR Hekuri të rrisë automatikisht kontrastin e tekstit në sfondin e një imazhi, duke rritur saktësinë e OCR dhe në përgjithësi duke rritur performancën dhe shpejtësinë e OCR.

EnhanceResolution është një cilësim që do të zbulojë automatikisht imazhe me rezolucion të ulët (të cilat janë nën 275 dpi) dhe automatikisht e rrit lart imazhin dhe më pas mpreh të gjithë tekstin në mënyrë që të lexohet në mënyrë të përsosur nga një bibliotekë OCR. Edhe pse ky operacion është në vetvete kohë, zakonisht zvogëlon kohën e përgjithshme për një operacion OCR në një imazh.

Language IronOCR mbështet 22 paketa gjuhësh ndërkombëtare dhe cilësimi i gjuhës mund të përdoret për të zgjedhur një ose më shumë gjuhë të shumta që do të aplikohen për një operacion OCR.

Strategjia Hekuri OCR mbështet dy strategji. Ne mund të zgjedhim të kërkojmë një skanim të shpejtë dhe më pak të saktë të një dokumenti, ose të përdorim një strategji të përparuar që përdor disa modele të inteligjencës artificiale për të përmirësuar automatikisht saktësinë e tekstit OCR duke parë marrëdhënien statistikore të fjalëve me njëra-tjetrën në një fjali .

ColorSpace është një cilësim përmes të cilit ne mund të zgjedhim OCR në shkallë gri ose me ngjyra. Në përgjithësi, shkalla e hirtë është opsioni më i mirë. Sidoqoftë, ndonjëherë kur ka tekste ose sfonde me ngjyrim të ngjashëm, por me ngjyra shumë të ndryshme, një hapësirë me ngjyra të plota do të sigurojë rezultate më të mira.

ZbuloniTeksti i BardhëNë terrenin e errët. Në përgjithësi, të gjitha bibliotekat e OCR presin të shohin tekst të zi në sfond të bardhë. Ky cilësim lejon Hekuri OCR të zbulojë automatikisht negativët, ose faqet e errëta me tekst të bardhë dhe t'i lexojë ato.

InputImageType. Ky cilësim lejon zhvilluesin të udhëzojë bibliotekën OCR nëse po shikon një dokument të plotë ose një copë toke, siç është një screenshot.

RotateAndStraighten është një mjedis i përparuar që lejon IronOCR aftësinë unike për të lexuar dokumente të cilat jo vetëm rrotullohen, por ndoshta përmbajnë perspektivë, siç janë fotografitë e dokumenteve me tekst.

ReadBarcodes është një tipar i dobishëm që lejon IronOCR të lexojë automatikisht barkodet dhe kodet QR në faqe pasi lexon edhe tekst, pa shtuar një ngarkesë të madhe shtesë kohore.

Thellësia e ngjyrës. Ky cilësim përcakton sa bit për pixel do të përdorë biblioteka OCR për të përcaktuar thellësinë e një ngjyre. Një thellësi më e lartë e ngjyrave mund të rrisë cilësinë e OCR, por gjithashtu do të rrisë kohën e nevojshme për të përfunduar operacionin OCR.

126 Paketa Gjuhësh

IronOCR mbështet 126 gjuhë ndërkombëtare përmes paketave gjuhësore të cilat shpërndahen si DLL, të cilat mund të shkarkohen nga kjo faqe në internet , ose gjithashtu nga Menaxheri i Paketave NuGet .

Gjuhët përfshijnë gjermanisht, frëngjisht, anglisht, kinezisht, japonisht dhe shumë më tepër. Paketat e gjuhëve të specializuara ekzistojnë për pasaportat MRZ, kontrollet MICR, të dhënat financiare, targat dhe shumë më tepër. Mund të përdorni gjithashtu çdo skedar tesseract ".traineddata" - përfshirë ato që i krijoni vetë.

Shembull i gjuhës

Përdorimi i gjuhëve të tjera 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");
// Shtoni filtra imazhesh nëse është e nevojshme
// Në këtë rast, edhe hyrja e mendimit është me cilësi shumë të ulët
// IronTesseract mund të lexojë atë që Tesseract konvencional nuk mund.

var Result = Ocr.Read(input);

// Console nuk mund të shtypë arabisht në Windows lehtë.
// Le të ruajmë në disk në vend.
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");
// Shtoni filtra imazhesh nëse është e nevojshme
// Në këtë rast, edhe hyrja e mendimit është me cilësi shumë të ulët
// IronTesseract mund të lexojë atë që Tesseract konvencional nuk mund.

var Result = Ocr.Read(input);

// Console nuk mund të shtypë arabisht në Windows lehtë.
// Le të ruajmë në disk në vend.
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")
' Shtoni filtra imazhesh nëse është e nevojshme
' Në këtë rast, edhe hyrja e mendimit është me cilësi shumë të ulët
' IronTesseract mund të lexojë atë që Tesseract konvencional nuk mund.

Dim Result = Ocr.Read(input)

' Console nuk mund të shtypë arabisht në Windows lehtë.
' Le të ruajmë në disk në vend.
Result.SaveAsTextFile("arabic.txt")
End Using
VB   C#

Shembull me shumë gjuhë

Alsoshtë gjithashtu e mundur që OCR të përdorë shumë gjuhë në të njëjtën kohë. Kjo me të vërtetë mund të ndihmojë në marrjen e meta të dhënave dhe URL-ve të gjuhës angleze në dokumentet e Unicode.

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

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

// Mund të shtojmë çdo numër gjuhësh

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

// Mund të shtojmë çdo numër gjuhësh

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

' Mund të shtojmë çdo numër gjuhësh

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

Objekte të hollësishme të rezultateve të OCR

IronOCR kthen një objekt të rezultatit OCR për secilin operacion të OCR. Në përgjithësi, zhvilluesit përdorin vetinë e tekstit vetëm të këtij objekti për ta marrë tekstin të skanuar nga imazhi. Sidoqoftë, rezultatet e OCR-së DOM është shumë më e përparuar se kjo.

using IronOcr;
using System.Drawing; //Shto Referencën e Asamblesë

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Albanian;
Ocr.Configuration.EngineMode = TesseractEngineMode.TesseractAndLstm;
Ocr.Configuration.ReadBarCodes = true; //E rëndësishme

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;
// Eksploroni këtu për të gjetur një API masiv dhe të detajuar:
// - Faqet, bllokimet, parafetë, linjat, fjalët, karakteret
// - Eksporti i Imazhit, Koordinatat e Shkronjave, Të Dhënat Statistikore
}
using IronOcr;
using System.Drawing; //Shto Referencën e Asamblesë

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Albanian;
Ocr.Configuration.EngineMode = TesseractEngineMode.TesseractAndLstm;
Ocr.Configuration.ReadBarCodes = true; //E rëndësishme

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;
// Eksploroni këtu për të gjetur një API masiv dhe të detajuar:
// - Faqet, bllokimet, parafetë, linjat, fjalët, karakteret
// - Eksporti i Imazhit, Koordinatat e Shkronjave, Të Dhënat Statistikore
}
Imports IronOcr
Imports System.Drawing 'Shto Referencën e Asamblesë

Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Albanian
Ocr.Configuration.EngineMode = TesseractEngineMode.TesseractAndLstm
Ocr.Configuration.ReadBarCodes = True 'E rëndësishme

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
' Eksploroni këtu për të gjetur një API masiv dhe të detajuar:
' - Faqet, bllokimet, parafetë, linjat, fjalët, karakteret
' - Eksporti i Imazhit, Koordinatat e Shkronjave, Të Dhënat Statistikore
End Using
VB   C#

Performanca

IronOCR punon jashtë kutisë pa nevojë për të akorduar performancën ose modifikuar rëndë imazhet e hyrjes.

Shpejtësia është flakëruese: IronOcr.2020 + është deri në 10 herë më e shpejtë dhe bën mbi 250% më pak gabime sesa ndërtimet e mëparshme.

Mëso më shumë

Për të mësuar më shumë rreth OCR në C #, VB, F #, ose ndonjë gjuhë tjetër .NET, ju lutemi lexoni udhëzimet tona të komunitetit , të cilat japin shembuj të botës reale sesi mund të përdoret OCR Hekuri dhe mund të tregojnë nuancat se si të përfitoni sa më mirë nga kjo bibliotekë.

Një referencë e plotë e objektit për zhvilluesit e NET është gjithashtu në dispozicion.