<meta http-equiv="content-language" content="fi">
<h1>Suomalainen OCR C# ja .NET</h1>
<h6> Tämän asiakirjan muut versiot:</h6>
<ul>
    <li> <a rel='alternate' hreflang='en' href="../finnish">Englanti (This Page in English)</a></li>
    <li> <a href="../../">Lisää Langauges</a></li>
</ul>
<p> IronOCR on C#-ohjelmistokomponentti, jonka avulla .NET-kooderit voivat lukea tekstiä kuvista ja PDF-dokumenteista
    126 kielellä, mukaan lukien suomi.</p>
<p> 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.</p>
<h2> IronOcr. Kielet -suomi</h2>
<p> Tämä paketti sisältää 46 OCR-kieltä .NET-verkkotunnukselle:</p>
<ul>
    <li> Suomalainen</li>
    <li> Suomen paras</li>
    <li> FinnishNopea</li>
</ul>
<h2>Ladata</h2>
<p> Suomen kielipaketti <span style='white-space:default'>[suomi]</span> <br/> * Download as <a class='languages-dll'
        href='/csharp/ocr/packages/language-packs/Finnish.ocrdata.zip'>Postinumero <i class='fa fa-download'></i><br/> *
        Install with <a target='_blank' class='languages-nuget'
        href="https://www.nuget.org/packages/IronOcr.Languages.Finnish/">https://www.nuget.org/packages/IronOcr.Languages.Finnish/</a>
        NuGet<i class='nuget-icon'></i></p>
<h2>Asennus</h2>
<p> Ensimmäinen asia, joka meidän on tehtävä, on asentaa <strong>suomalainen</strong> OCR-pakettimme .NET-projektiisi.
</p>
<p> <code>PM&gt; Install-Package IronOCR.Languages.Finnish</code></p>
<h2>Koodiesimerkki</h2>
<p> Tämä C#-koodiesimerkki lukee suomen kielen kuvan tai PDF-asiakirjan.</p>

```csharp
// This C# example shows how to use IronOCR to read Finnish text from an image.
using IronOcr;

var Ocr = new IronTesseract();

// Set the OCR language to Finnish
Ocr.Language = OcrLanguage.Finnish;

// Load the image and perform OCR
using (var Input = new OcrInput(@"images\Finnish.png"))
{
    var Result = Ocr.Read(Input);
    var AllText = Result.Text;
}
<meta http-equiv="content-language" content="fi">
<h1>Suomalainen OCR C# ja .NET</h1>
<h6> Tämän asiakirjan muut versiot:</h6>
<ul>
    <li> <a rel='alternate' hreflang='en' href="../finnish">Englanti (This Page in English)</a></li>
    <li> <a href="../../">Lisää Langauges</a></li>
</ul>
<p> IronOCR on C#-ohjelmistokomponentti, jonka avulla .NET-kooderit voivat lukea tekstiä kuvista ja PDF-dokumenteista
    126 kielellä, mukaan lukien suomi.</p>
<p> 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.</p>
<h2> IronOcr. Kielet -suomi</h2>
<p> Tämä paketti sisältää 46 OCR-kieltä .NET-verkkotunnukselle:</p>
<ul>
    <li> Suomalainen</li>
    <li> Suomen paras</li>
    <li> FinnishNopea</li>
</ul>
<h2>Ladata</h2>
<p> Suomen kielipaketti <span style='white-space:default'>[suomi]</span> <br/> * Download as <a class='languages-dll'
        href='/csharp/ocr/packages/language-packs/Finnish.ocrdata.zip'>Postinumero <i class='fa fa-download'></i><br/> *
        Install with <a target='_blank' class='languages-nuget'
        href="https://www.nuget.org/packages/IronOcr.Languages.Finnish/">https://www.nuget.org/packages/IronOcr.Languages.Finnish/</a>
        NuGet<i class='nuget-icon'></i></p>
<h2>Asennus</h2>
<p> Ensimmäinen asia, joka meidän on tehtävä, on asentaa <strong>suomalainen</strong> OCR-pakettimme .NET-projektiisi.
</p>
<p> <code>PM&gt; Install-Package IronOCR.Languages.Finnish</code></p>
<h2>Koodiesimerkki</h2>
<p> Tämä C#-koodiesimerkki lukee suomen kielen kuvan tai PDF-asiakirjan.</p>

```csharp
// This C# example shows how to use IronOCR to read Finnish text from an image.
using IronOcr;

var Ocr = new IronTesseract();

// Set the OCR language to Finnish
Ocr.Language = OcrLanguage.Finnish;

// Load the image and perform OCR
using (var Input = new OcrInput(@"images\Finnish.png"))
{
    var Result = Ocr.Read(Input);
    var AllText = Result.Text;
}
HTML

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.

One Liner

// A one-liner example of reading text from an image using IronOCR
string Text = new IronTesseract().Read(@"img\Screenshot.png").Text;
// A one-liner example of reading text from an image using IronOCR
string Text = new IronTesseract().Read(@"img\Screenshot.png").Text;
' A one-liner example of reading text from an image using IronOCR
Dim Text As String = (New IronTesseract()).Read("img\Screenshot.png").Text
$vbLabelText   $csharpLabel

Konfiguroitava Hello World

// Configurable Hello World example using IronOCR
// 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");
    // You can add any number of images
    var Result = Ocr.Read(Input);
    Console.WriteLine(Result.Text);
}
// Configurable Hello World example using IronOCR
// 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");
    // You can add any number of images
    var Result = Ocr.Read(Input);
    Console.WriteLine(Result.Text);
}
' Configurable Hello World example using IronOCR
' 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")
	' You can add any number of images
	Dim Result = Ocr.Read(Input)
	Console.WriteLine(Result.Text)
End Using
$vbLabelText   $csharpLabel

C# PDF OCR

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

// Extract text from a PDF document using IronOCR
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Finnish;

using (var Input = new OcrInput())
{
    Input.AddPdf("example.pdf", "password");
    // We can also select specific PDF page numbers for OCR

    var Result = Ocr.Read(Input);

    Console.WriteLine(Result.Text);
    Console.WriteLine($"{Result.Pages.Count()} Pages");
    // 1 page for each PDF page
}
// Extract text from a PDF document using IronOCR
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Finnish;

using (var Input = new OcrInput())
{
    Input.AddPdf("example.pdf", "password");
    // We can also select specific PDF page numbers for OCR

    var Result = Ocr.Read(Input);

    Console.WriteLine(Result.Text);
    Console.WriteLine($"{Result.Pages.Count()} Pages");
    // 1 page for each PDF page
}
' Extract text from a PDF document using IronOCR
Dim Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Finnish

Using Input = New OcrInput()
	Input.AddPdf("example.pdf", "password")
	' We can also select specific PDF page numbers for OCR

	Dim Result = Ocr.Read(Input)

	Console.WriteLine(Result.Text)
	Console.WriteLine($"{Result.Pages.Count()} Pages")
	' 1 page for each PDF page
End Using
$vbLabelText   $csharpLabel

OCR monisivuisille TIFF-tiedostoille

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

// Read a multi-page TIFF file using IronOCR
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);
}
// Read a multi-page TIFF file using IronOCR
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);
}
' Read a multi-page TIFF file using IronOCR
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
$vbLabelText   $csharpLabel

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.

// Detect barcodes and QR codes using IronOCR
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);
        // Type and location properties are also exposed
    }
}
// Detect barcodes and QR codes using IronOCR
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);
        // Type and location properties are also exposed
    }
}
' Detect barcodes and QR codes using IronOCR
Imports IronOcr

Private 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)
		' Type and location properties are also exposed
	Next Barcode
End Using
$vbLabelText   $csharpLabel

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.

// Specify a rectangular area in an image for OCR
using IronOcr;
using System.Drawing; // Required for Rectangle

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

using (var Input = new OcrInput())
{
    // Define the area to OCR in pixels
    var ContentArea = new System.Drawing.Rectangle() { X = 215, Y = 1250, Height = 280, Width = 1335 };

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

    var Result = Ocr.Read(Input);
    Console.WriteLine(Result.Text);
}
// Specify a rectangular area in an image for OCR
using IronOcr;
using System.Drawing; // Required for Rectangle

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

using (var Input = new OcrInput())
{
    // Define the area to OCR in pixels
    var ContentArea = new System.Drawing.Rectangle() { X = 215, Y = 1250, Height = 280, Width = 1335 };

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

    var Result = Ocr.Read(Input);
    Console.WriteLine(Result.Text);
}
' Specify a rectangular area in an image for OCR
Imports IronOcr
Imports System.Drawing ' Required for Rectangle

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

Using Input = New OcrInput()
	' Define the area to OCR in pixels
	Dim ContentArea = New System.Drawing.Rectangle() With {
		.X = 215,
		.Y = 1250,
		.Height = 280,
		.Width = 1335
	}

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

	Dim Result = Ocr.Read(Input)
	Console.WriteLine(Result.Text)
End Using
$vbLabelText   $csharpLabel

OCR heikkolaatuisille skannauksille

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

// Improve OCR performance on low-quality scans with IronOCR
using IronOcr;

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

using (var Input = new OcrInput(@"img\Potter.LowQuality.tiff"))
{
    Input.DeNoise(); // Fixes digital noise and low-quality scanning
    Input.Deskew(); // Corrects image rotation and perspective
    var Result = Ocr.Read(Input);
    Console.WriteLine(Result.Text);
}
// Improve OCR performance on low-quality scans with IronOCR
using IronOcr;

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

using (var Input = new OcrInput(@"img\Potter.LowQuality.tiff"))
{
    Input.DeNoise(); // Fixes digital noise and low-quality scanning
    Input.Deskew(); // Corrects image rotation and perspective
    var Result = Ocr.Read(Input);
    Console.WriteLine(Result.Text);
}
' Improve OCR performance on low-quality scans with IronOCR
Imports IronOcr

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

Using Input = New OcrInput("img\Potter.LowQuality.tiff")
	Input.DeNoise() ' Fixes digital noise and low-quality scanning
	Input.Deskew() ' Corrects image rotation and perspective
	Dim Result = Ocr.Read(Input)
	Console.WriteLine(Result.Text)
End Using
$vbLabelText   $csharpLabel

Vie OCR-tulokset haettavana PDF-tiedostona

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

// Export an image with OCR text to a 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");
}
// Export an image with OCR text to a 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");
}
' Export an image with OCR text to a 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
$vbLabelText   $csharpLabel

TIFF haettavaksi PDF-muunnokseksi

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

// Convert a TIFF file directly to a 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");
}
// Convert a TIFF file directly to a 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");
}
' Convert a TIFF file directly to a searchable PDF
Imports IronOcr

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

Using Input = New OcrInput()
	Input.AddMultiFrameTiff("example.tiff")
	Dim Result = Ocr.Read(Input).SaveAsSearchablePdf("searchable.pdf")
End Using
$vbLabelText   $csharpLabel

Vie OCR-tulokset HTML-muodossa

OCR-kuvan XHTML-muunnos.

// Convert OCR results to an HTML file (XHTML)
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");
}
// Convert OCR results to an HTML file (XHTML)
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");
}
' Convert OCR results to an HTML file (XHTML)
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
$vbLabelText   $csharpLabel

OCR-kuvanparannussuodattimet

IronOCR tarjoaa ainutlaatuiset suodattimet OcrInput objekteille OCR-suorituskyvyn parantamiseksi.

Kuvanparannuskoodiesimerkki

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

// Improve image quality for better OCR results
using IronOcr;

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

using (var Input = new OcrInput(@"LowQuality.jpeg"))
{
    Input.DeNoise(); // Reduces digital noise and improves image quality
    Input.Deskew(); // Fixes rotation and perspective of the image
    var Result = Ocr.Read(Input);
    Console.WriteLine(Result.Text);
}
// Improve image quality for better OCR results
using IronOcr;

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

using (var Input = new OcrInput(@"LowQuality.jpeg"))
{
    Input.DeNoise(); // Reduces digital noise and improves image quality
    Input.Deskew(); // Fixes rotation and perspective of the image
    var Result = Ocr.Read(Input);
    Console.WriteLine(Result.Text);
}
' Improve image quality for better OCR results
Imports IronOcr

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

Using Input = New OcrInput("LowQuality.jpeg")
	Input.DeNoise() ' Reduces digital noise and improves image quality
	Input.Deskew() ' Fixes rotation and perspective of the image
	Dim Result = Ocr.Read(Input)
	Console.WriteLine(Result.Text)
End Using
$vbLabelText   $csharpLabel

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 with Arabic language support
// PM> Install IronOcr.Languages.Arabic

using IronOcr;

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

using (var Input = new OcrInput())
{
    Input.AddImage("img/arabic.gif");
    // Add image filters if necessary
    // IronTesseract can read what conventional Tesseract cannot, even if the input is of very low quality

    var Result = Ocr.Read(Input);

    // Console can't easily display Arabic text on Windows, so save it to file instead.
    Result.SaveAsTextFile("arabic.txt");
}
// Using IronOcr with Arabic language support
// PM> Install IronOcr.Languages.Arabic

using IronOcr;

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

using (var Input = new OcrInput())
{
    Input.AddImage("img/arabic.gif");
    // Add image filters if necessary
    // IronTesseract can read what conventional Tesseract cannot, even if the input is of very low quality

    var Result = Ocr.Read(Input);

    // Console can't easily display Arabic text on Windows, so save it to file instead.
    Result.SaveAsTextFile("arabic.txt");
}
' Using IronOcr with Arabic language support
' PM> Install IronOcr.Languages.Arabic

Imports IronOcr

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

Using Input = New OcrInput()
	Input.AddImage("img/arabic.gif")
	' Add image filters if necessary
	' IronTesseract can read what conventional Tesseract cannot, even if the input is of very low quality

	Dim Result = Ocr.Read(Input)

	' Console can't easily display Arabic text on Windows, so save it to file instead.
	Result.SaveAsTextFile("arabic.txt")
End Using
$vbLabelText   $csharpLabel

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 for multi-language recognition
// PM> Install IronOcr.Languages.ChineseSimplified

using IronOcr;

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

// We can add any number of languages

using (var Input = new OcrInput())
{
    Input.Add("multi-language.pdf");
    var Result = Ocr.Read(Input);
    Result.SaveAsTextFile("results.txt");
}
// Using IronOCR for multi-language recognition
// PM> Install IronOcr.Languages.ChineseSimplified

using IronOcr;

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

// We can add any number of languages

using (var Input = new OcrInput())
{
    Input.Add("multi-language.pdf");
    var Result = Ocr.Read(Input);
    Result.SaveAsTextFile("results.txt");
}
' Using IronOCR for multi-language recognition
' PM> Install IronOcr.Languages.ChineseSimplified

Imports IronOcr

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

' We can add any number of languages

Using Input = New OcrInput()
	Input.Add("multi-language.pdf")
	Dim Result = Ocr.Read(Input)
	Result.SaveAsTextFile("results.txt")
End Using
$vbLabelText   $csharpLabel

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

// Detailed OCR results using IronOCR
using IronOcr;
using System.Drawing; // Required assembly reference

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Finnish;
Ocr.Configuration.EngineMode = TesseractEngineMode.TesseractAndLstm;
Ocr.Configuration.ReadBarCodes = true; // Important

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;
    // Explore the extensive, detailed API for:
    // - Pages, Blocks, Paragraphs, Lines, Words, Characters
    // - Image exports, font coordinates, statistics
}
// Detailed OCR results using IronOCR
using IronOcr;
using System.Drawing; // Required assembly reference

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Finnish;
Ocr.Configuration.EngineMode = TesseractEngineMode.TesseractAndLstm;
Ocr.Configuration.ReadBarCodes = true; // Important

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;
    // Explore the extensive, detailed API for:
    // - Pages, Blocks, Paragraphs, Lines, Words, Characters
    // - Image exports, font coordinates, statistics
}
' Detailed OCR results using IronOCR
Imports IronOcr
Imports System.Drawing ' Required assembly reference

Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Finnish
Ocr.Configuration.EngineMode = TesseractEngineMode.TesseractAndLstm
Ocr.Configuration.ReadBarCodes = True ' Important

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
	' Explore the extensive, detailed API for:
	' - Pages, Blocks, Paragraphs, Lines, Words, Characters
	' - Image exports, font coordinates, statistics
End Using
$vbLabelText   $csharpLabel

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.