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/'> NuGet
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.
//PM> Install-Package IronOcr.Languages.Bosnian
using IronOcr;
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Bosnian;
using (var Input = new OcrInput(@"images\Bosnian.png"))
{
var Result = Ocr.Read(Input);
Var AllText = Result.Text
}
//PM> Install-Package IronOcr.Languages.Bosnian
using IronOcr;
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Bosnian;
using (var Input = new OcrInput(@"images\Bosnian.png"))
{
var Result = Ocr.Read(Input);
Var AllText = Result.Text
}
'PM> Install-Package IronOcr.Languages.Bosnian
Imports IronOcr
Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Bosnian
Using Input = New OcrInput("images\Bosnian.png")
Dim Result = Ocr.Read(Input)
Dim AllText As Var = Result.Text
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
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
Podesivi Hello World
// PM> Install-Package IronOCR.Languages.Bosnian
using IronOcr;
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Bosnian;
using (var Input = new OcrInput()){
Input.AddImage("images/sample.jpeg")
//... možete dodati bilo koji broj slika
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
// PM> Install-Package IronOCR.Languages.Bosnian
using IronOcr;
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Bosnian;
using (var Input = new OcrInput()){
Input.AddImage("images/sample.jpeg")
//... možete dodati bilo koji broj slika
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
' PM> Install-Package IronOCR.Languages.Bosnian
Imports IronOcr
Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Bosnian
Using Input = New OcrInput()
Input.AddImage("images/sample.jpeg") var Result = Ocr.Read(Input)
Console.WriteLine(Result.Text)
End Using
C#PDF OCR
Isti se pristup može slično koristiti za izdvajanje teksta iz bilo kojeg PDF dokumenta.
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Bosnian;
using (var input = new OcrInput())
{
input.AddPdf("example.pdf", "password");
// Takođe možemo odabrati određene brojeve PDF stranica za OCR
var Result = Ocr.Read(input);
Console.WriteLine(Result.Text);
Console.WriteLine($"{Result.Pages.Count()} Pages");
// 1 stranica za svaku stranicu PDF-a
}
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Bosnian;
using (var input = new OcrInput())
{
input.AddPdf("example.pdf", "password");
// Takođe možemo odabrati određene brojeve PDF stranica za OCR
var Result = Ocr.Read(input);
Console.WriteLine(Result.Text);
Console.WriteLine($"{Result.Pages.Count()} Pages");
// 1 stranica za svaku stranicu PDF-a
}
Dim Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Bosnian
Using input = New OcrInput()
input.AddPdf("example.pdf", "password")
' Takođe možemo odabrati određene brojeve PDF stranica za OCR
Dim Result = Ocr.Read(input)
Console.WriteLine(Result.Text)
Console.WriteLine($"{Result.Pages.Count()} Pages")
' 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;
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Bosnian;
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.Bosnian;
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.Bosnian
Using Input = New OcrInput()
input.AddMultiFrameTiff("multi - frame.tiff")
Dim Result = Ocr.Read(Input)
Console.WriteLine(Result.Text)
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
klase daju programeru detaljne informacije o svakom skeniranom OcrResult.OcrBarcode
kodu.
// 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);
// vrsta i lokacija takođe su izloženi
}
}
// 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);
// vrsta i lokacija takođe su izloženi
}
}
' 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)
' 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;
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Bosnian;
using (var Input = new OcrInput())
{
var ContentArea = new System.Drawing.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);
}
using IronOcr;
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Bosnian;
using (var Input = new OcrInput())
{
var ContentArea = new System.Drawing.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);
}
Imports IronOcr
Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Bosnian
Using Input = New OcrInput()
Dim ContentArea = New System.Drawing.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)
End Using
OCR za skeniranje niskog kvaliteta
Klasa IronOCR OcrInput
može popraviti skeniranja koja normalni Tesseract ne može pročitati.
using IronOcr;
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Bosnian;
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);
}
using IronOcr;
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Bosnian;
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);
}
Imports IronOcr
Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Bosnian
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)
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;
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Bosnian;
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.Bosnian;
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.Bosnian
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
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;
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Bosnian;
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.Bosnian;
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.Bosnian
Using Input = New OcrInput()
input.AddMultiFrameTiff("example.tiff") var Result = Ocr.Read(input).SaveAsSearchablePdf("searchable.pdf")
End Using
Izvoz OCR rezultata kao HTML
OCR pretvorba slike u XHTML.
using IronOcr;
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Bosnian;
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.Bosnian;
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.Bosnian
Using Input = New OcrInput()
input.Title = "Html Title" input.AddImage("image1.jpeg")
Dim Result = Ocr.Read(input)
Result.SaveAsHocrFile("results.html")
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;
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Bosnian;
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);
}
using IronOcr;
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Bosnian;
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);
}
Imports IronOcr
Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Bosnian
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)
End Using
Spisak OCR filtera slika
Ulazni filtri za poboljšanje performansi OCR-a koji su ugrađeni u IronOCR uključuju:
- OcrInput.Rotate (dvostruki stepeni) - 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;
// PM> Install IronOcr.Languages.Arabic
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Arabic;
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;
// PM> Install IronOcr.Languages.Arabic
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Arabic;
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;
' PM> Install IronOcr.Languages.Arabic
Dim Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Arabic
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;
// PM> Install IronOcr.Languages.ChineseSimplified
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.ChineseSimplified;
Ocr.AddSecondaryLanguage(OcrLanguage.Bosnian);
// Možemo dodati bilo koji broj jezika
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.Bosnian);
// Možemo dodati bilo koji broj jezika
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.Bosnian)
' Možemo dodati bilo koji broj jezika
Using input = New OcrInput()
input.Add("multi - language.pdf")
Dim Result = Ocr.Read(input)
Result.SaveAsTextFile("results.txt")
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; //Dodajte referencu sklopa
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Bosnian;
Ocr.Configuration.EngineMode = TesseractEngineMode.TesseractAndLstm;
Ocr.Configuration.ReadBarCodes = true; //!Bitan
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;
// Istražite ovdje kako biste pronašli masivan, detaljan API:
// - Stranice, blokovi, parafafi, crte, riječi, znakovi
// - Izvoz slika, koordinate fontova, statistički podaci
}
using IronOcr;
using System.Drawing; //Dodajte referencu sklopa
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Bosnian;
Ocr.Configuration.EngineMode = TesseractEngineMode.TesseractAndLstm;
Ocr.Configuration.ReadBarCodes = true; //!Bitan
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;
// Istražite ovdje kako biste pronašli masivan, detaljan API:
// - Stranice, blokovi, parafafi, crte, riječi, znakovi
// - Izvoz slika, koordinate fontova, statistički podaci
}
Imports IronOcr
Imports System.Drawing 'Dodajte referencu sklopa
Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Bosnian
Ocr.Configuration.EngineMode = TesseractEngineMode.TesseractAndLstm
Ocr.Configuration.ReadBarCodes = True '!Bitan
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
' Istražite ovdje kako biste pronašli masivan, detaljan API:
' - Stranice, blokovi, parafafi, crte, 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 .