Suomalainen OCR C#ja .NET

Tämän asiakirjan muut versiot:

IronOCR on C#-ohjelmistokomponentti, jonka avulla .NET-kooderit voivat lukea tekstiä kuvista ja PDF-dokumenteista 126 kielellä, mukaan lukien suomi.

Se on edistyksellinen Tesseract-haarukka, joka on rakennettu yksinomaan .NET-kehittäjille ja joka ylittää säännöllisesti muita Tesseract-moottoreita sekä nopeuden että tarkkuuden suhteen.

IronOcr. Kielet -suomi

Tämä paketti sisältää 46 OCR-kieltä .NET-verkkotunnukselle:

  • Suomalainen
  • Suomen paras
  • FinnishNopea

ladata

Suomen kielipaketti [suomi]
* Download as Postinumero
* Install with
https://www.nuget.org/packages/IronOcr.Languages.Finnish/'> NuGet

Asennus

Ensimmäinen asia, joka meidän on tehtävä, on asentaa suomalainen OCR-pakettimme .NET-projektiisi.

PM> Install-Package IronOCR.Languages.Finnish

Koodiesimerkki

Tämä C#-koodiesimerkki lukee suomen kielen kuvan tai PDF-asiakirjan.

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

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

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

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

Miksi valita IronOCR?

IronOCR on helposti asennettava, täydellinen ja hyvin dokumentoitu .NET-ohjelmistokirjasto.

Valitse IronOCR saavuttaaksesi 99,8% + OCR-tarkkuuden käyttämättä ulkoisia verkkopalveluja, jatkuvia maksuja tai lähettämättä luottamuksellisia asiakirjoja Internetin kautta.

Miksi C#-kehittäjät valitsevat IronOCR: n Vanilla Tesseractin sijaan:

  • Asenna yhtenä DLL tai NuGet
  • Sisältää Tesseract 5, 4 ja 3 -moottorit laatikosta.
  • Tarkkuus 99,8% ylittää merkittävästi tavallisen Tesseractin.
  • Räjähtävä nopeus ja monisäikeisyys
  • MVC, WebApp, työpöytä, konsoli ja palvelinsovellus yhteensopiva
  • Ei Exes- tai C ++ -koodia
  • Täysi PDF OCR -tuki
  • Suorita OCR lähes mille tahansa kuvatiedostolle tai PDF: lle
  • Täysi .NET Core, Standard ja FrameWork -tuki
  • Ota käyttöön Windows, Mac, Linux, Azure, Docker, Lambda, AWS
  • Lue viivakoodit ja QR-koodit
  • Vie OCR XHTML: ksi
  • Vie tekstintunnistus haettaviin PDF-tiedostoihin
  • Monisäikeinen tuki
  • 126 kansainvälistä kieltä, joita kaikkia hallitaan NuGet- tai OcrData-tiedostojen kautta
  • Pura kuvat, koordinaatit, tilastot ja fontit. Ei vain tekstiä.
  • Voidaan käyttää Tesseract OCR -toiminnon jakamiseen kaupallisissa ja omistetuissa sovelluksissa.

Rauta-OCR loistaa työskenneltäessä tosielämän kuvien ja epätäydellisten asiakirjojen, kuten valokuvien, tai pienikokoisten skannausten kanssa, joissa voi olla digitaalista kohinaa tai puutteita.

Muut .NET-alustan ilmaiset OCR- kirjastot, kuten muut .net tesseract -sovellusliittymät ja verkkopalvelut, eivät toimi niin hyvin näissä todellisen maailman käyttötapauksissa.

OCR Tesseract 5: llä - Aloita koodaus C #: ssä

Alla oleva koodinäyte osoittaa, kuinka helppoa on lukea tekstiä kuvasta käyttämällä C#tai 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#

Konfiguroitava Hello World

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

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Finnish;
using (var Input = new OcrInput()){
Input.AddImage("images/sample.jpeg")
//... voit lisätä minkä tahansa määrän kuvia
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
// PM> Install-Package IronOCR.Languages.Finnish
using IronOcr;

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Finnish;
using (var Input = new OcrInput()){
Input.AddImage("images/sample.jpeg")
//... voit lisätä minkä tahansa määrän kuvia
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
' PM> Install-Package IronOCR.Languages.Finnish
Imports IronOcr

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

Samaa lähestymistapaa voidaan käyttää samalla tavoin poimia tekstiä mistä tahansa PDF-dokumentista.

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Finnish;
using (var input = new OcrInput())
{
input.AddPdf("example.pdf", "password");
// Voimme myös valita tietyt PDF-sivunumerot OCR: ään

var Result = Ocr.Read(input);

Console.WriteLine(Result.Text);
Console.WriteLine($"{Result.Pages.Count()} Pages");
// 1 sivu jokaiselle PDF-sivulle
}
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Finnish;
using (var input = new OcrInput())
{
input.AddPdf("example.pdf", "password");
// Voimme myös valita tietyt PDF-sivunumerot OCR: ään

var Result = Ocr.Read(input);

Console.WriteLine(Result.Text);
Console.WriteLine($"{Result.Pages.Count()} Pages");
// 1 sivu jokaiselle PDF-sivulle
}
Dim Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Finnish
Using input = New OcrInput()
input.AddPdf("example.pdf", "password")
' Voimme myös valita tietyt PDF-sivunumerot OCR: ään

Dim Result = Ocr.Read(input)

Console.WriteLine(Result.Text)
Console.WriteLine($"{Result.Pages.Count()} Pages")
' 1 sivu jokaiselle PDF-sivulle
End Using
VB   C#

OCR monisivuisille TIFF-tiedostoille

OCR TIFF-tiedostomuodon lukeminen, mukaan lukien monisivuiset asiakirjat. TIFF voidaan myös muuntaa suoraan PDF-tiedostoksi, jossa on haettavaa tekstiä.

using IronOcr;

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

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

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

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

Viivakoodit ja QR

IronOCR: n ainutlaatuinen piirre on se, että se voi lukea viivakoodeja ja QR-koodeja asiakirjoista, kun se etsii tekstiä. OcrResult.OcrBarcode luokan OcrResult.OcrBarcode antavat kehittäjälle yksityiskohtaisia tietoja kustakin skannatusta viivakoodista.

// 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);
// tyypin ja sijainnin ominaisuudet myös alttiina
}
}
// 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);
// tyypin ja sijainnin ominaisuudet myös alttiina
}
}
' 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)
' tyypin ja sijainnin ominaisuudet myös alttiina
Next Barcode
End Using
VB   C#

OCR tietyillä kuvialueilla

Kaikki IronOCR: n skannaus- ja lukumenetelmät antavat mahdollisuuden määrittää tarkalleen, mistä sivun tai sivuista haluamme lukea tekstiä. Tämä on erittäin hyödyllistä, kun tarkastelemme standardoituja lomakkeita, ja se voi säästää paljon aikaa ja parantaa tehokkuutta.

Raja-alueiden käyttämiseksi meidän on lisättävä System.Drawing järjestelmäviitta, jotta voimme käyttää System.Drawing.Rectangle objektia.

using IronOcr;

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

using (var Input = new OcrInput())
{
var ContentArea = new System.Drawing.Rectangle() { X = 215, Y = 1250, Height = 280, Width = 1335 };
// Mitat ovat pikseleinä

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

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

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

using (var Input = new OcrInput())
{
var ContentArea = new System.Drawing.Rectangle() { X = 215, Y = 1250, Height = 280, Width = 1335 };
// Mitat ovat pikseleinä

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

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

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

Using Input = New OcrInput()
Dim ContentArea = New System.Drawing.Rectangle() With {
	.X = 215,
	.Y = 1250,
	.Height = 280,
	.Width = 1335
}
' Mitat ovat pikseleinä

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

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

OCR heikkolaatuisille skannauksille

IronOCR OcrInput -luokka voi korjata skannaukset, joita normaali Tesseract ei osaa lukea.

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

using (var Input = new OcrInput(@"img\Potter.LowQuality.tiff"))
{
Input.DeNoise(); // korjaa digitaalisen kohinan ja heikon skannauksen
Input.Deskew(); // kiinnittää pyörimisen ja perspektiivin
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
using IronOcr;
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Finnish;

using (var Input = new OcrInput(@"img\Potter.LowQuality.tiff"))
{
Input.DeNoise(); // korjaa digitaalisen kohinan ja heikon skannauksen
Input.Deskew(); // kiinnittää pyörimisen ja perspektiivin
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
Imports IronOcr
Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Finnish

Using Input = New OcrInput("img\Potter.LowQuality.tiff")
Input.DeNoise() ' korjaa digitaalisen kohinan ja heikon skannauksen
Input.Deskew() ' kiinnittää pyörimisen ja perspektiivin
Dim Result = Ocr.Read(Input)
Console.WriteLine(Result.Text)
End Using
VB   C#

Vie OCR-tulokset haettavana PDF-tiedostona

Kuva PDF-tiedostoon kopioitavilla tekstijonoilla. Hakukoneet ja tietokannat voivat indeksoida ne.

using IronOcr;

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

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

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

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 haettavaksi PDF-muunnokseksi

CMuunna TIFF-asiakirja (tai mikä tahansa kuvatiedostoryhmä) suoraan haettavaksi PDF-tiedostoksi, jonka intranet, verkkosivusto ja google-hakukoneet voivat indeksoida.

using IronOcr;

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

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

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

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

Vie OCR-tulokset HTML-muodossa

OCR-kuvan XHTML-muunnos.

using IronOcr;

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

IronOCR tarjoaa ainutlaatuiset suodattimet OcrInput objekteille OCR-suorituskyvyn parantamiseksi.

Kuvanparannuskoodiesimerkki

Tekee OCR-tulokuvista paremman laadun parempien ja nopeampien OCR-tulosten tuottamiseksi.

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

using (var Input = new OcrInput(@"LowQuality.jpeg"))
{
Input.DeNoise(); // korjaa digitaalisen kohinan ja heikon skannauksen
Input.Deskew(); // kiinnittää pyörimisen ja perspektiivin
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
using IronOcr;
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Finnish;

using (var Input = new OcrInput(@"LowQuality.jpeg"))
{
Input.DeNoise(); // korjaa digitaalisen kohinan ja heikon skannauksen
Input.Deskew(); // kiinnittää pyörimisen ja perspektiivin
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
Imports IronOcr
Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Finnish

Using Input = New OcrInput("LowQuality.jpeg")
Input.DeNoise() ' korjaa digitaalisen kohinan ja heikon skannauksen
Input.Deskew() ' kiinnittää pyörimisen ja perspektiivin
Dim Result = Ocr.Read(Input)
Console.WriteLine(Result.Text)
End Using
VB   C#

Luettelo OCR-kuvasuodattimista

IronOCR: ään sisäänrakennetut tulosuodattimet OCR-suorituskyvyn parantamiseksi ovat:

  • OcrInput.Rotate (kaksinkertainen aste) - Kierrä kuvia useita astetta myötäpäivään. Käytä vastapäivään negatiivisia lukuja.
  • OcrInput.Binarize () - Tämä kuvasuodatin muuttaa jokaisen pikselin mustaksi tai valkoiseksi ilman keskipistettä. Voi parantaa OCR-suorituskykyä, kun tekstin ja taustan kontrasti on hyvin pieni.
  • OcrInput.ToGrayScale () - Tämä kuvasuodatin muuttaa jokaisen pikselin harmaasävyiseksi. Ei todennäköisesti paranna OCR-tarkkuutta, mutta voi parantaa nopeutta
  • OcrInput.Contrast () - Lisää kontrastia automaattisesti. Tämä suodatin parantaa usein tekstintunnistuksen nopeutta ja tarkkuutta pienikontrastisissa skannauksissa.
  • OcrInput.DeNoise () - Poistaa digitaalisen kohinan. Tätä suodatinta tulisi käyttää vain siellä, missä melua odotetaan.
  • OcrInput.Invert () - Kääntää kaikki värit. Esimerkiksi valkoisesta tulee musta: mustasta tulee valkoinen.
  • OcrInput.Dilate () - Edistynyt morfologia. Laajennus lisää pikseleitä kuvan kohteiden rajoihin. Eroden vastakohta
  • OcrInput.Erode () - Edistynyt morfologia. Eroosio poistaa pikselit objektirajoilta
  • OcrInput.Deskew () - Kierrä kuvaa niin, että se on oikea tie ylöspäin ja kohtisuorassa. Tämä on erittäin hyödyllistä OCR: lle, koska Tesseract-toleranssi vinossa skannauksessa voi olla jopa 5 astetta.
  • OcrInput.DeepCleanBackgroundNoise () - voimakas taustamelun poisto. Käytä tätä suodatinta vain, jos tiedetään äärimmäisen asiakirjan taustamelu, koska tämä suodatin saattaa myös vähentää puhtaiden asiakirjojen OCR-tarkkuutta ja on erittäin prosessorikallis.
  • OcrInput.EnhanceResolution - parantaa heikkolaatuisten kuvien tarkkuutta. Suodatinta ei tarvita usein, koska OcrInput.MinimumDPI ja OcrInput.TargetDPI saavat automaattisesti kiinni ja ratkaisevat matalan resoluution tulot.

PuhdasTaustaMelu. Tämä on aikaavievä asetus; se sallii kuitenkin kirjaston puhdistaa digitaalisen kohinan, paperin rypistykset ja muut puutteet digitaalisessa kuvassa, mikä muuten tekisi siitä kyvyttömän lukemaan muissa OCR-kirjastoissa.

EnhanceContrast on asetus, joka saa IronOCR: n lisäämään tekstin kontrastia automaattisesti kuvan taustaa vasten, lisäämällä OCR: n tarkkuutta ja yleisesti lisäämällä OCR: n suorituskykyä ja nopeutta.

EnhanceResolution on asetus, joka tunnistaa automaattisesti pieniresoluutioiset kuvat (jotka ovat alle 275 dpi), skaalaa kuvan automaattisesti ja terävöittää sitten kaiken tekstin, jotta OCR-kirjasto voi lukea sen täydellisesti. Vaikka tämä toimenpide on sinänsä aikaa vievää, se yleensä vähentää kuvan OCR-toiminnon kokonaisaikaa.

Language IronOCR tukee 22 kansainvälistä kielipakettia, ja kieliasetuksella voidaan valita yksi tai useampi OCR-toimintoon käytettävä kieli.

Strategia IronOCR tukee kahta strategiaa. Voimme joko valita asiakirjan nopean ja vähemmän tarkan skannauksen tai käyttää edistynyttä strategiaa, joka käyttää joitain tekoälymalleja OCR-tekstin tarkkuuden parantamiseksi automaattisesti tarkastelemalla sanojen tilastollista suhdetta lauseeseen .

ColorSpace on asetus, jolla voimme valita tekstintunnistuksen harmaasävyinä tai väreinä. Harmaasävy on yleensä paras vaihtoehto. Joskus, kun tekstit tai taustat ovat samankaltaisia, mutta hyvin erivärisiä, väriväritila antaa parempia tuloksia.

DetectWhiteTextOnDarkBackgrounds. Yleensä kaikki OCR-kirjastot odottavat näkevänsä mustaa tekstiä valkoisella taustalla. Tämän asetuksen avulla IronOCR tunnistaa negatiiviset tai tummat sivut valkoisella tekstillä ja lukee ne.

InputImageType. Tämän asetuksen avulla kehittäjä voi ohjata OCR-kirjastoa tarkastelemaan onko se kokonaista asiakirjaa vai katkelmaa, kuten kuvakaappausta.

RotateAndStraighten on edistynyt asetus, joka antaa IronOCR: lle ainutlaatuisen kyvyn lukea asiakirjoja, jotka eivät ole vain käännettyjä, mutta ehkä perspektiiviä, kuten valokuvia tekstidokumenteista.

ReadBarcodes on hyödyllinen ominaisuus, jonka avulla IronOCR voi lukea viivakoodit ja QR-koodit sivuilta automaattisesti lukiessaan tekstiä lisäämättä suurta lisäaikaa.

Värisyvyys. Tämä asetus määrittää, kuinka monta bittiä pikseliä kohden OCR-kirjasto käyttää värin syvyyden määrittämiseen. Suurempi värisyvyys voi lisätä OCR-laatua, mutta pidentää myös OCR-toiminnon suorittamiseen tarvittavaa aikaa.

126 kielipakettia

IronOCR tukee 126 kansainvälistä kieltä kielipakettien kautta, jotka jaetaan DLL-tiedostoina, jotka voidaan ladata tältä verkkosivustolta tai myös NuGet Package Managerista .

Kieliä ovat saksa, ranska, englanti, kiina, japani ja monet muut. Erikoiskielipaketteja on olemassa MRZ-passeille, MICR-tarkastuksille, taloudellisille tiedoille, rekisterikilville ja monille muille. Voit myös käyttää mitä tahansa tesseract ".traineddata" -tiedostoa - mukaan lukien itse luomasi tiedostot.

Kieliesimerkki

Muiden OCR-kielten käyttäminen.

// 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");
// Lisää kuvasuodattimia tarvittaessa
// Tässä tapauksessa edes ajatuksen panos on erittäin heikkolaatuista
// IronTesseract voi lukea mitä tavanomainen Tesseract ei voi.

var Result = Ocr.Read(input);

// Konsoli ei voi tulostaa arabiaa Windowsissa helposti.
// Tallennetaan sen sijaan levylle.
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");
// Lisää kuvasuodattimia tarvittaessa
// Tässä tapauksessa edes ajatuksen panos on erittäin heikkolaatuista
// IronTesseract voi lukea mitä tavanomainen Tesseract ei voi.

var Result = Ocr.Read(input);

// Konsoli ei voi tulostaa arabiaa Windowsissa helposti.
// Tallennetaan sen sijaan levylle.
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")
' Lisää kuvasuodattimia tarvittaessa
' Tässä tapauksessa edes ajatuksen panos on erittäin heikkolaatuista
' IronTesseract voi lukea mitä tavanomainen Tesseract ei voi.

Dim Result = Ocr.Read(input)

' Konsoli ei voi tulostaa arabiaa Windowsissa helposti.
' Tallennetaan sen sijaan levylle.
Result.SaveAsTextFile("arabic.txt")
End Using
VB   C#

Esimerkki monikielisestä

On myös mahdollista käyttää tekstintunnistusta useilla kielillä samanaikaisesti. Tämä voi todella auttaa saamaan englanninkielisiä metatietoja ja URL-osoitteita Unicode-asiakirjoihin.

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

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

// Voimme lisätä minkä tahansa määrän kieliä

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

// Voimme lisätä minkä tahansa määrän kieliä

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

' Voimme lisätä minkä tahansa määrän kieliä

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

Yksityiskohtaiset OCR-tulokset-objektit

IronOCR palauttaa OCR-tulosobjektin jokaiselle OCR-toiminnolle. Yleensä kehittäjät käyttävät vain tämän objektin tekstiominaisuutta saadakseen tekstin skannatuksi kuvasta. OCR-tulosten DOM on kuitenkin paljon edistyneempi kuin tämä.

using IronOcr;
using System.Drawing; //Lisää kokoonpanoviite

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Finnish;
Ocr.Configuration.EngineMode = TesseractEngineMode.TesseractAndLstm;
Ocr.Configuration.ReadBarCodes = true; //!Tärkeä

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;
// Tutki täältä löytääksesi massiivisen, yksityiskohtaisen sovellusliittymän:
// - Sivut, lohkot, parafafit, viivat, sanat, merkit
// - Kuvien vienti, fonttien koordinaatit, tilastotiedot
}
using IronOcr;
using System.Drawing; //Lisää kokoonpanoviite

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Finnish;
Ocr.Configuration.EngineMode = TesseractEngineMode.TesseractAndLstm;
Ocr.Configuration.ReadBarCodes = true; //!Tärkeä

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;
// Tutki täältä löytääksesi massiivisen, yksityiskohtaisen sovellusliittymän:
// - Sivut, lohkot, parafafit, viivat, sanat, merkit
// - Kuvien vienti, fonttien koordinaatit, tilastotiedot
}
Imports IronOcr
Imports System.Drawing 'Lisää kokoonpanoviite

Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Finnish
Ocr.Configuration.EngineMode = TesseractEngineMode.TesseractAndLstm
Ocr.Configuration.ReadBarCodes = True '!Tärkeä

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
' Tutki täältä löytääksesi massiivisen, yksityiskohtaisen sovellusliittymän:
' - Sivut, lohkot, parafafit, viivat, sanat, merkit
' - Kuvien vienti, fonttien koordinaatit, tilastotiedot
End Using
VB   C#

Esitys

IronOCR toimii laatikosta ilman, että tarvitsee virittää tai muokata voimakkaasti tulokuvia.

Nopeus on loistava: IronOcr.2020 + on jopa 10 kertaa nopeampi ja tekee yli 250% vähemmän virheitä kuin aiemmat koontiversiot.

Lisätietoja

Jos haluat lisätietoja OCR: stä C #, VB, F # tai millä tahansa muulla .NET-kielellä, lue yhteisön oppaat , jotka antavat todellisia esimerkkejä siitä, miten IronOCR: ää voidaan käyttää, ja ne saattavat näyttää vivahteita siitä, miten saada parhaansa irti tämä kirjasto.

Täydellinen objektiviite .NET-kehittäjille on myös saatavana.