Magyar OCR C#és .NET nyelven

A dokumentum további verziói:

Az IronOCR egy C#szoftverkomponens, amely lehetővé teszi a .NET-kódolók számára, hogy 126 nyelven olvassák el a képek és a PDF dokumentumok szövegét, beleértve a magyar nyelvet is.

Ez a Tesseract fejlett villája, amelyet kizárólag a .NET fejlesztők számára fejlesztettek ki, és a sebesség és a pontosság szempontjából is rendszeresen felülmúlja a többi Tesseract motort.

Az IronOcr tartalma. Nyelvek. Magyar

Ez a csomag 52 OCR nyelvet tartalmaz a .NET számára:

  • Magyar
  • HungarianBest
  • HungarianFast

Letöltés

Magyar Nyelvcsomag [magyar]
* Download as Postai irányítószám
* Install with
https://www.nuget.org/packages/IronOcr.Languages.Hungarian/'> NuGet

Telepítés

Az első dolog, amit meg kell tennünk, telepítenie kell a magyar OCR csomagunkat a .NET projektjébe.

PM> Install-Package IronOCR.Languages.Hungarian

Kódpélda

Ez a C#kód példa magyar nyelvű szöveget olvas le egy Image vagy PDF dokumentumról.

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

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

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

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

Miért válassza az IronOCR-t?

Az IronOCR egy könnyen telepíthető, teljes és jól dokumentált .NET szoftverkönyvtár.

Válassza az IronOCR lehetőséget, ha 99,8% + OCR pontosságot szeretne elérni, anélkül, hogy bármilyen külső webszolgáltatást, folyamatos díjakat vagy bizalmas dokumentumokat küldene az interneten.

Miért választják a C#fejlesztők az IronOCR-t a Vanilla Tesseract helyett:

  • Telepítés egyetlen DLL-ként vagy NuGet-ként
  • A dobozból kivéve a Tesseract 5, 4 és 3 motorokat.
  • A pontosság 99,8% -kal jelentősen felülmúlja a szokásos Tesseractot.
  • Lángoló sebesség és MultiThreading
  • Kompatibilis az MVC, a WebApp, az asztali, a konzol és a kiszolgálóalkalmazásokkal
  • Nincs Exes vagy C ++ kód, amellyel működhetne
  • Teljes PDF OCR támogatás
  • Szinte bármilyen képfájl vagy PDF OCR végrehajtásához
  • Teljes .NET Core, Standard és FrameWork támogatás
  • Telepítse Windows, Mac, Linux, Azure, Docker, Lambda, AWS rendszereken
  • Olvassa el a vonalkódokat és a QR-kódokat
  • Exportálja az OCR-t XHTML-be
  • Exportálja az OCR-t kereshető PDF dokumentumokba
  • Többszálas támogatás
  • 126 nemzetközi nyelv, mindezeket NuGet vagy OcrData fájlokon keresztül kezelik
  • Kivonat képek, koordináták, statisztikák és betűtípusok. Nem csak szöveg.
  • Használható a Tesseract OCR terjesztésére kereskedelmi és saját alkalmazásokban.

A vas OCR akkor világít, ha valós képekkel és tökéletlen dokumentumokkal dolgozik, például fényképekkel, vagy alacsony felbontású beolvasásokkal, amelyek digitális zajjal vagy tökéletlenséggel járhatnak.

A .NET platform egyéb ingyenes OCR könyvtárai, mint például a .net tesseract API-k és a webszolgáltatások, nem teljesítenek ilyen jól a valós világban.

OCR a Tesseract 5-tel - Kezdje a kódolást C#-ben

Az alábbi kódminta megmutatja, hogy a C#vagy a VB .NET használatával milyen könnyen olvasható szöveg egy képből.

Egysoros

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#

Konfigurálható Hello World

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

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Hungarian;
using (var Input = new OcrInput()){
Input.AddImage("images/sample.jpeg")
//... tetszőleges számú képet adhat hozzá
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
// PM> Install-Package IronOCR.Languages.Hungarian
using IronOcr;

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Hungarian;
using (var Input = new OcrInput()){
Input.AddImage("images/sample.jpeg")
//... tetszőleges számú képet adhat hozzá
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
' PM> Install-Package IronOCR.Languages.Hungarian
Imports IronOcr

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

Ugyanez a megközelítés hasonlóan alkalmazható bármilyen PDF dokumentum szövegének kinyerésére.

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Hungarian;
using (var input = new OcrInput())
{
input.AddPdf("example.pdf", "password");
// Kiválaszthatunk konkrét PDF oldalszámokat is az OCR számára

var Result = Ocr.Read(input);

Console.WriteLine(Result.Text);
Console.WriteLine($"{Result.Pages.Count()} Pages");
// 1 oldal a PDF minden oldalához
}
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Hungarian;
using (var input = new OcrInput())
{
input.AddPdf("example.pdf", "password");
// Kiválaszthatunk konkrét PDF oldalszámokat is az OCR számára

var Result = Ocr.Read(input);

Console.WriteLine(Result.Text);
Console.WriteLine($"{Result.Pages.Count()} Pages");
// 1 oldal a PDF minden oldalához
}
Dim Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Hungarian
Using input = New OcrInput()
input.AddPdf("example.pdf", "password")
' Kiválaszthatunk konkrét PDF oldalszámokat is az OCR számára

Dim Result = Ocr.Read(input)

Console.WriteLine(Result.Text)
Console.WriteLine($"{Result.Pages.Count()} Pages")
' 1 oldal a PDF minden oldalához
End Using
VB   C#

OCR többoldalas TIFF-ekhez

OCR TIFF fájlformátum olvasása, többoldalas dokumentumokkal együtt. A TIFF közvetlenül konvertálható kereshető szöveget tartalmazó PDF fájlokká is.

using IronOcr;

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

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

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

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

Vonalkódok és QR

Az IronOCR egyedülálló tulajdonsága, hogy vonalkódokat és QR-kódokat tud olvasni a dokumentumokból, miközben szöveget keres. Az OcrResult.OcrBarcode osztály OcrResult.OcrBarcode részletes információkat nyújtanak a fejlesztőnek az egyes beolvasott vonalkódokról.

// 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);
// típus és elhelyezkedés tulajdonságai is ki vannak téve
}
}
// 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);
// típus és elhelyezkedés tulajdonságai is ki vannak téve
}
}
' 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)
' típus és elhelyezkedés tulajdonságai is ki vannak téve
Next Barcode
End Using
VB   C#

OCR a képek meghatározott területein

Az IronOCR összes szkennelési és olvasási módja lehetővé teszi, hogy pontosan meghatározzuk az oldal vagy oldalak mely részéből szeretnénk szöveget olvasni. Ez nagyon hasznos, ha szabványosított űrlapokat vizsgálunk, és nagyon sok időt takaríthat meg, és javíthatja a hatékonyságot.

A vágási régiók használatához hozzá kell adnunk egy rendszer hivatkozást a System.Drawing , hogy használhassuk a System.Drawing.Rectangle objektumot.

using IronOcr;

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

using (var Input = new OcrInput())
{
var ContentArea = new System.Drawing.Rectangle() { X = 215, Y = 1250, Height = 280, Width = 1335 };
// A méretek px-ben vannak megadva

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

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

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

using (var Input = new OcrInput())
{
var ContentArea = new System.Drawing.Rectangle() { X = 215, Y = 1250, Height = 280, Width = 1335 };
// A méretek px-ben vannak megadva

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

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

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

Using Input = New OcrInput()
Dim ContentArea = New System.Drawing.Rectangle() With {
	.X = 215,
	.Y = 1250,
	.Height = 280,
	.Width = 1335
}
' A méretek px-ben vannak megadva

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

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

OCR alacsony minőségű vizsgálatokhoz

Az IronOCR OcrInput osztály javíthatja azokat a beolvasásokat, amelyeket a normál Tesseract nem tud olvasni.

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

using (var Input = new OcrInput(@"img\Potter.LowQuality.tiff"))
{
Input.DeNoise(); // javítja a digitális zajt és a rossz szkennelést
Input.Deskew(); // rögzíti a forgatást és a perspektívát
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
using IronOcr;
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Hungarian;

using (var Input = new OcrInput(@"img\Potter.LowQuality.tiff"))
{
Input.DeNoise(); // javítja a digitális zajt és a rossz szkennelést
Input.Deskew(); // rögzíti a forgatást és a perspektívát
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
Imports IronOcr
Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Hungarian

Using Input = New OcrInput("img\Potter.LowQuality.tiff")
Input.DeNoise() ' javítja a digitális zajt és a rossz szkennelést
Input.Deskew() ' rögzíti a forgatást és a perspektívát
Dim Result = Ocr.Read(Input)
Console.WriteLine(Result.Text)
End Using
VB   C#

Exportálja az OCR-eredményeket kereshető PDF-fájlként

Kép PDF-be másolható szöveges karakterláncokkal. Keresőmotorok és adatbázisok indexelhetik.

using IronOcr;

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

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

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

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 - kereshető PDF-konvertálás

CO Konvertálja a TIFF dokumentumot (vagy bármilyen képfájl-csoportot) közvetlenül kereshető PDF-be, amelyet az intranet, a webhely és a Google keresőmotorjai indexelhetnek.

using IronOcr;

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

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

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

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

Exportálja az OCR eredményeket HTML formátumban

OCR kép XHTML konvertálás.

using IronOcr;

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Hungarian;
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.Hungarian;
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.Hungarian
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 képjavító szűrők

Az IronOCR egyedülálló szűrőket biztosít az OcrInput objektumokhoz az OCR teljesítményének javítása érdekében.

Képjavító kód példa

Az OCR bemeneti képeket jobb minőségűvé teszi, hogy jobb, gyorsabb OCR eredményeket hozzon létre.

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

using (var Input = new OcrInput(@"LowQuality.jpeg"))
{
Input.DeNoise(); // javítja a digitális zajt és a rossz szkennelést
Input.Deskew(); // rögzíti a forgatást és a perspektívát
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
using IronOcr;
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Hungarian;

using (var Input = new OcrInput(@"LowQuality.jpeg"))
{
Input.DeNoise(); // javítja a digitális zajt és a rossz szkennelést
Input.Deskew(); // rögzíti a forgatást és a perspektívát
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
Imports IronOcr
Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Hungarian

Using Input = New OcrInput("LowQuality.jpeg")
Input.DeNoise() ' javítja a digitális zajt és a rossz szkennelést
Input.Deskew() ' rögzíti a forgatást és a perspektívát
Dim Result = Ocr.Read(Input)
Console.WriteLine(Result.Text)
End Using
VB   C#

OCR képszűrők listája

Az OCR teljesítményének növelése érdekében az IronOCR-be beépített bemeneti szűrők a következők:

  • OcrInput.Rotate (dupla fok) - A képeket több fokkal elforgatja az óramutató járásával megegyező irányba. Az óramutató járásával ellentétes irányba használjon negatív számokat.
  • OcrInput.Binarize () - Ez a képszűrő minden képpontot fekete vagy fehér színűvé tesz, középút nélkül. Javíthatja az OCR-teljesítmény eseteit, amikor a szöveg nagyon alacsony kontrasztú a háttérrel.
  • OcrInput.ToGrayScale () - Ez a képszűrő minden pixelt szürkeárnyalatos árnyalattá alakít. Nem valószínű, hogy javítja az OCR pontosságát, de javíthatja a sebességet
  • OcrInput.Contrast () - Automatikusan növeli a kontrasztot. Ez a szűrő alacsony kontrasztú szkenneléseknél gyakran javítja az OCR sebességét és pontosságát.
  • OcrInput.DeNoise () - Eltávolítja a digitális zajt. Ezt a szűrőt csak ott szabad használni, ahol zaj várható.
  • OcrInput.Invert () - Minden színt megfordít. Pl. A fehér feketévé válik: a fekete fehérré válik.
  • OcrInput.Dilate () - Haladó morfológia. A tágulás pixeleket ad hozzá a képen lévő objektumok határaihoz. Erode-val szemben
  • OcrInput.Erode () - Haladó morfológia. Az erózió eltávolítja a képpontokat az objektumhatárokon
  • OcrInput.Deskew () - Elforgat egy képet, így az a helyes út felfelé és merőleges. Ez nagyon hasznos az OCR esetében, mert a ferde beolvasások Tesseract toleranciája akár 5 fok is lehet.
  • OcrInput.DeepCleanBackgroundNoise () - Erős háttérzaj eltávolítás. Csak akkor használja ezt a szűrőt, ha szélsőséges dokumentum háttérzaj ismert, mert ez a szűrő a tiszta dokumentumok OCR-pontosságának csökkenését is megkockáztathatja, és nagyon CPU-költséges.
  • OcrInput.EnhanceResolution - Fokozza az alacsony minőségű képek felbontását. Erre a szűrőre gyakran nincs szükség, mert az OcrInput.MinimumDPI és az OcrInput.TargetDPI automatikusan elkapja és megoldja az alacsony felbontású bemeneteket.

CleanBackgroundNoise. Ez egy kissé időigényes beállítás; ugyanakkor lehetővé teszi a könyvtár számára, hogy automatikusan megtisztítsa a digitális zajt, a papír gyűrődéseit és egyéb hiányosságait egy digitális képen belül, ami egyébként képtelenné tenné a többi OCR könyvtár olvasására.

Az EnhanceContrast egy olyan beállítás, amely miatt az IronOCR automatikusan megnöveli a szöveg kontrasztját a kép hátterében, növelve az OCR pontosságát, és általában növelve az OCR teljesítményét és sebességét.

Az EnhanceResolution egy olyan beállítás, amely automatikusan észleli az alacsony felbontású (275 dpi alatti) képeket, automatikusan felnagyítja a képet, majd az egész szöveget élesíti, hogy az OCR könyvtár tökéletesen olvasható legyen. Bár ez a művelet önmagában időigényes, általában csökkenti a kép OCR-műveletének teljes idejét.

Nyelv IronOCR 22 nemzetközi nyelvcsomagot támogat, és a nyelvi beállítással kiválasztható egy vagy több nyelv, amelyet alkalmazni kell egy OCR művelethez.

Stratégia Az IronOCR két stratégiát támogat. Választhatunk egy gyors és kevésbé pontos dokumentum-beolvasást, vagy egy olyan fejlett stratégiát használunk, amely néhány mesterséges intelligencia-modellt használ az OCR-szöveg pontosságának automatikus javításához azáltal, hogy a szavak statisztikai viszonyát egy mondatban vizsgálja. .

A ColorSpace egy olyan beállítás, amellyel választhatunk szürkeárnyalatos vagy színes OCR-t. Általában a szürkeárnyalatos a legjobb megoldás. Azonban néha, ha vannak hasonló árnyalatú, de nagyon eltérő színű szövegek vagy hátterek, akkor a színes színtér jobb eredményt nyújt.

DetectWhiteTextOnDarkBackgrounds. Általában az összes OCR könyvtár arra számít, hogy fehér alapon fekete szöveget lát. Ez a beállítás lehetővé teszi, hogy az IronOCR automatikusan felismerje a negatívokat vagy a fehér szövegű sötét oldalakat, és elolvassa azokat.

InputImageType. Ez a beállítás lehetővé teszi a fejlesztő számára, hogy irányítsa az OCR könyvtárat abban, hogy teljes dokumentumot vagy részletet, például képernyőképet néz.

A RotateAndStraighten egy olyan speciális beállítás, amely lehetővé teszi az IronOCR számára azt az egyedülálló képességet, hogy elolvassa azokat a dokumentumokat, amelyek nemcsak el vannak forgatva, de esetleg perspektívát is tartalmaznak, például a szöveges dokumentumok fényképeit.

A ReadBarcodes egy hasznos szolgáltatás, amely lehetővé teszi az IronOCR számára, hogy automatikusan olvassa a vonalkódokat és a QR-kódokat az oldalakon, miközben szövegeket is olvas, anélkül, hogy további jelentős időterhelést jelentene.

Színmélység. Ez a beállítás határozza meg, hogy az OCR-könyvtár pixelenként hány bitet használjon a szín mélységének meghatározásához. A nagyobb színmélység növelheti az OCR minőségét, de megnöveli az OCR művelet befejezéséhez szükséges időt is.

126 Nyelvcsomagok

Az IronOCR 126 nemzetközi nyelvet támogat nyelvcsomagokon keresztül, amelyeket DLL-ként terjesztenek, amelyek letölthetők erről a webhelyről , vagy a NuGet Package Manager-ből .

Nyelvek: német, francia, angol, kínai, japán és még sok más. Speciális nyelvi csomagok léteznek az MRZ útlevélhez, a MICR ellenőrzésekhez, a pénzügyi adatokhoz, a rendszámokhoz és még sok máshoz. Használhat bármilyen tesseract ".traineddata" fájlt is, beleértve azokat is, amelyeket maga készített.

Nyelv példa

Egyéb OCR nyelvek használata.

// 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");
// Szükség esetén adjon hozzá képszűrőket
// Ebben az esetben még a gondolatbevitel is nagyon gyenge minőségű
// Az IronTesseract képes elolvasni, amit a hagyományos Tesseract nem.

var Result = Ocr.Read(input);

// A konzol nem tudja könnyen kinyomtatni az arab nyelvet a Windows rendszeren.
// Mentsünk inkább lemezre.
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");
// Szükség esetén adjon hozzá képszűrőket
// Ebben az esetben még a gondolatbevitel is nagyon gyenge minőségű
// Az IronTesseract képes elolvasni, amit a hagyományos Tesseract nem.

var Result = Ocr.Read(input);

// A konzol nem tudja könnyen kinyomtatni az arab nyelvet a Windows rendszeren.
// Mentsünk inkább lemezre.
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")
' Szükség esetén adjon hozzá képszűrőket
' Ebben az esetben még a gondolatbevitel is nagyon gyenge minőségű
' Az IronTesseract képes elolvasni, amit a hagyományos Tesseract nem.

Dim Result = Ocr.Read(input)

' A konzol nem tudja könnyen kinyomtatni az arab nyelvet a Windows rendszeren.
' Mentsünk inkább lemezre.
Result.SaveAsTextFile("arabic.txt")
End Using
VB   C#

Többnyelvű példa

Lehetőség van OCR egyszerre több nyelv használatával is. Ez valóban segíthet az angol nyelvű metaadatok és URL-ek megszerzésében az Unicode dokumentumokban.

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

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

// Bármennyi nyelvet felvehetünk

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

// Bármennyi nyelvet felvehetünk

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

' Bármennyi nyelvet felvehetünk

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

Részletes OCR eredmények objektumok

A Vas OCR minden OCR művelethez OCR eredmény objektumot ad vissza. A fejlesztők általában csak az objektum szövegtulajdonságát használják a képről beolvasott szöveg lekérésére. Az OCR eredmények DOM azonban ennél sokkal fejlettebb.

using IronOcr;
using System.Drawing; //Adja hozzá az összeállítási hivatkozást

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

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;
// Fedezze fel itt, hogy hatalmas, részletes API-t találjon:
// - Oldalak, blokkok, parafafák, vonalak, szavak, karakterek
// - Képexport, Betűtípus-koordináták, Statisztikai adatok
}
using IronOcr;
using System.Drawing; //Adja hozzá az összeállítási hivatkozást

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

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;
// Fedezze fel itt, hogy hatalmas, részletes API-t találjon:
// - Oldalak, blokkok, parafafák, vonalak, szavak, karakterek
// - Képexport, Betűtípus-koordináták, Statisztikai adatok
}
Imports IronOcr
Imports System.Drawing 'Adja hozzá az összeállítási hivatkozást

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

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
' Fedezze fel itt, hogy hatalmas, részletes API-t találjon:
' - Oldalak, blokkok, parafafák, vonalak, szavak, karakterek
' - Képexport, Betűtípus-koordináták, Statisztikai adatok
End Using
VB   C#

Teljesítmény

Az IronOCR a dobozból működik, nincs szükség a bemeneti képek teljesítményének hangolására vagy erős módosítására.

A sebesség lángol: Az IronOcr.2020 + akár tízszer gyorsabb és több mint 250% -kal kevesebb hibát okoz, mint a korábbi buildek.

Tudj meg többet

Ha többet szeretne megtudni az OCR-ről C #, VB, F # vagy bármely más .NET nyelven, kérjük, olvassa el közösségi oktatóanyagainkat , amelyek valós példákat mutatnak be az IronOCR használatára, és megmutathatják az árnyalatokat, hogyan lehet a legjobban kihozni. ezt a könyvtárat.

A .NET fejlesztők számára teljes objektum-referencia is rendelkezésre áll.