Bosanski OCR u C# i .NET
Ostale verzije ovog dokumenta:
IronOCR je softverska komponenta C# koja omogućava .NET koderima čitanje teksta sa slika i PDF dokumenata na 126 jezika, uključujući bosanski.
To je napredna vilica Tesseract, napravljena isključivo za .NET programere i redovito nadmašuje ostale Tesseract motore i brzinom i tačnošću.
Sadržaj IronOcr.Languages.Bosnian
Ovaj paket sadrži 46 OCR jezika za .NET:
- Bosanski
- BosnianBest
- BosnianFast
Skinuti
Bosanski jezički paket [bosanski jezik]
* Download as Zip
* Install with https://www.nuget.org/packages/IronOcr.Languages.Bosnian/
Instalacija
Prvo što moramo učiniti je instalirati naš bosanski OCR paket na vaš .NET projekat.
PM> Install-Package IronOCR.Languages.Bosnian
Primjer koda
Ovaj primjer C# koda čita bosanski tekst iz slikovnog ili PDF dokumenta.
// Instalira Bosanski jezički paket za IronOCR.
// PM> Install-Package IronOCR.Languages.Bosnian
using IronOcr;
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Bosnian;
// Otvara ulaz za OCR sa zadate slike 'Bosnian.png'.
using (var Input = new OcrInput(@"images\Bosnian.png"))
{
var Result = Ocr.Read(Input);
var AllText = Result.Text; // Ekstraktovani tekst iz slike.
Console.WriteLine(AllText); // Ispisuje rezultat ekstrakcije.
}
// Instalira Bosanski jezički paket za IronOCR.
// PM> Install-Package IronOCR.Languages.Bosnian
using IronOcr;
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Bosnian;
// Otvara ulaz za OCR sa zadate slike 'Bosnian.png'.
using (var Input = new OcrInput(@"images\Bosnian.png"))
{
var Result = Ocr.Read(Input);
var AllText = Result.Text; // Ekstraktovani tekst iz slike.
Console.WriteLine(AllText); // Ispisuje rezultat ekstrakcije.
}
' Instalira Bosanski jezički paket za IronOCR.
' PM> Install-Package IronOCR.Languages.Bosnian
Imports IronOcr
Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Bosnian
' Otvara ulaz za OCR sa zadate slike 'Bosnian.png'.
Using Input = New OcrInput("images\Bosnian.png")
Dim Result = Ocr.Read(Input)
Dim AllText = Result.Text ' Ekstraktovani tekst iz slike.
Console.WriteLine(AllText) ' Ispisuje rezultat ekstrakcije.
End Using
Zašto odabrati IronOCR?
IronOCR je jednostavna za instalaciju, cjelovita i dobro dokumentirana .NET softverska biblioteka.
Odaberite IronOCR da biste postigli tačnost 99,8% + OCR bez upotrebe bilo kakvih vanjskih web usluga, tekućih naknada ili slanja povjerljivih dokumenata putem Interneta.
Zašto programeri C# odabiru IronOCR umjesto Vanilla Tesseract:
- Instalirajte kao jedan DLL ili NuGet
- Uključuje motore Tesseract 5, 4 i 3 iz kutije.
- Preciznost 99,8% značajno nadmašuje redovni Tesseract.
- Zapanjujuća brzina i višestruko navojavanje
- Kompatibilan s MVC, WebApp, Desktop, Console i Server Application
- Ne postoji Exes ili C++ kôd za rad
- Potpuna PDF OCR podrška
- Da biste izvršili OCR na gotovo bilo kojoj slikovnoj datoteci ili PDF-u
- Puna podrška za .NET Core, Standard i FrameWork
- Primijeniti na Windows, Mac, Linux, Azure, Docker, Lambda, AWS
- Čitajte bar kodove i QR kodove
- Izvezite OCR u XHTML
- Izvezite OCR u PDF dokumente koji se mogu pretraživati
- Multithreading podrška
- 126 međunarodnih jezika kojima se upravlja putem NuGet ili OcrData datoteka
- Izdvoj slike, koordinate, statistiku i fontove. Ne samo tekst.
- Može se koristiti za distribuciju Tesseract OCR-a unutar komercijalnih i vlasničkih aplikacija.
Optički prepoznavač prepoznavanja željeza svijetli kada radite sa slikama iz stvarnog svijeta i nesavršenim dokumentima poput fotografija ili skeniranja niske rezolucije koji mogu imati digitalne šume ili nedostatke.
Druge besplatne OCR biblioteke za .NET platformu, poput ostalih .net tesseract API-ja i web usluga, nemaju tako dobru izvedbu u ovim stvarnim slučajevima upotrebe.
OCR sa Tesseract 5 - započnite kodiranje na C#
Uzorak koda u nastavku pokazuje koliko je lako čitati tekst sa slike pomoću C# ili VB .NET.
OneLiner
// Jednostavan način čitanja teksta iz slike u jednoj liniji koda.
string Text = new IronTesseract().Read(@"img\Screenshot.png").Text;
Console.WriteLine(Text); // Ispisuje rezultat.
// Jednostavan način čitanja teksta iz slike u jednoj liniji koda.
string Text = new IronTesseract().Read(@"img\Screenshot.png").Text;
Console.WriteLine(Text); // Ispisuje rezultat.
' Jednostavan način čitanja teksta iz slike u jednoj liniji koda.
Dim Text As String = (New IronTesseract()).Read("img\Screenshot.png").Text
Console.WriteLine(Text) ' Ispisuje rezultat.
Podesivi Hello World
// Instalira Bosanski jezički paket za IronOCR.
// PM> Install-Package IronOCR.Languages.Bosnian
using IronOcr;
// Kreira novi objekt IronTesseract.
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Bosnian;
// Daje ulazne slike za OCR.
using (var Input = new OcrInput())
{
Input.AddImage("images/sample.jpeg");
//... možete dodati bilo koji broj slika
// Čita tekst sa zadate slike.
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text); // Ispisuje ekstraktovani tekst.
}
// Instalira Bosanski jezički paket za IronOCR.
// PM> Install-Package IronOCR.Languages.Bosnian
using IronOcr;
// Kreira novi objekt IronTesseract.
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Bosnian;
// Daje ulazne slike za OCR.
using (var Input = new OcrInput())
{
Input.AddImage("images/sample.jpeg");
//... možete dodati bilo koji broj slika
// Čita tekst sa zadate slike.
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text); // Ispisuje ekstraktovani tekst.
}
' Instalira Bosanski jezički paket za IronOCR.
' PM> Install-Package IronOCR.Languages.Bosnian
Imports IronOcr
' Kreira novi objekt IronTesseract.
Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Bosnian
' Daje ulazne slike za OCR.
Using Input = New OcrInput()
Input.AddImage("images/sample.jpeg")
'... možete dodati bilo koji broj slika
' Čita tekst sa zadate slike.
Dim Result = Ocr.Read(Input)
Console.WriteLine(Result.Text) ' Ispisuje ekstraktovani tekst.
End Using
C# PDF OCR
Isti se pristup može slično koristiti za izdvajanje teksta iz bilo kojeg PDF dokumenta.
using IronOcr;
// Kreira novi objekt IronTesseract.
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Bosnian;
// Dodaje PDF dokument za OCR.
using (var input = new OcrInput())
{
input.AddPdf("example.pdf", "password");
// Takođe možemo odabrati određene brojeve PDF stranica za OCR
// Čita tekst iz PDF dokumenta.
var Result = Ocr.Read(input);
Console.WriteLine(Result.Text); // Ispisuje ekstraktovani tekst.
Console.WriteLine($"{Result.Pages.Count()} Pages"); // Ispisuje broj stranica.
// 1 stranica za svaku stranicu PDF-a
}
using IronOcr;
// Kreira novi objekt IronTesseract.
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Bosnian;
// Dodaje PDF dokument za OCR.
using (var input = new OcrInput())
{
input.AddPdf("example.pdf", "password");
// Takođe možemo odabrati određene brojeve PDF stranica za OCR
// Čita tekst iz PDF dokumenta.
var Result = Ocr.Read(input);
Console.WriteLine(Result.Text); // Ispisuje ekstraktovani tekst.
Console.WriteLine($"{Result.Pages.Count()} Pages"); // Ispisuje broj stranica.
// 1 stranica za svaku stranicu PDF-a
}
Imports IronOcr
' Kreira novi objekt IronTesseract.
Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Bosnian
' Dodaje PDF dokument za OCR.
Using input = New OcrInput()
input.AddPdf("example.pdf", "password")
' Takođe možemo odabrati određene brojeve PDF stranica za OCR
' Čita tekst iz PDF dokumenta.
Dim Result = Ocr.Read(input)
Console.WriteLine(Result.Text) ' Ispisuje ekstraktovani tekst.
Console.WriteLine($"{Result.Pages.Count()} Pages") ' Ispisuje broj stranica.
' 1 stranica za svaku stranicu PDF-a
End Using
OCR za MultiPage TIFF
OCR čitanje TIFF formata datoteke, uključujući dokumente sa više stranica. TIFF se također može pretvoriti izravno u PDF datoteku s tekstom koji se može pretraživati.
using IronOcr;
// Kreira novi objekt IronTesseract.
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Bosnian;
// Ganeriramo OCR za TIFF datoteku.
using (var Input = new OcrInput())
{
Input.AddMultiFrameTiff("multi-frame.tiff");
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text); // Ispisuje ekstraktovani tekst.
}
using IronOcr;
// Kreira novi objekt IronTesseract.
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Bosnian;
// Ganeriramo OCR za TIFF datoteku.
using (var Input = new OcrInput())
{
Input.AddMultiFrameTiff("multi-frame.tiff");
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text); // Ispisuje ekstraktovani tekst.
}
Imports IronOcr
' Kreira novi objekt IronTesseract.
Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Bosnian
' Ganeriramo OCR za TIFF datoteku.
Using Input = New OcrInput()
Input.AddMultiFrameTiff("multi-frame.tiff")
Dim Result = Ocr.Read(Input)
Console.WriteLine(Result.Text) ' Ispisuje ekstraktovani tekst.
End Using
Barkodovi i QR
Jedinstvena karakteristika IronOCR-a je da može čitati crtične kodove i QR kodove iz dokumenata dok skenira tekst. OcrResult.OcrBarcode
klasa daje programeru detaljne informacije o svakom skeniranom OcrResult.OcrBarcode
kodu.
using IronOcr;
// Kreira novi objekt IronTesseract.
var Ocr = new IronTesseract();
Ocr.Configuration.ReadBarCodes = true;
// Dodaje slike za OCR i čitanje bar kodova.
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); // Ispisuje vrijednost barkoda.
// vrsta i lokacija takođe su izloženi
}
}
using IronOcr;
// Kreira novi objekt IronTesseract.
var Ocr = new IronTesseract();
Ocr.Configuration.ReadBarCodes = true;
// Dodaje slike za OCR i čitanje bar kodova.
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); // Ispisuje vrijednost barkoda.
// vrsta i lokacija takođe su izloženi
}
}
Imports IronOcr
' Kreira novi objekt IronTesseract.
Private Ocr = New IronTesseract()
Ocr.Configuration.ReadBarCodes = True
' Dodaje slike za OCR i čitanje bar kodova.
Using input = New OcrInput()
input.AddImage("img/Barcode.png")
Dim Result = Ocr.Read(input)
For Each Barcode In Result.Barcodes
Console.WriteLine(Barcode.Value) ' Ispisuje vrijednost barkoda.
' vrsta i lokacija takođe su izloženi
Next Barcode
End Using
OCR na određenim područjima slika
Sve metode skeniranja i čitanja IronOCR pružaju mogućnost preciznog preciziranja s kojeg dijela stranice ili stranica želimo čitati tekst. Ovo je vrlo korisno kada gledamo standardizirane obrasce i možemo uštedjeti jako puno vremena i poboljšati efikasnost.
Da bismo koristili regije System.Drawing
ćemo dodati sistemsku referencu na System.Drawing
kako bismo mogli koristiti objekt System.Drawing.Rectangle
.
using IronOcr;
using System.Drawing; // Omogućava korištenje geometrijskih veličina.
// Kreira novi objekt IronTesseract.
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Bosnian;
// Definiše oblast interesa za OCR.
using (var Input = new OcrInput())
{
var ContentArea = new Rectangle() { X = 215, Y = 1250, Height = 280, Width = 1335 };
// Dimenzije su u px
Input.Add("document.png", ContentArea);
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text); // Ispisuje ekstraktovani tekst iz definisane oblasti.
}
using IronOcr;
using System.Drawing; // Omogućava korištenje geometrijskih veličina.
// Kreira novi objekt IronTesseract.
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Bosnian;
// Definiše oblast interesa za OCR.
using (var Input = new OcrInput())
{
var ContentArea = new Rectangle() { X = 215, Y = 1250, Height = 280, Width = 1335 };
// Dimenzije su u px
Input.Add("document.png", ContentArea);
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text); // Ispisuje ekstraktovani tekst iz definisane oblasti.
}
Imports IronOcr
Imports System.Drawing ' Omogućava korištenje geometrijskih veličina.
' Kreira novi objekt IronTesseract.
Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Bosnian
' Definiše oblast interesa za OCR.
Using Input = New OcrInput()
Dim ContentArea = New Rectangle() With {
.X = 215,
.Y = 1250,
.Height = 280,
.Width = 1335
}
' Dimenzije su u px
Input.Add("document.png", ContentArea)
Dim Result = Ocr.Read(Input)
Console.WriteLine(Result.Text) ' Ispisuje ekstraktovani tekst iz definisane oblasti.
End Using
OCR za skeniranje niskog kvaliteta
Klasa IronOCR OcrInput
može popraviti skeniranja koja normalni Tesseract ne može pročitati.
using IronOcr;
// Kreira novi objekt IronTesseract.
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Bosnian;
// Dodaje sken niskog kvaliteta za obradu.
using (var Input = new OcrInput(@"img\Potter.LowQuality.tiff"))
{
Input.DeNoise(); // popravlja digitalni šum i loše skeniranje
Input.Deskew(); // popravlja rotaciju i perspektivu
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text); // Ispisuje ekstraktovani tekst.
}
using IronOcr;
// Kreira novi objekt IronTesseract.
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Bosnian;
// Dodaje sken niskog kvaliteta za obradu.
using (var Input = new OcrInput(@"img\Potter.LowQuality.tiff"))
{
Input.DeNoise(); // popravlja digitalni šum i loše skeniranje
Input.Deskew(); // popravlja rotaciju i perspektivu
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text); // Ispisuje ekstraktovani tekst.
}
Imports IronOcr
' Kreira novi objekt IronTesseract.
Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Bosnian
' Dodaje sken niskog kvaliteta za obradu.
Using Input = New OcrInput("img\Potter.LowQuality.tiff")
Input.DeNoise() ' popravlja digitalni šum i loše skeniranje
Input.Deskew() ' popravlja rotaciju i perspektivu
Dim Result = Ocr.Read(Input)
Console.WriteLine(Result.Text) ' Ispisuje ekstraktovani tekst.
End Using
Izvezite rezultate OCR-a kao PDF koji se može pretraživati
Slika u PDF s tekstualnim nizovima koji se mogu kopirati. Mogu se indeksirati putem pretraživača i baza podataka.
using IronOcr;
// Kreira novi objekt IronTesseract.
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Bosnian;
// Dodaje slike za konverziju u PDF.
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"); // Snima kao PDF koji se može pretraživati.
}
using IronOcr;
// Kreira novi objekt IronTesseract.
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Bosnian;
// Dodaje slike za konverziju u PDF.
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"); // Snima kao PDF koji se može pretraživati.
}
Imports IronOcr
' Kreira novi objekt IronTesseract.
Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Bosnian
' Dodaje slike za konverziju u PDF.
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") ' Snima kao PDF koji se može pretraživati.
End Using
TIFF za pretvorbu PDF konverzije
Pretvorite TIFF dokument (ili bilo koju grupu slikovnih datoteka) izravno u PDF koji se može pretraživati i koji se može indeksirati pomoću intraneta, web stranica i Google pretraživača.
using IronOcr;
// Kreira novi objekt IronTesseract.
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Bosnian;
// Dodaje višestruko složeni TIFF za konverziju.
using (var Input = new OcrInput())
{
Input.AddMultiFrameTiff("example.tiff");
var Result = Ocr.Read(Input).SaveAsSearchablePdf("searchable.pdf"); // Snima kao pretraživi PDF.
}
using IronOcr;
// Kreira novi objekt IronTesseract.
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Bosnian;
// Dodaje višestruko složeni TIFF za konverziju.
using (var Input = new OcrInput())
{
Input.AddMultiFrameTiff("example.tiff");
var Result = Ocr.Read(Input).SaveAsSearchablePdf("searchable.pdf"); // Snima kao pretraživi PDF.
}
Imports IronOcr
' Kreira novi objekt IronTesseract.
Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Bosnian
' Dodaje višestruko složeni TIFF za konverziju.
Using Input = New OcrInput()
Input.AddMultiFrameTiff("example.tiff")
Dim Result = Ocr.Read(Input).SaveAsSearchablePdf("searchable.pdf") ' Snima kao pretraživi PDF.
End Using
Izvoz OCR rezultata kao HTML
OCR pretvorba slike u XHTML.
using IronOcr;
// Kreira novi objekt IronTesseract.
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Bosnian;
// Dodaje slike i konvertira ih u XHTML.
using (var Input = new OcrInput())
{
Input.Title = "Html Title";
Input.AddImage("image1.jpeg");
var Result = Ocr.Read(Input);
Result.SaveAsHocrFile("results.html"); // Snima rezultate kao XHTML.
}
using IronOcr;
// Kreira novi objekt IronTesseract.
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Bosnian;
// Dodaje slike i konvertira ih u XHTML.
using (var Input = new OcrInput())
{
Input.Title = "Html Title";
Input.AddImage("image1.jpeg");
var Result = Ocr.Read(Input);
Result.SaveAsHocrFile("results.html"); // Snima rezultate kao XHTML.
}
Imports IronOcr
' Kreira novi objekt IronTesseract.
Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Bosnian
' Dodaje slike i konvertira ih u XHTML.
Using Input = New OcrInput()
Input.Title = "Html Title"
Input.AddImage("image1.jpeg")
Dim Result = Ocr.Read(Input)
Result.SaveAsHocrFile("results.html") ' Snima rezultate kao XHTML.
End Using
OCR filtri za poboljšanje slike
IronOCR nudi jedinstvene filtre za OcrInput
objekte za poboljšanje performansi OCR-a.
Primjer koda za poboljšanje slike
Čini ulazne slike OCR-om kvalitetnijim da bi proizveo bolje, brže rezultate OCR-a.
using IronOcr;
// Kreira novi objekt IronTesseract.
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Bosnian;
// Definiše ulazne slike koje su slabijeg kvaliteta.
using (var Input = new OcrInput(@"LowQuality.jpeg"))
{
Input.DeNoise(); // popravlja digitalni šum i loše skeniranje
Input.Deskew(); // popravlja rotaciju i perspektivu
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text); // Ispisuje ekstraktovani tekst.
}
using IronOcr;
// Kreira novi objekt IronTesseract.
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Bosnian;
// Definiše ulazne slike koje su slabijeg kvaliteta.
using (var Input = new OcrInput(@"LowQuality.jpeg"))
{
Input.DeNoise(); // popravlja digitalni šum i loše skeniranje
Input.Deskew(); // popravlja rotaciju i perspektivu
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text); // Ispisuje ekstraktovani tekst.
}
Imports IronOcr
' Kreira novi objekt IronTesseract.
Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Bosnian
' Definiše ulazne slike koje su slabijeg kvaliteta.
Using Input = New OcrInput("LowQuality.jpeg")
Input.DeNoise() ' popravlja digitalni šum i loše skeniranje
Input.Deskew() ' popravlja rotaciju i perspektivu
Dim Result = Ocr.Read(Input)
Console.WriteLine(Result.Text) ' Ispisuje ekstraktovani tekst.
End Using
Spisak OCR filtera slika
Ulazni filtri za poboljšanje performansi OCR-a koji su ugrađeni u IronOCR uključuju:
- OcrInput.Rotate(double degrees) - Rotira slike za određeni broj stepeni u smjeru kazaljke na satu. Za suprotno od kazaljke na satu koristite negativne brojeve.
- OcrInput.Binarize() - Ovaj filtar slike svaki piksel pretvara u crno ili bijelo bez sredine. Može poboljšati slučajeve performansi OCR-a s vrlo malim kontrastom teksta u pozadinu.
- OcrInput.ToGrayScale() - Ovaj filtar slike pretvara svaki piksel u nijansu sivih tonova. Malo je verovatno da će poboljšati tačnost OCR-a, ali može poboljšati brzinu
- OcrInput.Contrast() - Automatski povećava kontrast. Ovaj filter često poboljšava brzinu i preciznost OCR u skeniranjima s malim kontrastom.
- OcrInput.DeNoise() - Uklanja digitalni šum. Ovaj filter treba koristiti samo tamo gdje se očekuje buka.
- OcrInput.Invert() - Invertira svaku boju. Npr. Bijelo postaje crno: crno postaje bijelo.
- OcrInput.Dilate() - Napredna morfologija. Dilatacija dodaje piksele granicama objekata na slici. Suprotno od Erode
- OcrInput.Erode() - Napredna morfologija. Erozija uklanja piksele na granicama objekata, nasuprot Dilateu
- OcrInput.Deskew() - Rotira sliku tako da je pravi put prema gore i pravokutna. Ovo je vrlo korisno za OCR jer tolerancija Tesseract-a na iskrivljena skeniranja može biti i do 5 stepeni.
- OcrInput.DeepCleanBackgroundNoise() - Uklanjanje jake pozadinske buke. Koristite ovaj filter samo u slučaju da je poznata ekstremna pozadinska buka dokumenata, jer će ovaj filter također riskirati smanjenjem OCR preciznosti čistih dokumenata i vrlo je skup CPU.
- OcrInput.EnhanceResolution - Poboljšava razlučivost slika niskog kvaliteta. Ovaj filter nije često potreban jer će OcrInput.MinimumDPI i OcrInput.TargetDPI automatski uhvatiti i riješiti ulaze niske rezolucije.
CleanBackgroundNoise. Ovo je postavka koja donekle oduzima vrijeme; međutim, omogućava biblioteci da automatski očisti digitalni šum, zgužvanje papira i druge nedostatke unutar digitalne slike koji bi je inače učinili nesposobnom za čitanje u drugim OCR bibliotekama.
EnhanceContrast je postavka zbog koje OCR za željezo automatski povećava kontrast teksta na pozadini slike, povećavajući tačnost OCR-a i generalno povećavajući performanse i brzinu OCR-a.
EnhanceResolution je postavka koja će automatski otkriti slike niske rezolucije (manje od 275 dpi) i automatski povećati sliku, a zatim izoštriti sav tekst kako bi ga OCR biblioteka mogla savršeno pročitati. Iako je ova operacija sama po sebi dugotrajna, uglavnom smanjuje ukupno vrijeme za OCR operaciju na slici.
Language IronOCR podržava 22 međunarodna jezična paketa, a postavka jezika može se koristiti za odabir jednog ili više jezika koji će se primijeniti za OCR operaciju.
Strategija IronOCR podržava dvije strategije. Možemo se odlučiti ili za brzo i manje precizno skeniranje dokumenta ili za naprednu strategiju koja koristi neke modele umjetne inteligencije za automatsko poboljšanje tačnosti OCR teksta gledajući statistički odnos riječi jedne prema drugoj u rečenici .
ColorSpace je postavka pri kojoj možemo odabrati OCR u nijansama sive ili u boji. Općenito, siva skala je najbolja opcija. Međutim, ponekad kada postoje tekstovi ili pozadine slične nijanse, ali vrlo različite boje, prostor u boji u boji pružit će bolje rezultate.
DetectWhiteTextOnDarkBackgrounds. Općenito, sve OCR biblioteke očekuju da vide crni tekst na bijeloj pozadini. Ova postavka omogućava željeznom OCR-u da automatski prepozna negative ili tamne stranice s bijelim tekstom i pročita ih.
InputImageType. Ova postavka omogućava programeru da vodi OCR biblioteku da li gleda puni dokument ili isječak, poput snimka zaslona.
RotateAndStraighten je napredna postavka koja omogućava IronOCR jedinstvenu sposobnost čitanja dokumenata koji se ne samo rotiraju, već možda sadrže i perspektivu, poput fotografija tekstualnih dokumenata.
ReadBarcode je korisna značajka koja omogućava željeznom OCR-u da automatski čita crtične kodove i QR kodove na stranicama jer također čita tekst, bez dodavanja velikog dodatnog vremenskog opterećenja.
Dubina boje. Ova postavka određuje koliko bitova po pikselu će OCR biblioteka koristiti za određivanje dubine boje. Veća dubina boje može povećati kvalitet OCR-a, ali će također povećati vrijeme potrebno za završetak OCR operacije.
126 Jezički paketi
IronOCR podržava 126 međunarodnih jezika putem jezičnih paketa koji se distribuiraju kao DLL-ovi, a koji se mogu preuzeti s ove web stranice ili iz NuGet Package Manager-a .
Jezici uključuju njemački, francuski, engleski, kineski, japanski i mnoge druge. Postoje specijalni jezični paketi za putovnice MRZ, MICR čekove, finansijske podatke, registarske tablice i još mnogo toga. Takođe možete koristiti bilo koju datoteku tesseract ".traineddata" - uključujući one koje sami kreirate.
Primjer jezika
Korištenje ostalih OCR jezika.
using IronOcr;
// Instalira jezički paket za arapski jezik.
// PM> Install IronOcr.Languages.Arabic
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Arabic;
// Dodaje arapske slike za OCR.
using (var input = new OcrInput())
{
input.AddImage("img/arabic.gif");
// Po potrebi dodajte filtere za slike
// U ovom slučaju, čak i misaoni unos je vrlo loš
// IronTesseract može pročitati ono što konvencionalni Tesseract ne može.
var Result = Ocr.Read(input);
// Konzola ne može lako ispisivati arapski na Windowsima.
// Umjesto toga, spremimo na disk.
Result.SaveAsTextFile("arabic.txt");
}
using IronOcr;
// Instalira jezički paket za arapski jezik.
// PM> Install IronOcr.Languages.Arabic
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Arabic;
// Dodaje arapske slike za OCR.
using (var input = new OcrInput())
{
input.AddImage("img/arabic.gif");
// Po potrebi dodajte filtere za slike
// U ovom slučaju, čak i misaoni unos je vrlo loš
// IronTesseract može pročitati ono što konvencionalni Tesseract ne može.
var Result = Ocr.Read(input);
// Konzola ne može lako ispisivati arapski na Windowsima.
// Umjesto toga, spremimo na disk.
Result.SaveAsTextFile("arabic.txt");
}
Imports IronOcr
' Instalira jezički paket za arapski jezik.
' PM> Install IronOcr.Languages.Arabic
Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Arabic
' Dodaje arapske slike za OCR.
Using input = New OcrInput()
input.AddImage("img/arabic.gif")
' Po potrebi dodajte filtere za slike
' U ovom slučaju, čak i misaoni unos je vrlo loš
' IronTesseract može pročitati ono što konvencionalni Tesseract ne može.
Dim Result = Ocr.Read(input)
' Konzola ne može lako ispisivati arapski na Windowsima.
' Umjesto toga, spremimo na disk.
Result.SaveAsTextFile("arabic.txt")
End Using
Primjer više jezika
Takođe je moguće OCR koristiti više jezika istovremeno. Ovo zaista može pomoći u dobivanju metapodataka i URL-ova na engleskom jeziku u Unicode dokumentima.
using IronOcr;
// Instalira jezički paket za kineski jezik.
// PM> Install IronOcr.Languages.ChineseSimplified
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.ChineseSimplified;
Ocr.AddSecondaryLanguage(OcrLanguage.Bosnian);
// Možemo dodati bilo koji broj jezika
// Dodajemo višestruke jezike za OCR.
using (var input = new OcrInput())
{
input.Add("multi-language.pdf");
var Result = Ocr.Read(input);
Result.SaveAsTextFile("results.txt"); // Snima rezultate kao tekstualni fajl.
}
using IronOcr;
// Instalira jezički paket za kineski jezik.
// PM> Install IronOcr.Languages.ChineseSimplified
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.ChineseSimplified;
Ocr.AddSecondaryLanguage(OcrLanguage.Bosnian);
// Možemo dodati bilo koji broj jezika
// Dodajemo višestruke jezike za OCR.
using (var input = new OcrInput())
{
input.Add("multi-language.pdf");
var Result = Ocr.Read(input);
Result.SaveAsTextFile("results.txt"); // Snima rezultate kao tekstualni fajl.
}
Imports IronOcr
' Instalira jezički paket za kineski jezik.
' PM> Install IronOcr.Languages.ChineseSimplified
Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.ChineseSimplified
Ocr.AddSecondaryLanguage(OcrLanguage.Bosnian)
' Možemo dodati bilo koji broj jezika
' Dodajemo višestruke jezike za OCR.
Using input = New OcrInput()
input.Add("multi-language.pdf")
Dim Result = Ocr.Read(input)
Result.SaveAsTextFile("results.txt") ' Snima rezultate kao tekstualni fajl.
End Using
Detaljni objekti rezultata OCR-a
IronOCR vraća objekt rezultata OCR za svaku OCR operaciju. Generalno, programeri koriste samo svojstvo teksta ovog objekta da bi skenirali tekst sa slike. Međutim, DOM rezultata OCR-a je mnogo napredniji od ovog.
using IronOcr;
using System.Drawing; // Dodaje referencu sklopa System.Drawing za rukovanje grafikom.
// Kreira novi objekt IronTesseract.
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Bosnian;
// Postavlja režim rada za OCR kao kombinaciju Tesseract-a i LSTM-a.
Ocr.Configuration.EngineMode = TesseractEngineMode.TesseractAndLstm;
Ocr.Configuration.ReadBarCodes = true; // Omogućava čitanje bar kodova.
using (var Input = new OcrInput(@"images\sample.tiff"))
{
OcrResult Result = Ocr.Read(Input);
// Istraživanje rezultata OCR-a.
var Pages = Result.Pages;
var Words = Pages[0].Words;
var Barcodes = Result.Barcodes;
// Istražite ovdje kako biste pronašli masivan, detaljan API:
// - Stranice, blokovi, paragrafi, linije, riječi, znakovi
// - Izvoz slika, koordinate fontova, statistički podaci
}
using IronOcr;
using System.Drawing; // Dodaje referencu sklopa System.Drawing za rukovanje grafikom.
// Kreira novi objekt IronTesseract.
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Bosnian;
// Postavlja režim rada za OCR kao kombinaciju Tesseract-a i LSTM-a.
Ocr.Configuration.EngineMode = TesseractEngineMode.TesseractAndLstm;
Ocr.Configuration.ReadBarCodes = true; // Omogućava čitanje bar kodova.
using (var Input = new OcrInput(@"images\sample.tiff"))
{
OcrResult Result = Ocr.Read(Input);
// Istraživanje rezultata OCR-a.
var Pages = Result.Pages;
var Words = Pages[0].Words;
var Barcodes = Result.Barcodes;
// Istražite ovdje kako biste pronašli masivan, detaljan API:
// - Stranice, blokovi, paragrafi, linije, riječi, znakovi
// - Izvoz slika, koordinate fontova, statistički podaci
}
Imports IronOcr
Imports System.Drawing ' Dodaje referencu sklopa System.Drawing za rukovanje grafikom.
' Kreira novi objekt IronTesseract.
Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Bosnian
' Postavlja režim rada za OCR kao kombinaciju Tesseract-a i LSTM-a.
Ocr.Configuration.EngineMode = TesseractEngineMode.TesseractAndLstm
Ocr.Configuration.ReadBarCodes = True ' Omogućava čitanje bar kodova.
Using Input = New OcrInput("images\sample.tiff")
Dim Result As OcrResult = Ocr.Read(Input)
' Istraživanje rezultata OCR-a.
Dim Pages = Result.Pages
Dim Words = Pages(0).Words
Dim Barcodes = Result.Barcodes
' Istražite ovdje kako biste pronašli masivan, detaljan API:
' - Stranice, blokovi, paragrafi, linije, riječi, znakovi
' - Izvoz slika, koordinate fontova, statistički podaci
End Using
Performanse
IronOCR radi izvan okvira, bez potrebe za podešavanjem performansi ili velikom modifikacijom ulaznih slika.
Brzina je sjajna: IronOcr.2020+ je do 10 puta brži i čini preko 250% manje grešaka od prethodnih izrada.
Nauči više
Da biste saznali više o OCR-u na C#, VB, F# ili bilo kojem drugom .NET jeziku, pročitajte naše vodiče za zajednicu koji daju stvarne primjere kako se OCR-a Iron može koristiti i mogu pokazati nijanse kako izvući najbolje iz njega ovu biblioteku.
Dostupna je i puna referenca objekta za .NET programere .