<h1>Bosanski OCR u C# i .NET</h1>
<h6> Ostale verzije ovog dokumenta:</h6>
<ul>
<li> <a rel='alternate' hreflang='en' href="/csharp/ocr/languages/bosnian/">Engleski (This Page in English)</a></li>
<li> <a href="/csharp/ocr/languages/">Još Languagea</a></li>
</ul>
<p> IronOCR je softverska komponenta C# koja omogućava .NET koderima čitanje teksta sa slika i PDF dokumenata na 126 jezika, uključujući bosanski.</p>
<p> To je napredna vilica Tesseract, napravljena isključivo za .NET programere i redovito nadmašuje ostale Tesseract motore i brzinom i tačnošću.</p>
<h2> Sadržaj IronOcr.Languages.Bosnian</h2>
<p> Ovaj paket sadrži 46 OCR jezika za .NET:</p>
<ul>
<li> Bosanski</li>
<li> BosnianBest</li>
<li> BosnianFast</li>
</ul>
<h2> Skinuti</h2>
<p> Bosanski jezički paket <span style='white-space:default'>[bosanski jezik]</span> <br/> * Download as <a class='languages-dll' href='/csharp/ocr/packages/language-packs/Bosnian.ocrdata.zip'>Zip <i class='fas fa-download'></i><br/> * Install with </a><a target='_blank' class='languages-nuget' href="https://www.nuget.org/packages/IronOcr.Languages.Bosnian/">https://www.nuget.org/packages/IronOcr.Languages.Bosnian/</a><i class='nuget-icon'></i></p>
<h2> Instalacija</h2>
<p> Prvo što moramo učiniti je instalirati naš <strong>bosanski</strong> OCR paket na vaš .NET projekat.</p>
<p> <code>PM> Install-Package IronOcr.Languages.Bosnian</code></p>
<h2> Primjer koda</h2>
<p> Ovaj primjer C# koda čita bosanski tekst iz slikovnog ili PDF dokumenta.</p>
```csharp
// 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.
}
```
<h2>Zašto odabrati IronOCR?</h2>
<p> IronOCR je jednostavna za instalaciju, cjelovita i dobro dokumentirana .NET softverska biblioteka.</p>
<p> Odaberite IronOCR da biste postigli <strong>tačnost 99,8% + OCR</strong> bez upotrebe bilo kakvih vanjskih web usluga, tekućih naknada ili slanja povjerljivih dokumenata putem Interneta.</p>
<h4> Zašto programeri C# odabiru IronOCR umjesto Vanilla Tesseract:</h4>
<ul>
<li> Instalirajte kao jedan DLL ili NuGet</li>
<li> Uključuje motore Tesseract 5, 4 i 3 iz kutije.</li>
<li> Preciznost <strong>99,8%</strong> značajno nadmašuje redovni Tesseract.</li>
<li> Zapanjujuća brzina i višestruko navojanje</li>
<li> Kompatibilan s MVC, WebApp, Desktop, Console i Server Application</li>
<li> Ne postoji Exes ili C++ kôd za rad</li>
<li> Potpuna PDF OCR podrška</li>
<li> Da biste izvršili OCR na gotovo bilo kojoj slikovnoj datoteci ili PDF-u</li>
<li> Puna podrška za .NET Core, Standard i FrameWork</li>
<li> Primijeniti na Windows, Mac, Linux, Azure, Docker, Lambda, AWS</li>
<li> Čitajte bar kodove i QR kodove</li>
<li> Izvezite OCR u XHTML</li>
<li> Izvezite OCR u PDF dokumente koji se mogu pretraživati</li>
<li> Multithreading podrška</li>
<li> 126 međunarodnih jezika kojima se upravlja putem NuGet ili OcrData datoteka</li>
<li> Izdvoj slike, koordinate, statistiku i fontove. Ne samo tekst.</li>
<li> Može se koristiti za distribuciju Tesseract OCR-a unutar komercijalnih i vlasničkih aplikacija.</li>
</ul>
<p> <em>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.</em></p>
<p> Druge <a href="/csharp/ocr/use-case/free-ocr-csharp/">besplatne OCR</a> biblioteke za .NET platformu, poput ostalih .NET Tesseract API-ja i web usluga, nemaju tako dobru izvedbu u ovim stvarnim slučajevima upotrebe.</p>
<h2> OCR sa Tesseract 5 - započnite kodiranje na C#</h2>
<p> Uzorak koda u nastavku pokazuje koliko je lako čitati tekst sa slike pomoću C# ili VB .NET.</p>
<h3> OneLiner</h3>
```csharp
// 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.
```
<h3>Podesivi Hello World</h3>
```csharp
// 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.
}
```
<h3>C# PDF OCR</h3>
<p> Isti se pristup može slično koristiti za izdvajanje teksta iz bilo kojeg PDF dokumenta.</p>
```csharp
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
}
```
<h3>OCR za MultiPage TIFF</h3>
<p> 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.</p>
```csharp
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.
}
```
<h3>Barkodovi i QR</h3>
<p> Jedinstvena karakteristika IronOCR-a je da može čitati crtične kodove i QR kodove iz dokumenata dok skenira tekst. <code>OcrResult.OcrBarcode</code> klasa daje programeru detaljne informacije o svakom skeniranom <code>OcrResult.OcrBarcode</code> kodu.</p>
```csharp
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
}
}
```
<h3>OCR na određenim područjima slika</h3>
<p> 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.</p>
<p> Da bismo koristili regije <code>System.Drawing</code> ćemo dodati sistemsku referencu na <code>System.Drawing</code> kako bismo mogli koristiti objekt <code>System.Drawing.Rectangle</code>.</p>
```csharp
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.
}
```
<h3>OCR za skeniranje niskog kvaliteta</h3>
<p> Klasa IronOCR <code>OcrInput</code> može popraviti skeniranja koja normalni Tesseract ne može pročitati.</p>
```csharp
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.
}
```
<h3>Izvezite rezultate OCR-a kao PDF koji se može pretraživati</h3>
<p> Slika u PDF s tekstualnim nizovima koji se mogu kopirati. Mogu se indeksirati putem pretraživača i baza podataka. </p>
```csharp
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.
}
```
<h3>TIFF za pretvorbu PDF konverzije</h3>
<p> 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.</p>
```csharp
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.
}
```
<h3>Izvoz OCR rezultata kao HTML</h3>
<p> OCR pretvorba slike u XHTML.</p>
```csharp
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.
}
```
<h2>OCR filtri za poboljšanje slike</h2>
<p> IronOCR nudi jedinstvene filtre za <code>OcrInput</code> objekte za poboljšanje performansi OCR-a.</p>
<h3> Primjer koda za poboljšanje slike</h3>
<p> Čini ulazne slike OCR-om kvalitetnijim da bi proizveo bolje, brže rezultate OCR-a.</p>
```csharp
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.
}
```
<h3>Spisak OCR filtera slika</h3>
<p> Ulazni filtri za poboljšanje performansi OCR-a koji su ugrađeni u IronOCR uključuju:</p>
<ul>
<li> <strong>OcrInput.Rotate(double degrees)</strong> - Rotira slike za određeni broj stepeni u smjeru kazaljke na satu. Za suprotno od kazaljke na satu koristite negativne brojeve.</li>
<li> <strong>OcrInput.Binarize()</strong> - 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.</li>
<li> <strong>OcrInput.ToGrayScale()</strong> - 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</li>
<li> <strong>OcrInput.Contrast()</strong> - Automatski povećava kontrast. Ovaj filter često poboljšava brzinu i preciznost OCR u skeniranjima s malim kontrastom.</li>
<li> <strong>OcrInput.DeNoise()</strong> - Uklanja digitalni šum. Ovaj filter treba koristiti samo tamo gdje se očekuje buka.</li>
<li> <strong>OcrInput.Invert()</strong> - Invertira svaku boju. Npr. Bijelo postaje crno: crno postaje bijelo.</li>
<li> <strong>OcrInput.Dilate()</strong> - Napredna morfologija. <em>Dilatacija</em> dodaje piksele granicama objekata na slici. Suprotno od Erode</li>
<li> <strong>OcrInput.Erode()</strong> - Napredna morfologija. <em>Erozija</em> uklanja piksele na granicama objekata, nasuprot Dilateu</li>
<li> <strong>OcrInput.Deskew()</strong> - 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.</li>
<li> <strong>OcrInput.DeepCleanBackgroundNoise()</strong> - Uklanjanje <strong>jake</strong> 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.</li>
<li> <strong>OcrInput.EnhanceResolution</strong> - Poboljšava razlučivost slika niskog kvaliteta. Ovaj filter nije često potreban jer će <em>OcrInput.MinimumDPI</em> i <em>OcrInput.TargetDPI</em> automatski uhvatiti i riješiti ulaze niske rezolucije.</li>
</ul>
<p> <strong>CleanBackgroundNoise.</strong> 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.</p>
<p> <strong>EnhanceContrast</strong> 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.</p>
<p> <strong>EnhanceResolution</strong> 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.</p>
<p> <strong>Language</strong> 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.</p>
<p> <strong>Strategija</strong> 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.</p>
<p> <strong>ColorSpace</strong> 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.</p>
<p> <strong>DetectWhiteTextOnDarkBackgrounds.</strong> 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.</p>
<p> <strong>InputImageType.</strong> Ova postavka omogućava programeru da vodi OCR biblioteku da li gleda puni dokument ili isječak, poput snimka zaslona.</p>
<p> <strong>RotateAndStraighten</strong> 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.</p>
<p> <strong>ReadBarcode</strong> je korisna značajka koja omogućava željeznom OCR-u da automatski čita <strong>crtične</strong> kodove i QR kodove na stranicama jer također čita tekst, bez dodavanja velikog dodatnog vremenskog opterećenja.</p>
<p> <strong> Dubina boje.</strong> 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.</p>
<h2> 126 Jezički paketi</h2>
<p> IronOCR podržava <strong>126 međunarodnih jezika</strong> putem jezičnih paketa koji se distribuiraju kao DLL-ovi, a koji se mogu <a href="/csharp/ocr/languages/">preuzeti s ove web stranice</a> ili iz <a href="https://www.nuget.org/packages?q=IronOcr.Languages">NuGet Package Manager-a</a> .</p>
<p> 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.</p>
<h3> Primjer jezika</h3>
<p> Korištenje ostalih OCR jezika.</p>
```csharp
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");
}
```
<h3>Primjer više jezika</h3>
<p> 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.</p>
```csharp
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.
}
```
<h2>Detaljni objekti rezultata OCR-a</h2>
<p> 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.</p>
```csharp
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
}
```
<h2>Performanse</h2>
<p> IronOCR radi izvan okvira, bez potrebe za podešavanjem performansi ili velikom modifikacijom ulaznih slika.</p>
<p> Brzina je sjajna: IronOCR.2020+ je do 10 puta brži i čini preko 250% manje grešaka od prethodnih izrada.</p>
<h2> Nauči više</h2>
<p> Da biste saznali više o OCR-u na C#, VB, F# ili bilo kojem drugom .NET jeziku, <a href="/csharp/ocr/tutorials/how-to-read-text-from-an-image-in-csharp-net/">pročitajte naše vodiče za zajednicu</a> koji daju stvarne primjere kako se OCR-a Iron može koristiti i mogu pokazati nijanse kako izvući najbolje iz njega ovu biblioteku.</p>
<p> Dostupna je i puna <a href="/csharp/ocr/object-reference/api/">referenca objekta za .NET programere</a> .</p>
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.Bosnianusing IronOcr;varOcr = new IronTesseract();Ocr.Language = OcrLanguage.Bosnian;// Otvara ulaz za OCR sa zadate slike 'Bosnian.png'.using (varInput = new OcrInput(@"images\Bosnian.png")){ varResult = Ocr.Read(Input); varAllText = 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.
}
ImportsIronOcr' Instalira Bosanski jezički paket za IronOCR.' PM> Install-Package IronOcr.Languages.BosnianDimOcrAs New IronTesseract()Ocr.Language = OcrLanguage.Bosnian' Otvara ulaz za OCR sa zadate slike 'Bosnian.png'.UsingInputAs New OcrInput("images\Bosnian.png") DimResult = Ocr.Read(Input) DimAllText = Result.Text' Ekstraktovani tekst iz slike.Console.WriteLine(AllText) ' Ispisuje rezultat ekstrakcije.EndUsing
Imports IronOcr
' Instalira Bosanski jezički paket za IronOCR.
' PM> Install-Package IronOcr.Languages.Bosnian
Dim Ocr As New IronTesseract()
Ocr.Language = OcrLanguage.Bosnian
' Otvara ulaz za OCR sa zadate slike 'Bosnian.png'.
Using Input As 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 navojanje
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.stringText = 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.DimTextAsString = (New IronTesseract()).Read("img\Screenshot.png").TextConsole.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.Bosnianusing IronOcr;// Kreira novi objekt IronTesseract.varOcr = new IronTesseract();Ocr.Language = OcrLanguage.Bosnian;// Daje ulazne slike za OCR.using (varInput = new OcrInput()){Input.AddImage("images/sample.jpeg"); //... možete dodati bilo koji broj slika // Čita tekst sa zadate slike. varResult = 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.
}
ImportsIronOcr' Kreira novi objekt IronTesseract.DimOcrAs New IronTesseract()Ocr.Language = OcrLanguage.Bosnian' Daje ulazne slike za OCR.UsingInputAs New OcrInput()Input.AddImage("images/sample.jpeg") '... možete dodati bilo koji broj slika ' Čita tekst sa zadate slike. DimResult = Ocr.Read(Input)Console.WriteLine(Result.Text) ' Ispisuje ekstraktovani tekst.EndUsing
Imports IronOcr
' Kreira novi objekt IronTesseract.
Dim Ocr As New IronTesseract()
Ocr.Language = OcrLanguage.Bosnian
' Daje ulazne slike za OCR.
Using Input As 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.varOcr = 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. varResult = 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
}
ImportsIronOcr' Kreira novi objekt IronTesseract.PrivateOcr = 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. DimResult = 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-aEndUsing
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.varOcr = new IronTesseract();Ocr.Language = OcrLanguage.Bosnian;// Ganeriramo OCR za TIFF datoteku.using (varInput = new OcrInput()){Input.AddMultiFrameTiff("multi-frame.tiff"); varResult = 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.
}
ImportsIronOcr' Kreira novi objekt IronTesseract.PrivateOcr = New IronTesseract()Ocr.Language = OcrLanguage.Bosnian' Ganeriramo OCR za TIFF datoteku.UsingInput = New OcrInput()Input.AddMultiFrameTiff("multi-frame.tiff") DimResult = Ocr.Read(Input)Console.WriteLine(Result.Text) ' Ispisuje ekstraktovani tekst.EndUsing
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.varOcr = new IronTesseract();Ocr.Configuration.ReadBarCodes = true;// Dodaje slike za OCR i čitanje bar kodova.using (var input = new OcrInput()){ input.AddImage("img/Barcode.png"); varResult = Ocr.Read(input); foreach (varBarcodeinResult.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
}
}
ImportsIronOcr' Kreira novi objekt IronTesseract.PrivateOcr = New IronTesseract()Ocr.Configuration.ReadBarCodes = True' Dodaje slike za OCR i čitanje bar kodova.Using input = New OcrInput() input.AddImage("img/Barcode.png") DimResult = Ocr.Read(input) For EachBarcodeInResult.BarcodesConsole.WriteLine(Barcode.Value) ' Ispisuje vrijednost barkoda. ' vrsta i lokacija takođe su izloženi NextBarcodeEndUsing
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.varOcr = new IronTesseract();Ocr.Language = OcrLanguage.Bosnian;// Definiše oblast interesa za OCR.using (varInput = new OcrInput()){ varContentArea = new Rectangle() { X = 215, Y = 1250, Height = 280, Width = 1335 }; // Dimenzije su u pxInput.Add("document.png", ContentArea); varResult = 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.
}
ImportsIronOcrImportsSystem.Drawing' Omogućava korištenje geometrijskih veličina.' Kreira novi objekt IronTesseract.PrivateOcr = New IronTesseract()Ocr.Language = OcrLanguage.Bosnian' Definiše oblast interesa za OCR.UsingInput = New OcrInput() DimContentArea = New Rectangle() With { .X = 215, .Y = 1250, .Height = 280, .Width = 1335 } ' Dimenzije su u pxInput.Add("document.png", ContentArea) DimResult = Ocr.Read(Input)Console.WriteLine(Result.Text) ' Ispisuje ekstraktovani tekst iz definisane oblasti.EndUsing
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.varOcr = new IronTesseract();Ocr.Language = OcrLanguage.Bosnian;// Dodaje sken niskog kvaliteta za obradu.using (varInput = new OcrInput(@"img\Potter.LowQuality.tiff")){Input.DeNoise(); // popravlja digitalni šum i loše skeniranjeInput.Deskew(); // popravlja rotaciju i perspektivu varResult = 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.
}
ImportsIronOcr' Kreira novi objekt IronTesseract.PrivateOcr = New IronTesseract()Ocr.Language = OcrLanguage.Bosnian' Dodaje sken niskog kvaliteta za obradu.UsingInput = New OcrInput("img\Potter.LowQuality.tiff")Input.DeNoise() ' popravlja digitalni šum i loše skeniranjeInput.Deskew() ' popravlja rotaciju i perspektivu DimResult = Ocr.Read(Input)Console.WriteLine(Result.Text) ' Ispisuje ekstraktovani tekst.EndUsing
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.varOcr = new IronTesseract();Ocr.Language = OcrLanguage.Bosnian;// Dodaje slike za konverziju u PDF.using (varInput = new OcrInput()){Input.Title = "Quarterly Report";Input.AddImage("image1.jpeg");Input.AddImage("image2.png");Input.AddImage("image3.gif"); varResult = 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.
}
ImportsIronOcr' Kreira novi objekt IronTesseract.PrivateOcr = New IronTesseract()Ocr.Language = OcrLanguage.Bosnian' Dodaje slike za konverziju u PDF.UsingInput = New OcrInput()Input.Title = "Quarterly Report"Input.AddImage("image1.jpeg")Input.AddImage("image2.png")Input.AddImage("image3.gif") DimResult = Ocr.Read(Input)Result.SaveAsSearchablePdf("searchable.pdf") ' Snima kao PDF koji se može pretraživati.EndUsing
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.varOcr = new IronTesseract();Ocr.Language = OcrLanguage.Bosnian;// Dodaje višestruko složeni TIFF za konverziju.using (varInput = new OcrInput()){Input.AddMultiFrameTiff("example.tiff"); varResult = 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.
}
ImportsIronOcr' Kreira novi objekt IronTesseract.PrivateOcr = New IronTesseract()Ocr.Language = OcrLanguage.Bosnian' Dodaje višestruko složeni TIFF za konverziju.UsingInput = New OcrInput()Input.AddMultiFrameTiff("example.tiff") DimResult = Ocr.Read(Input).SaveAsSearchablePdf("searchable.pdf") ' Snima kao pretraživi PDF.EndUsing
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.varOcr = new IronTesseract();Ocr.Language = OcrLanguage.Bosnian;// Dodaje slike i konvertira ih u XHTML.using (varInput = new OcrInput()){Input.Title = "Html Title";Input.AddImage("image1.jpeg"); varResult = 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.
}
ImportsIronOcr' Kreira novi objekt IronTesseract.PrivateOcr = New IronTesseract()Ocr.Language = OcrLanguage.Bosnian' Dodaje slike i konvertira ih u XHTML.UsingInput = New OcrInput()Input.Title = "Html Title"Input.AddImage("image1.jpeg") DimResult = Ocr.Read(Input)Result.SaveAsHocrFile("results.html") ' Snima rezultate kao XHTML.EndUsing
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.varOcr = new IronTesseract();Ocr.Language = OcrLanguage.Bosnian;// Definiše ulazne slike koje su slabijeg kvaliteta.using (varInput = new OcrInput(@"LowQuality.jpeg")){Input.DeNoise(); // popravlja digitalni šum i loše skeniranjeInput.Deskew(); // popravlja rotaciju i perspektivu varResult = 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.
}
ImportsIronOcr' Kreira novi objekt IronTesseract.PrivateOcr = New IronTesseract()Ocr.Language = OcrLanguage.Bosnian' Definiše ulazne slike koje su slabijeg kvaliteta.UsingInput = New OcrInput("LowQuality.jpeg")Input.DeNoise() ' popravlja digitalni šum i loše skeniranjeInput.Deskew() ' popravlja rotaciju i perspektivu DimResult = Ocr.Read(Input)Console.WriteLine(Result.Text) ' Ispisuje ekstraktovani tekst.EndUsing
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.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.
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.ArabicvarOcr = 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. varResult = 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");
}
ImportsIronOcr' Instalira jezički paket za arapski jezik.' PM> Install IronOcr.Languages.ArabicPrivateOcr = 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. DimResult = Ocr.Read(input) ' Konzola ne može lako ispisivati arapski na Windowsima. ' Umjesto toga, spremimo na disk.Result.SaveAsTextFile("arabic.txt")EndUsing
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.ChineseSimplifiedvarOcr = 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"); varResult = 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.
}
ImportsIronOcr' Instalira jezički paket za kineski jezik.' PM> Install IronOcr.Languages.ChineseSimplifiedPrivateOcr = New IronTesseract()Ocr.Language = OcrLanguage.ChineseSimplifiedOcr.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") DimResult = Ocr.Read(input)Result.SaveAsTextFile("results.txt") ' Snima rezultate kao tekstualni fajl.EndUsing
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.varOcr = 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 (varInput = new OcrInput(@"images\sample.tiff")){ OcrResultResult = Ocr.Read(Input); // Istraživanje rezultata OCR-a. varPages = Result.Pages; varWords = Pages[0].Words; varBarcodes = 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
}
ImportsIronOcrImportsSystem.Drawing' Dodaje referencu sklopa System.Drawing za rukovanje grafikom.' Kreira novi objekt IronTesseract.PrivateOcr = New IronTesseract()Ocr.Language = OcrLanguage.Bosnian' Postavlja režim rada za OCR kao kombinaciju Tesseract-a i LSTM-a.Ocr.Configuration.EngineMode = TesseractEngineMode.TesseractAndLstmOcr.Configuration.ReadBarCodes = True ' Omogućava čitanje bar kodova.UsingInput = New OcrInput("images\sample.tiff") DimResultAsOcrResult = Ocr.Read(Input) ' Istraživanje rezultata OCR-a. DimPages = Result.Pages DimWords = Pages(0).Words DimBarcodes = 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 podaciEndUsing
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.
커티스 차우는 칼턴 대학교에서 컴퓨터 과학 학사 학위를 취득했으며, Node.js, TypeScript, JavaScript, React를 전문으로 하는 프론트엔드 개발자입니다. 직관적이고 미적으로 뛰어난 사용자 인터페이스를 만드는 데 열정을 가진 그는 최신 프레임워크를 활용하고, 잘 구성되고 시각적으로 매력적인 매뉴얼을 제작하는 것을 즐깁니다.