Esperanta OCR en C#kaj .Net

Aliaj versioj de ĉi tiu dokumento:

IronOCR estas programaro C #, kiu permesas al .NET-kodiloj legi tekston de bildoj kaj PDF-dokumentoj en 126 lingvoj, inkluzive Esperanton.

Ĝi estas altnivela forko de Tesseract, konstruita ekskluzive por la .NET-programistoj kaj regule superas aliajn Tesseract-motorojn pro rapideco kaj precizeco.

Enhavo de IronOcr.Languages.Esperanto

Ĉi tiu pako enhavas 52 OCR-lingvojn por .NET:

  • Esperanto
  • EsperantoBest
  • EsperantoFast

Elŝutu

Esperanto Language Pack [Esperanto]
* Download as Zip
* Install with as
https://www.nuget.org/packages/IronOcr.Languages.Esperanto/'> NuGet

Instalado

La unua afero, kiun ni devas fari, estas instali nian esperantan OCR-pakon al via .NET-projekto.

PM> Install-Package IronOCR.Languages.Esperanto

Koda Ekzemplo

Ĉi tiu C-koda ekzemplo legas Esperantan tekston de Bildo aŭ PDF-dokumento.

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

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

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

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

Kial Elekti IronOCR?

Iron OCR estas facile instalebla, kompleta kaj bone dokumentita .NET-programaro.

Elektu IronOCR por atingi 99,8% + OCR-precizecon sen uzi iujn eksterajn retservojn, daŭrantajn kotizojn aŭ sendi konfidencajn dokumentojn per interreto.

Kial programistoj de C#elektas IronOCR anstataŭ Vanilla Tesseract:

  • Instalu kiel unu DLL aŭ Nuget
  • Inkluzivas por Tesseract 5, 4 kaj 3 Motoroj el la skatolo.
  • Precizeco 99,8% signife superas kutiman Tesseract.
  • Flama Rapido kaj MultiThreading
  • MVC, WebApp, Labortablo, Konzolo kaj Servila Apliko kongrua
  • Neniu Exes aŭ C ++-kodo por labori
  • Plena PDF-OCR-subteno
  • Por realigi OCR preskaŭ ajnan Bilddosieron aŭ PDF
  • Plena .Net Core, Standard kaj FrameWork subteno
  • Disvolvi en Vindozo, Mac, Linukso, Azure, Docker, Lambda, AWS
  • Legu strekokodojn kaj QR-kodojn
  • Eksporti OCR pri XHTML
  • Eksportu OCR al serĉeblaj PDF-dokumentoj
  • Multithreading-subteno
  • 126 internaciaj lingvoj ĉiuj administrataj per dosieroj Nuget aŭ OcrData
  • Ĉerpu Bildojn, Koordinatojn, Statistikojn kaj Tiparojn. Ne nur teksto.
  • Povas esti uzata por redistribui Tesseract OCR ene de komercaj kaj posedaj aplikoj.

Fera OCR brilas kiam vi laboras kun realmondaj bildoj kaj neperfektaj dokumentoj kiel fotoj aŭ skanaĵoj kun malalta distingivo, kiuj povas havi ciferecan bruon aŭ neperfektaĵojn.

Aliaj senpagaj OCR- bibliotekoj por la .NET-platformo tiaj aliaj .net-teseract-APIoj kaj retservoj ne tiel bone funkcias en ĉi tiuj realaj uzokazoj.

OCR kun Tesseract 5 - Komencu Kodigi en C #

La koda specimeno sube montras kiel facile legi tekston de bildo per C#aŭ 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#

Agordebla Salutmondo

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

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Esperanto;
using (var Input = new OcrInput()){
Input.AddImage("images/sample.jpeg")
//... vi povas aldoni ajnan nombron da bildoj
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
// PM> Install-Package IronOCR.Languages.Esperanto
using IronOcr;

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Esperanto;
using (var Input = new OcrInput()){
Input.AddImage("images/sample.jpeg")
//... vi povas aldoni ajnan nombron da bildoj
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
' PM> Install-Package IronOCR.Languages.Esperanto
Imports IronOcr

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

La sama aliro simile povas esti uzata por ĉerpi tekston de iu ajn PDF-dokumento.

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Esperanto;
using (var input = new OcrInput())
{
input.AddPdf("example.pdf", "password");
// Ni ankaŭ povas elekti specifajn PDF-paĝajn nombrojn al OCR

var Result = Ocr.Read(input);

Console.WriteLine(Result.Text);
Console.WriteLine($"{Result.Pages.Count()} Pages");
// 1 paĝo por ĉiu paĝo de la PDF
}
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Esperanto;
using (var input = new OcrInput())
{
input.AddPdf("example.pdf", "password");
// Ni ankaŭ povas elekti specifajn PDF-paĝajn nombrojn al OCR

var Result = Ocr.Read(input);

Console.WriteLine(Result.Text);
Console.WriteLine($"{Result.Pages.Count()} Pages");
// 1 paĝo por ĉiu paĝo de la PDF
}
Dim Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Esperanto
Using input = New OcrInput()
input.AddPdf("example.pdf", "password")
' Ni ankaŭ povas elekti specifajn PDF-paĝajn nombrojn al OCR

Dim Result = Ocr.Read(input)

Console.WriteLine(Result.Text)
Console.WriteLine($"{Result.Pages.Count()} Pages")
' 1 paĝo por ĉiu paĝo de la PDF
End Using
VB   C#

OCR por MultiPage TIFFs

OCR Reading TIFF-dosierformato inkluzive de plurpaĝaj dokumentoj. TIFF ankaŭ povas esti konvertita rekte en PDF-dosieron kun serĉebla teksto.

using IronOcr;

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

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

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

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

Strekokodoj kaj QR

Unika trajto de Iron OCR estas, ke ĝi povas legi strekokodojn kaj QR-kodojn de dokumentoj dum ĝi serĉas tekston. OcrResult.OcrBarcode Klaso OcrResult.OcrBarcode donas al la programisto detalajn informojn pri ĉiu skanita strekokodo.

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

using (var input = new OcrInput())
{
input.AddImage("img/Barcode.png");
var Result = Ocr.Read(input);
foreach (var Barcode in Result.Barcodes)
{
Console.WriteLine(Barcode.Value);
// tipo kaj lokaj ecoj ankaŭ elmontritaj
}
}
// using IronOcr;
var Ocr = new IronTesseract();
Ocr.Configuration.ReadBarCodes = true;

using (var input = new OcrInput())
{
input.AddImage("img/Barcode.png");
var Result = Ocr.Read(input);
foreach (var Barcode in Result.Barcodes)
{
Console.WriteLine(Barcode.Value);
// tipo kaj lokaj ecoj ankaŭ elmontritaj
}
}
' using IronOcr;
Dim Ocr = New IronTesseract()
Ocr.Configuration.ReadBarCodes = True

Using input = New OcrInput()
input.AddImage("img/Barcode.png")
Dim Result = Ocr.Read(input)
For Each Barcode In Result.Barcodes
Console.WriteLine(Barcode.Value)
' tipo kaj lokaj ecoj ankaŭ elmontritaj
Next Barcode
End Using
VB   C#

OCR pri Specifaj Areoj de Bildoj

Ĉiuj legaj kaj skanaj metodoj de Iron OCR donas la eblon precizigi precize el kiu parto de paĝo aŭ paĝoj ni deziras legi tekston. Ĉi tio estas tre utila kiam ni rigardas normigitajn formojn kaj povas ŝpari tre multe da tempo kaj plibonigi efikecon.

Por uzi rikoltajn regionojn, ni devos aldoni sisteman referencon al System.Drawing por ke ni povu uzi la objekton System.Drawing.Rectangle .

using IronOcr;

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

using (var Input = new OcrInput())
{
var ContentArea = new System.Drawing.Rectangle() { X = 215, Y = 1250, Height = 280, Width = 1335 };
// Grandecoj estas en po

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

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

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

using (var Input = new OcrInput())
{
var ContentArea = new System.Drawing.Rectangle() { X = 215, Y = 1250, Height = 280, Width = 1335 };
// Grandecoj estas en po

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

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

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

Using Input = New OcrInput()
Dim ContentArea = New System.Drawing.Rectangle() With {
	.X = 215,
	.Y = 1250,
	.Height = 280,
	.Width = 1335
}
' Grandecoj estas en po

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

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

OCR por Malkvalitaj Skanadoj

La Fero OCR OcrInput klaso povas ripari skanaĵojn, kiujn normala Tesseract ne povas legi.

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

using (var Input = new OcrInput(@"img\Potter.LowQuality.tiff"))
{
Input.DeNoise(); // riparas ciferecan bruon kaj malbonan skanadon
Input.Deskew(); // riparas rotacion kaj perspektivon
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
using IronOcr;
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Esperanto;

using (var Input = new OcrInput(@"img\Potter.LowQuality.tiff"))
{
Input.DeNoise(); // riparas ciferecan bruon kaj malbonan skanadon
Input.Deskew(); // riparas rotacion kaj perspektivon
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
Imports IronOcr
Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Esperanto

Using Input = New OcrInput("img\Potter.LowQuality.tiff")
Input.DeNoise() ' riparas ciferecan bruon kaj malbonan skanadon
Input.Deskew() ' riparas rotacion kaj perspektivon
Dim Result = Ocr.Read(Input)
Console.WriteLine(Result.Text)
End Using
VB   C#

Eksportu rezultojn de OCR kiel Serĉebla PDF

Bildo al PDF kun kopieblaj tekstaj ĉenoj. Povas esti indeksita de serĉiloj kaj datumbazoj.

using IronOcr;

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

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

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

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 al serĉebla PDF-Konverto

Konvertu TIFF-dokumenton (aŭ iun ajn grupon de bilddosieroj) rekte al serĉebla PDF, kiun eblas indeksigi per intrareto, retejo kaj gugla serĉiloj.

using IronOcr;

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

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

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

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

Eksportu rezultojn de OCR kiel HTML

OCR-Bildo al XHTML-konvertiĝo.

using IronOcr;

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

Filtriloj pri plibonigo de OCR

IronOCR provizas unikajn filtrilojn por OcrInput objektoj por plibonigi OCR-rendimenton.

Bilda Pliboniga Koda Ekzemplo

Faras OCR-enirajn bildojn pli altkvalitaj por produkti pli bonajn kaj pli rapidajn OCR-rezultojn.

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

using (var Input = new OcrInput(@"LowQuality.jpeg"))
{
Input.DeNoise(); // riparas ciferecan bruon kaj malbonan skanadon
Input.Deskew(); // riparas rotacion kaj perspektivon
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
using IronOcr;
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Esperanto;

using (var Input = new OcrInput(@"LowQuality.jpeg"))
{
Input.DeNoise(); // riparas ciferecan bruon kaj malbonan skanadon
Input.Deskew(); // riparas rotacion kaj perspektivon
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
Imports IronOcr
Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Esperanto

Using Input = New OcrInput("LowQuality.jpeg")
Input.DeNoise() ' riparas ciferecan bruon kaj malbonan skanadon
Input.Deskew() ' riparas rotacion kaj perspektivon
Dim Result = Ocr.Read(Input)
Console.WriteLine(Result.Text)
End Using
VB   C#

Listo de OCR-Bildaj Filtriloj

Eniraj filtriloj por plibonigi OCR-rendimenton, kiuj estas enkonstruitaj en IronOCR, inkluzivas:

  • OcrInput.Rotate (duoblaj gradoj) - Rotacias bildojn per kelkaj gradoj dekstrume. Por kontraŭhorloĝe, uzu negativajn nombrojn.
  • OcrInput.Binarize () - Ĉi tiu bilda filtrilo igas ĉiun pikselon nigra aŭ blanka sen meza tereno. Povas Plibonigi OCR-rendimentajn kazojn de tre malalta kontrasto de teksto al fono.
  • OcrInput.ToGrayScale () - Ĉi tiu bilda filtrilo transformas ĉiun pikselon en nuancon de grizskalo. Neŝajne plibonigos OCR-precizecon, sed eble plibonigos rapidecon
  • OcrInput.Contrast () - Aŭtomate pliigas kontraston. Ĉi tiu filtrilo ofte plibonigas OCR-rapidecon kaj precizecon en malaltaj kontrastaj skanadoj.
  • OcrInput.DeNoise () - Forigas ciferecan bruon. Ĉi tiu filtrilo devas esti uzata nur tie, kie oni atendas bruon.
  • OcrInput.Invert () - Inversigas ĉiun koloron. Ekz. Blanko fariĝas nigra: nigro fariĝas blanka.
  • OcrInput.Dilate () - Altnivela Morfologio. Dilatado aldonas pikselojn al la limoj de objektoj en bildo. Malo de Erode
  • OcrInput.Erode () - Altnivela Morfologio. Erozio forigas pikselojn sur objektolimoj Malkontenta de Dilate
  • OcrInput.Deskew () - Rotacias bildon do ĝi estas ĝusta supren kaj ortogonala. Ĉi tio estas tre utila por OCR ĉar Tesseract-toleremo por distordaj skanadoj povas esti tiel malalta kiel 5 gradoj.
  • OcrInput.DeepCleanBackgroundNoise () - Forta foriga bruo. Uzu ĉi tiun filtrilon nur se ekstrema dokumenta fona bruo estas konata, ĉar ĉi tiu filtrilo ankaŭ riskos redukti OCR-precizecon de puraj dokumentoj, kaj tre kostas CPU.
  • OcrInput.EnhanceResolution - Plibonigas la distingivon de malaltkvalitaj bildoj. Ĉi tiu filtrilo ne ofte bezonas, ĉar OcrInput.MinimumDPI kaj OcrInput.TargetDPI aŭtomate kaptos kaj solvos enirojn de malalta distingivo.

PuraFonaBruo. Ĉi tio estas agordo iom konsumanta tempon; tamen ĝi permesas al la biblioteko aŭtomate purigi ciferecan bruon, paperajn ĉifojn kaj aliajn neperfektaĵojn ene de cifereca bildo, kiu alie igus ĝin malkapabla esti legata de aliaj OCR-bibliotekoj.

EnhanceContrast estas agordo, kiu igas Iron OCR aŭtomate pliigi la kontraston de teksto kontraŭ la fono de bildo, pliigante la precizecon de OCR kaj ĝenerale pliigante rendimenton kaj la rapidon de OCR.

EnhanceResolution estas agordo, kiu aŭtomate detektas bildojn de malalta distingivo (malpli ol 275 dpi) kaj aŭtomate altigas la bildon kaj poste akrigas la tutan tekston, por ke ĝi estu perfekte legebla per OCR-biblioteko. Kvankam ĉi tiu operacio per si mem konsumas tempon, ĝi ĝenerale reduktas la ĝeneralan tempon por OCR-operacio sur bildo.

Language Iron OCR subtenas 22 internaciajn lingvopakaĵojn, kaj la lingva agordo povas esti uzata por elekti unu aŭ plurajn multoblajn lingvojn petotajn por OCR-operacio.

Strategy Iron OCR subtenas du strategiojn. Ni eble elektos aŭ serĉi rapidan kaj malpli precizan skanadon de dokumento, aŭ uzi progresintan strategion, kiu uzas iujn modelojn de artefarita inteligenteco por aŭtomate plibonigi la precizecon de OCR-teksto, rigardante la statistikan rilaton de vortoj unu al la alia en frazo. .

ColorSpace estas agordo per kiu ni povas elekti OCR en grizskala aŭ kolora. Ĝenerale griza skalo estas la plej bona elekto. Tamen, foje kiam estas tekstoj aŭ fonoj de simila nuanco sed tre malsama koloro, plenkolora kolorspaco donos pli bonajn rezultojn.

DetectWhiteTextOnDarkBackgrounds. Ĝenerale ĉiuj bibliotekoj OCR atendas vidi nigran tekston sur blankaj fonoj. Ĉi tiu agordo permesas al Iron OCR aŭtomate detekti negativojn, aŭ malhelajn paĝojn kun blanka teksto, kaj legi ilin.

EnigaBildaTipo. Ĉi tiu agordo permesas al la programisto gvidi la bibliotekon OCR pri tio, ĉu ĝi rigardas plenan dokumenton aŭ fragmenton, kiel ekzemple ekrankopio.

RotateAndStraighten estas altnivela agordo, kiu permesas al Iron OCR la unikan kapablon legi dokumentojn, kiuj ne nur turniĝas, sed eble enhavas perspektivon, kiel fotoj de tekstaj dokumentoj.

ReadBarcodes estas utila funkcio, kiu permesas al Iron OCR aŭtomate legi strekokodojn kaj QR-kodojn sur paĝoj, ĉar ĝi ankaŭ legas tekston, sen aldoni grandan aldonan tempon.

Kolora Profundo. Ĉi tiu agordo determinas kiom da bitoj por pikselo la OCR-biblioteko uzos por determini la profundon de koloro. Pli alta kolora profundo povas pliigi OCR-kvaliton, sed ankaŭ pliigos la tempon necesan por finiĝi la OCR-operacio.

126 Lingvaj Pakoj

Iron OCR subtenas 126 internaciajn lingvojn per lingvopakaĵoj distribuataj kiel DLL-oj, elŝuteblaj de ĉi tiu retejo aŭ ankaŭ de la NuGet-Pakaĵa Administrilo .

Lingvoj inkluzivas germanan, francan, anglan, ĉinan, japanan kaj multajn aliajn. Fakaj lingvopakoj ekzistas por pasportaj MRZ, MICR-ĉekoj, Financaj Datumoj, numerplatoj kaj multaj pli. Vi ankaŭ povas uzi ajnan dosieron ".traineddata" de tesseract - inkluzive de vi mem kreitaj.

Lingva Ekzemplo

Uzante Aliajn OCR-lingvojn.

// 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");
// Aldonu bildajn filtrilojn se necese
// En ĉi tiu kazo, eĉ pensita enigo estas tre malalta kvalito
// IronTesseract povas legi tion, kion konvencia Tesseract ne povas.

var Result = Ocr.Read(input);

// Konzolo ne povas presi la araban sur Vindozo facile.
// Ni konservu anstataŭ disko.
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");
// Aldonu bildajn filtrilojn se necese
// En ĉi tiu kazo, eĉ pensita enigo estas tre malalta kvalito
// IronTesseract povas legi tion, kion konvencia Tesseract ne povas.

var Result = Ocr.Read(input);

// Konzolo ne povas presi la araban sur Vindozo facile.
// Ni konservu anstataŭ disko.
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")
' Aldonu bildajn filtrilojn se necese
' En ĉi tiu kazo, eĉ pensita enigo estas tre malalta kvalito
' IronTesseract povas legi tion, kion konvencia Tesseract ne povas.

Dim Result = Ocr.Read(input)

' Konzolo ne povas presi la araban sur Vindozo facile.
' Ni konservu anstataŭ disko.
Result.SaveAsTextFile("arabic.txt")
End Using
VB   C#

Plurlingva Ekzemplo

Ankaŭ eblas OCR uzi plurajn lingvojn samtempe. Ĉi tio vere povas helpi akiri anglalingvajn metadatenojn kaj URL-ojn en Unikodaj dokumentoj.

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

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

// Ni povas aldoni iun ajn nombron da lingvoj

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

// Ni povas aldoni iun ajn nombron da lingvoj

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

' Ni povas aldoni iun ajn nombron da lingvoj

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

Detalaj OCR-Rezultaj Celoj

Fera OCR redonas OCR-rezultobjekton por ĉiu OCR-operacio. Ĝenerale programistoj nur uzas la tekstan econ de ĉi tiu objekto por skani la tekston de la bildo. Tamen, la OCR-rezultoj DOM estas multe pli progresintaj ol ĉi tio.

using IronOcr;
using System.Drawing; //Aldoni Asemblean Referencon

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

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;
// Esploru ĉi tie por trovi amasan detalan API:
// - Paĝoj, Blokoj, Parafakoj, Linioj, Vortoj, Karakteroj
// - Bildeksportado, Tiparaj Koordinatoj, Statistikaj Datumoj
}
using IronOcr;
using System.Drawing; //Aldoni Asemblean Referencon

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

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;
// Esploru ĉi tie por trovi amasan detalan API:
// - Paĝoj, Blokoj, Parafakoj, Linioj, Vortoj, Karakteroj
// - Bildeksportado, Tiparaj Koordinatoj, Statistikaj Datumoj
}
Imports IronOcr
Imports System.Drawing 'Aldoni Asemblean Referencon

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

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
' Esploru ĉi tie por trovi amasan detalan API:
' - Paĝoj, Blokoj, Parafakoj, Linioj, Vortoj, Karakteroj
' - Bildeksportado, Tiparaj Koordinatoj, Statistikaj Datumoj
End Using
VB   C#

Agado

IronOCR funkcias tute sen neceso agordi aŭ forte modifi enigajn bildojn.

Rapido estas Flamanta: IronOcr.2020 + estas ĝis 10 fojoj pli rapida kaj faras pli ol 250% malpli da eraroj ol antaŭaj versioj.

Lernu pli

Por lerni pli pri OCR en C #, VB, F # aŭ iu ajn alia .NET-lingvo, bonvolu legi niajn komunumajn lernilojn , kiuj donas realajn ekzemplojn pri kiel Fera OCR povas esti uzata kaj povas montri la nuancojn de kiel eltiri la plej bonan el. ĉi tiu biblioteko.

Plena objektoreferenco por .NET-programistoj ankaŭ haveblas.