<meta http-equiv="content-language" content="tr" />
<h1>C# ve .NET'te Türkçe OCR</h1>
<h6> Bu belgenin diğer versiyonları:</h6>
<ul>
<li> <a rel='alternate' hreflang='en' href="/csharp/ocr/languages/turkish/">İngilizce (This Page in English)</a></li>
<li> <a href="/csharp/ocr/languages/">Daha Fazla Dil</a></li>
</ul>
<p> IronOCR, .NET kodlayıcılarının resimlerden ve PDF belgelerinden Türkçe dahil 126 dilde metin okumasını sağlayan bir C# yazılım bileşenidir.</p>
<p> Bu, yalnızca .NET geliştiricileri için tasarlanmış ve hem hız hem de doğruluk açısından diğer Tesseract motorlarından daha iyi performans gösteren, Tesseract'ın gelişmiş bir çatallı sürümüdür.</p>
<h2> IronOcr.Languages İçeriği.Türkçe</h2>
<p> Bu paket, .NET için 46 OCR dili içerir:</p>
<ul>
<li> Türk</li>
<li> Türk</li>
<li> TürkçeFast</li>
</ul>
<h2> İndir</h2>
<p> Türkçe Dil Paketi <span style='white-space:default'>[Türkçe]</span> <br/> * İndir <a class='languages-dll' href='/csharp/ocr/packages/language-packs/Turkish.ocrdata.zip'>Zip <i class='fas fa-download'></i></a> <br/> * Install with <a target='_blank' class='languages-nuget' href="https://www.nuget.org/packages/IronOcr.Languages.Turkish/">NuGet<i class='nuget-icon'></i></a></p>
<h2> Kurulum</h2>
<p> Yapmanız gereken ilk şey <strong>Türkçe</strong> OCR paketimizi .NET projenize yüklemek.</p>
<p> <code>PM> Install-Package IronOcr.Languages.Turkish</code></p>
<h2> Kod Örneği</h2>
<p> Bu C# kod örneği, bir Resim veya PDF belgesinden Türkçe metni okur.</p>
```csharp
// PM> Install-Package IronOcr.Languages.Turkish
using IronOcr;
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Turkish;
using (var Input = new OcrInput(@"images\Turkish.png"))
{
var Result = Ocr.Read(Input);
var AllText = Result.Text;
Console.WriteLine(AllText);
}
```
<h2>Neden IronOCR'yi Seçmelisiniz?</h2>
<p> IronOCR, kurulumu kolay, eksiksiz ve iyi belgelenmiş bir .NET yazılım kitaplığıdır.</p>
<p> Herhangi bir harici web hizmeti kullanmadan, sürekli ücret ödemeden veya internet üzerinden gizli belgeler göndermeden <strong>%99.8 + OCR doğruluğuna</strong> ulaşmak için IronOCR'yi seçin.</p>
<h4> C# geliştiricileri neden Vanilla Tesseract yerine IronOCR'yi seçiyor?</h4>
<ul>
<li> Tek bir DLL veya NuGet olarak yükle</li>
<li> Kutudan çıkan Tesseract 5, 4 ve 3 Motorları içerir.</li>
<li> Doğruluk <strong>%99.8,</strong> normal Tesseract'tan önemli ölçüde daha iyi performans gösterir.</li>
<li> Çarpıcı Hız ve MultiThreading</li>
<li> MVC, WebApp, Masaüstü, Konsol ve Sunucu Uygulaması uyumlu</li>
<li> Çalışmak için Exes veya C++ kodu yok</li>
<li> Tam PDF OCR desteği</li>
<li> Hemen hemen her türlü Görüntü dosyası veya PDF OCR işlemi gerçekleştirmek</li>
<li> Tam .NET Core, Standard ve FrameWork desteği</li>
<li> Windows, Mac, Linux, Azure, Docker, Lambda, AWS'ye dağıtın</li>
<li> Barkodları ve QR kodlarını okuyun</li>
<li> OCR'yi XHTML olarak dışa aktar</li>
<li> OCR'yi aranabilir PDF belgelerine aktarın</li>
<li> Çoklu kullanım desteği</li>
<li> Hepsi NuGet veya OcrData dosyalarıyla yönetilen 126 uluslararası dil</li>
<li> Görüntüleri, Koordinatları, İstatistikleri ve Yazı Tiplerini Çıkarın. Sadece metin değil.</li>
<li> Tesseract OCR'yi ticari ve tescilli uygulamalarda yeniden dağıtmak için kullanılabilir.</li>
</ul>
<p> <em>IronOCR, gerçek dünya görüntüleri ve fotoğraflar gibi kusurlu belgeler veya dijital parazit veya kusurlar olabilecek düşük çözünürlüklü taramalar ile çalışırken parmak ısırtıyor.</em></p>
<p> Diğer .NET Tesseract API'leri ve web hizmetleri gibi .NET platformu için diğer <a href="/csharp/ocr/use-case/free-ocr-csharp/">ücretsiz OCR</a> kitaplıkları, bu gerçek dünya kullanım durumlarında o kadar iyi performans göstermez.</p>
<h2> Tesseract 5 ile OCR - Kodlamaya C# ile Başla</h2>
<p> Aşağıdaki kod örneği, C# veya VB .NET kullanarak bir görüntüden metin okumanın ne kadar kolay olduğunu gösterir.</p>
<h3> OneLiner</h3>
```csharp
string Text = new IronTesseract().Read(@"img\Screenshot.png").Text;
```
<h3>Yapılandırılabilir Merhaba Dünya</h3>
```csharp
// PM> Install-Package IronOcr.Languages.Turkish
using IronOcr;
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Turkish;
using (var Input = new OcrInput())
{
Input.AddImage("images/sample.jpeg");
//... Add as many images as you want
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
```
<h3>C# PDF OCR</h3>
<p> Aynı yaklaşım, herhangi bir PDF belgesinden metin çıkarmak için benzer şekilde kullanılabilir.</p>
```csharp
using IronOcr;
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Turkish;
using (var input = new OcrInput())
{
input.AddPdf("example.pdf", "password");
// OCR'ye belirli PDF sayfa numaralarını da seçebiliriz
var Result = Ocr.Read(input);
Console.WriteLine(Result.Text);
Console.WriteLine($"{Result.Pages.Count()} Pages");
// PDF'nin her sayfası için 1 sayfa
}
```
<h3>Çok Sayfalı TIFF'ler için OCR</h3>
<p> OCR Okuma Çok sayfalı belgeler dahil TIFF dosya biçimi. TIFF ayrıca doğrudan aranabilir metin içeren bir PDF dosyasına dönüştürülebilir.</p>
```csharp
using IronOcr;
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Turkish;
using (var Input = new OcrInput())
{
Input.AddMultiFrameTiff("multi-frame.tiff");
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
```
<h3>Barkodlar ve QR</h3>
<p> IronOCR'nin benzersiz bir özelliği, metin tararken belgelerden barkodları ve QR kodlarını okuyabilmesidir. <code>OcrResult.OcrBarcode</code> Sınıfı örnekleri, geliştiriciye taranan her barkod hakkında ayrıntılı bilgi verir.</p>
```csharp
using IronOcr;
var Ocr = new IronTesseract();
Ocr.Configuration.ReadBarCodes = true;
using (var input = new OcrInput())
{
input.AddImage("img/Barcode.png");
var Result = Ocr.Read(input);
foreach (var Barcode in Result.Barcodes)
{
Console.WriteLine(Barcode.Value);
// tür ve konum özellikleri de açığa çıktı
}
}
```
<h3>Belirli Görüntü Alanları için OCR</h3>
<p> IronOCR'nin tüm tarama ve okuma yöntemleri, bir sayfanın veya sayfaların tam olarak hangi bölümünden metin okumak istediğimizi belirleme yeteneği sağlar. Bu, standartlaştırılmış formlara baktığımızda çok kullanışlıdır ve çok fazla zaman kazandırabilir ve verimliliği artırabilir.</p>
<p> Kırpma bölgeleri kullanmak için, bir sistem başvuru eklemeniz gerekecektir <code>System.Drawing</code> kullandığımız böylece <code>System.Drawing.Rectangle</code> nesnesi.</p>
```csharp
using IronOcr;
using System.Drawing;
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Turkish;
using (var Input = new OcrInput())
{
var ContentArea = new Rectangle() { X = 215, Y = 1250, Height = 280, Width = 1335 };
// Boyutlar piksel cinsindendir
Input.Add("document.png", ContentArea);
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
```
<h3>Düşük Kaliteli Taramalar için OCR</h3>
<p> IronOCR <code>OcrInput</code> sınıfı, normal Tesseract'ın okuyamadığı taramaları düzeltebilir.</p>
```csharp
using IronOcr;
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Turkish;
using (var Input = new OcrInput(@"img\Potter.LowQuality.tiff"))
{
Input.DeNoise(); // Dijital gürültüyü ve zayıf taramayı düzeltir
Input.Deskew(); // Dönüşü ve perspektifi düzeltir
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
```
<h3>OCR sonuçlarını Aranabilir PDF olarak dışa aktarın</h3>
<p> Kopyalanabilir metin dizeleri ile PDF'ye resim. Arama motorları ve veritabanları tarafından indekslenebilir.</p>
```csharp
using IronOcr;
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Turkish;
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");
}
```
<h3>TIFF'den aranabilir PDF'ye Dönüştürme</h3>
<p> Bir TIFF belgesini (veya herhangi bir görüntü dosyası grubunu) doğrudan intranet, web sitesi ve Google arama motorları tarafından dizine eklenebilen, aranabilir bir PDF'ye dönüştürün.</p>
```csharp
using IronOcr;
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Turkish;
using (var Input = new OcrInput())
{
Input.AddMultiFrameTiff("example.tiff");
var Result = Ocr.Read(Input);
Result.SaveAsSearchablePdf("searchable.pdf");
}
```
<h3>OCR sonuçlarını HTML olarak dışa aktar</h3>
<p> OCR görselini XHTML'ye dönüştürme.</p>
```csharp
using IronOcr;
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Turkish;
using (var Input = new OcrInput())
{
Input.Title = "Html Title";
Input.AddImage("image1.jpeg");
var Result = Ocr.Read(Input);
Result.SaveAsHocrFile("results.html");
}
```
<h2>OCR Görüntü Geliştirme Filtreleri</h2>
<p> IronOCR, OCR performansını iyileştirmek için <code>OcrInput</code> nesneleri için benzersiz filtreler sağlar.</p>
<h3> Görüntü Geliştirme Kodu Örneği</h3>
<p> Daha iyi ve daha hızlı OCR sonuçları üretmek için OCR giriş görüntülerini daha kaliteli hale getirir.</p>
```csharp
using IronOcr;
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Turkish;
using (var Input = new OcrInput(@"LowQuality.jpeg"))
{
Input.DeNoise(); // Dijital gürültüyü ve zayıf taramayı düzeltir
Input.Deskew(); // Dönüşü ve perspektifi düzeltir
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
```
<h3>OCR Görüntü Filtrelerinin Listesi</h3>
<p> IronOCR'de yerleşik olarak bulunan OCR performansını artırmak için giriş filtreleri şunları içerir:</p>
<ul>
<li> <strong>OcrInput.Rotate(double degrees)</strong> - Resimleri saat yönünde birkaç derece döndürür. Saat yönünün tersine dönüşler için negatif sayılar kullanın.</li>
<li> <strong>OcrInput.Binarize()</strong> - Bu görüntü filtresi, orta zemin olmadan her pikseli siyah veya beyaza çevirir. Metnin arka plana karşı çok düşük kontrastlı OCR performansını artırabilir.</li>
<li> <strong>OcrInput.ToGrayScale()</strong> - Bu görüntü filtresi, her pikseli bir gri tonlamaya dönüştürür. OCR doğruluğunu iyileştirme olasılığı düşüktür ancak hızı artırabilir.</li>
<li> <strong>OcrInput.Contrast()</strong> - Kontrastı otomatik olarak artırır. Bu filtre genellikle düşük kontrastlı taramalarda OCR hızını ve doğruluğunu artırır.</li>
<li> <strong>OcrInput.DeNoise()</strong> - Dijital gürültüyü kaldırır. Bu filtre yalnızca gürültünün beklendiği yerlerde kullanılmalıdır.</li>
<li> <strong>OcrInput.Invert()</strong> - Her rengi ters çevirir. Örneğin, beyaz siyah olur: siyah beyaz olur.</li>
<li> <strong>OcrInput.Dilate()</strong> - Gelişmiş Morfoloji. <em>Genişleme</em>, bir görüntüdeki nesnelerin sınırlarına pikseller ekler. Aşınmanın karşıtı</li>
<li> <strong>OcrInput.Erode()</strong> - Gelişmiş Morfoloji. <em>Erozyon</em>, nesne sınırları üzerindeki pikselleri ortadan kaldırır.</li>
<li> <strong>OcrInput.Deskew()</strong> - Bir görüntüyü <strong>döndürerek</strong> yukarı ve ortogonal olmasını sağlar. Bu, OCR için çok kullanışlıdır çünkü eğri taramalar için Tesseract toleransı 5 derece kadar düşük olabilir.</li>
<li> <strong>OcrInput.DeepCleanBackgroundNoise()</strong> - Yoğun arka plan gürültüsü giderme. Bu filtreyi yalnızca aşırı belge arka plan gürültüsü bilindiğinde kullanın, çünkü bu filtre aynı zamanda temiz belgelerin OCR doğruluğunu azaltma riskini de beraberinde getirir ve çok CPU pahalıdır.</li>
<li> <strong>OcrInput.EnhanceResolution</strong> - Düşük kaliteli görüntülerin çözünürlüğünü artırır. <em>OcrInput.MinimumDPI</em> ve <em>OcrInput.TargetDPI</em> düşük çözünürlüklü girişleri otomatik olarak yakalayıp çözeceği için bu filtreye sıklıkla ihtiyaç <em>duyulmaz</em>.</li>
</ul>
<p> <strong>CleanBackgroundNoise.</strong> Bu, biraz zaman alan bir ayardır; bununla birlikte, kütüphanenin dijital bir görüntü içindeki dijital paraziti, kağıt buruşmalarını ve diğer kusurları otomatik olarak temizlemesine izin verir, aksi takdirde diğer OCR kütüphaneleri tarafından okunamayacak hale gelir.</p>
<p> <strong>EnhanceContrast</strong>, Iron <strong>OCR'nin</strong> metnin bir görüntünün arka planına karşı kontrastını otomatik olarak artırmasına, <strong>OCR'nin</strong> doğruluğunu ve genel olarak OCR'nin performansını ve hızını artırmasına neden olan bir ayardır.</p>
<p> <strong>EnhanceResolution</strong>, düşük çözünürlüklü görüntüleri (275 <strong>dpi'nin</strong> altında olan) otomatik olarak algılayan ve görüntüyü otomatik olarak <strong>yükselten</strong> ve ardından tüm metni bir OCR kitaplığı tarafından mükemmel şekilde okunabilmesi için keskinleştiren bir ayardır. Bu işlem kendi içinde zaman alıcı olsa da, genellikle bir görüntü üzerinde bir OCR işlemi için toplam süreyi azaltır.</p>
<p> <strong>Dil</strong> Demir OCR, 22 uluslararası dil paketini destekler ve dil ayarı, bir OCR işlemi için uygulanacak bir veya birden fazla dil seçmek için kullanılabilir.</p>
<p> <strong>Strateji</strong> Demir OCR iki stratejiyi destekler. Bir belgenin hızlı ve daha az hassas bir şekilde taranmasını seçebilir veya kelimelerin bir cümlede birbirleriyle istatistiksel ilişkilerine bakarak OCR metninin doğruluğunu otomatik olarak iyileştirmek için bazı yapay zeka modelleri kullanan gelişmiş bir strateji kullanabiliriz.</p>
<p> <strong>ColorSpace</strong>, gri tonlamalı veya renkli OCR'yi seçebileceğimiz bir ayardır. Genellikle gri tonlama en iyi seçenektir. Bununla birlikte, bazen benzer tonda ancak çok farklı renkte metinler veya arka planlar olduğunda, tam renkli bir renk alanı daha iyi sonuçlar sağlayacaktır.</p>
<p> <strong>DetectWhiteTextOnDarkBackgrounds.</strong> Genel olarak, tüm OCR kitaplıkları beyaz arka planda siyah metin görmeyi bekler. Bu ayar, Demir OCR'nin negatifleri veya beyaz metin içeren koyu sayfaları otomatik olarak algılamasını ve okumasını sağlar.</p>
<p> <strong>InputImageType.</strong> Bu ayar, geliştiricinin OCR kitaplığını tam bir belgeye mi yoksa ekran görüntüsü gibi bir parçacığa mı baktığı konusunda yönlendirmesine olanak tanır.</p>
<p> <strong>RotateAndStraighten</strong>, Iron <strong>OCR'ye</strong> yalnızca döndürülen değil, aynı zamanda metin belgelerinin fotoğrafları gibi perspektif içeren belgeleri okuma konusunda benzersiz bir yetenek sağlayan gelişmiş bir ayardır.</p>
<p> <strong>ReadBarcodes</strong>, Iron <strong>OCR'nin</strong> sayfalar üzerindeki barkodları ve QR kodlarını aynı zamanda metni okurken, büyük bir ek zaman yükü eklemeden otomatik olarak okumasını sağlayan kullanışlı bir özelliktir.</p>
<p> <strong>Renk derinliği.</strong> Bu ayar, OCR kitaplığının bir rengin derinliğini belirlemek için piksel başına kaç bit kullanacağını belirler. Daha yüksek bir renk derinliği OCR kalitesini artırabilir, ancak aynı zamanda OCR işleminin tamamlanması için gereken süreyi de artıracaktır.</p>
<h2> 126 Dil Paketi</h2>
<p> IronOCR <a href="/csharp/ocr/languages/">, bu web sitesinden</a> veya <a href="https://www.nuget.org/packages?q=IronOcr.Languages">NuGet Paket Yöneticisi'nden</a> <a href="/csharp/ocr/languages/">indirilebilen</a> DLL'ler olarak dağıtılan dil paketleri aracılığıyla <strong>126 uluslararası dili</strong> destekler.</p>
<p> Diller Almanca, Fransızca, İngilizce, Çince, Japonca ve daha fazlasını içerir. Pasaport MRZ, MICR kontrolleri, Mali Veriler, Lisans plakaları ve daha fazlası için uzman dil paketleri mevcuttur. Kendi oluşturduklarınız da dahil olmak üzere herhangi bir Tesseract ".traineddata" dosyasını da kullanabilirsiniz.</p>
<h3> Dil Örneği</h3>
<p> Diğer OCR dillerini kullanma.</p>
```csharp
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");
// Gerekirse görüntü filtreleri ekleyin
// Bu durumda, düşünce girdisi bile çok düşük kalitede
// IronTesseract, geleneksel Tesseract'ın okuyamadığını okuyabilir.
var Result = Ocr.Read(input);
// Konsol, Arapça'yı Windows'ta kolayca yazdıramaz.
// Bunun yerine diske kaydedelim.
Result.SaveAsTextFile("arabic.txt");
}
```
<h3>Çoklu Dil Örneği</h3>
<p> Aynı anda birden fazla dil kullanarak OCR yapmak da mümkündür. Bu, Unicode belgelerinde İngilizce meta verilerini ve URL'leri almanıza gerçekten yardımcı olabilir.</p>
```csharp
using IronOcr;
// PM> Install IronOcr.Languages.ChineseSimplified
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.ChineseSimplified;
Ocr.AddSecondaryLanguage(OcrLanguage.Turkish);
// İstenilen sayıda dil ekleyebiliriz
using (var input = new OcrInput())
{
input.AddImage("multi-language.pdf");
var Result = Ocr.Read(input);
Result.SaveAsTextFile("results.txt");
}
```
<h2>Ayrıntılı OCR Sonuç Nesneleri</h2>
<p> Demir OCR, her OCR işlemi için bir OCR sonuç nesnesi döndürür. Genellikle geliştiriciler, görüntüden taranan metni almak için bu nesnenin yalnızca metin özelliğini kullanır. Ancak, OCR sonuçları DOM bundan çok daha gelişmiştir.</p>
```csharp
using IronOcr;
using System.Drawing;
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Turkish;
Ocr.Configuration.EngineMode = TesseractEngineMode.TesseractAndLstm;
Ocr.Configuration.ReadBarCodes = true;
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;
// Devasa, ayrıntılı bir API bulmak için burayı keşfedin:
// - Sayfalar, Bloklar, Açıklamalar, Çizgiler, Kelimeler, Karakterler
// - Görüntü Dışa Aktarma, Yazı Tipi Koordinatları, İstatistiksel Veriler
}
```
<h2>Verim</h2>
<p> IronOCR, performans ayarı yapmaya veya girdi görüntülerini büyük ölçüde değiştirmeye gerek kalmadan kutudan çıkar çıkmaz çalışır.</p>
<p> Hız Alevleniyor: IronOCR.2020 +, 10 kata kadar daha hızlı ve önceki derlemelere göre %250 daha az hata yapıyor.</p>
<h2> Daha fazla bilgi edin</h2>
<p> C#, VB, F# veya başka herhangi bir .NET dilinde OCR hakkında daha fazla bilgi edinmek için lütfen IronOCR'nin nasıl kullanılacağına dair gerçek dünya örnekleri veren ve en iyi şekilde nasıl yararlanılacağına dair nüansları gösteren <a href="/csharp/ocr/tutorials/how-to-read-text-from-an-image-in-csharp-net/">topluluk eğitimlerimizi okuyun</a>. Bu kütüphane.</p>
<p> <a href="/csharp/ocr/object-reference/api/">.NET geliştiricileri için</a> tam bir <a href="/csharp/ocr/object-reference/api/">nesne referansı</a> da mevcuttur.</p>
IronOCR, .NET kodlayıcılarının resimlerden ve PDF belgelerinden Türkçe dahil 126 dilde metin okumasını sağlayan bir C# yazılım bileşenidir.
Bu, yalnızca .NET geliştiricileri için tasarlanmış ve hem hız hem de doğruluk açısından diğer Tesseract motorlarından daha iyi performans gösteren, Tesseract'ın gelişmiş bir çatallı sürümüdür.
IronOcr.Languages İçeriği.Türkçe
Bu paket, .NET için 46 OCR dili içerir:
Türk
Türk
TürkçeFast
İndir
Türkçe Dil Paketi [Türkçe] * İndir Zip * Install with NuGet
Kurulum
Yapmanız gereken ilk şey Türkçe OCR paketimizi .NET projenize yüklemek.
PM> Install-Package IronOcr.Languages.Turkish
Kod Örneği
Bu C# kod örneği, bir Resim veya PDF belgesinden Türkçe metni okur.
// PM> Install-Package IronOcr.Languages.Turkishusing IronOcr;varOcr = new IronTesseract();Ocr.Language = OcrLanguage.Turkish;using (varInput = new OcrInput(@"images\Turkish.png")){ varResult = Ocr.Read(Input); varAllText = Result.Text;Console.WriteLine(AllText);}
// PM> Install-Package IronOcr.Languages.Turkish
using IronOcr;
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Turkish;
using (var Input = new OcrInput(@"images\Turkish.png"))
{
var Result = Ocr.Read(Input);
var AllText = Result.Text;
Console.WriteLine(AllText);
}
' PM> Install-Package IronOcr.Languages.TurkishImportsIronOcrPrivateOcr = New IronTesseract()Ocr.Language = OcrLanguage.TurkishUsingInput = New OcrInput("images\Turkish.png") DimResult = Ocr.Read(Input) DimAllText = Result.TextConsole.WriteLine(AllText)EndUsing
' PM> Install-Package IronOcr.Languages.Turkish
Imports IronOcr
Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Turkish
Using Input = New OcrInput("images\Turkish.png")
Dim Result = Ocr.Read(Input)
Dim AllText = Result.Text
Console.WriteLine(AllText)
End Using
Neden IronOCR'yi Seçmelisiniz?
IronOCR, kurulumu kolay, eksiksiz ve iyi belgelenmiş bir .NET yazılım kitaplığıdır.
Herhangi bir harici web hizmeti kullanmadan, sürekli ücret ödemeden veya internet üzerinden gizli belgeler göndermeden %99.8 + OCR doğruluğuna ulaşmak için IronOCR'yi seçin.
C# geliştiricileri neden Vanilla Tesseract yerine IronOCR'yi seçiyor?
Tek bir DLL veya NuGet olarak yükle
Kutudan çıkan Tesseract 5, 4 ve 3 Motorları içerir.
Doğruluk %99.8, normal Tesseract'tan önemli ölçüde daha iyi performans gösterir.
Çarpıcı Hız ve MultiThreading
MVC, WebApp, Masaüstü, Konsol ve Sunucu Uygulaması uyumlu
Çalışmak için Exes veya C++ kodu yok
Tam PDF OCR desteği
Hemen hemen her türlü Görüntü dosyası veya PDF OCR işlemi gerçekleştirmek
Hepsi NuGet veya OcrData dosyalarıyla yönetilen 126 uluslararası dil
Görüntüleri, Koordinatları, İstatistikleri ve Yazı Tiplerini Çıkarın. Sadece metin değil.
Tesseract OCR'yi ticari ve tescilli uygulamalarda yeniden dağıtmak için kullanılabilir.
IronOCR, gerçek dünya görüntüleri ve fotoğraflar gibi kusurlu belgeler veya dijital parazit veya kusurlar olabilecek düşük çözünürlüklü taramalar ile çalışırken parmak ısırtıyor.
Diğer .NET Tesseract API'leri ve web hizmetleri gibi .NET platformu için diğer ücretsiz OCR kitaplıkları, bu gerçek dünya kullanım durumlarında o kadar iyi performans göstermez.
Tesseract 5 ile OCR - Kodlamaya C# ile Başla
Aşağıdaki kod örneği, C# veya VB .NET kullanarak bir görüntüden metin okumanın ne kadar kolay olduğunu gösterir.
OneLiner
stringText = new IronTesseract().Read(@"img\Screenshot.png").Text;
string Text = new IronTesseract().Read(@"img\Screenshot.png").Text;
DimTextAsString = (New IronTesseract()).Read("img\Screenshot.png").Text
Dim Text As String = (New IronTesseract()).Read("img\Screenshot.png").Text
Yapılandırılabilir Merhaba Dünya
// PM> Install-Package IronOcr.Languages.Turkishusing IronOcr;varOcr = new IronTesseract();Ocr.Language = OcrLanguage.Turkish;using (varInput = new OcrInput()){Input.AddImage("images/sample.jpeg"); //... Add as many images as you want varResult = Ocr.Read(Input);Console.WriteLine(Result.Text);}
// PM> Install-Package IronOcr.Languages.Turkish
using IronOcr;
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Turkish;
using (var Input = new OcrInput())
{
Input.AddImage("images/sample.jpeg");
//... Add as many images as you want
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
ImportsIronOcr' PM> Install-Package IronOcr.Languages.TurkishDimOcr = New IronTesseract()Ocr.Language = OcrLanguage.TurkishUsingInput = New OcrInput()Input.AddImage("images/sample.jpeg") '... Add as many images as you want DimResult = Ocr.Read(Input)Console.WriteLine(Result.Text)EndUsing
Imports IronOcr
' PM> Install-Package IronOcr.Languages.Turkish
Dim Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Turkish
Using Input = New OcrInput()
Input.AddImage("images/sample.jpeg")
'... Add as many images as you want
Dim Result = Ocr.Read(Input)
Console.WriteLine(Result.Text)
End Using
C# PDF OCR
Aynı yaklaşım, herhangi bir PDF belgesinden metin çıkarmak için benzer şekilde kullanılabilir.
using IronOcr;varOcr = new IronTesseract();Ocr.Language = OcrLanguage.Turkish;using (var input = new OcrInput()){ input.AddPdf("example.pdf", "password"); // OCR'ye belirli PDF sayfa numaralarını da seçebiliriz varResult = Ocr.Read(input);Console.WriteLine(Result.Text);Console.WriteLine($"{Result.Pages.Count()} Pages"); // PDF'nin her sayfası için 1 sayfa}
using IronOcr;
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Turkish;
using (var input = new OcrInput())
{
input.AddPdf("example.pdf", "password");
// OCR'ye belirli PDF sayfa numaralarını da seçebiliriz
var Result = Ocr.Read(input);
Console.WriteLine(Result.Text);
Console.WriteLine($"{Result.Pages.Count()} Pages");
// PDF'nin her sayfası için 1 sayfa
}
ImportsIronOcrPrivateOcr = New IronTesseract()Ocr.Language = OcrLanguage.TurkishUsing input = New OcrInput() input.AddPdf("example.pdf", "password") ' OCR'ye belirli PDF sayfa numaralarını da seçebiliriz DimResult = Ocr.Read(input)Console.WriteLine(Result.Text)Console.WriteLine($"{Result.Pages.Count()} Pages") ' PDF'nin her sayfası için 1 sayfaEndUsing
Imports IronOcr
Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Turkish
Using input = New OcrInput()
input.AddPdf("example.pdf", "password")
' OCR'ye belirli PDF sayfa numaralarını da seçebiliriz
Dim Result = Ocr.Read(input)
Console.WriteLine(Result.Text)
Console.WriteLine($"{Result.Pages.Count()} Pages")
' PDF'nin her sayfası için 1 sayfa
End Using
Çok Sayfalı TIFF'ler için OCR
OCR Okuma Çok sayfalı belgeler dahil TIFF dosya biçimi. TIFF ayrıca doğrudan aranabilir metin içeren bir PDF dosyasına dönüştürülebilir.
using IronOcr;varOcr = new IronTesseract();Ocr.Language = OcrLanguage.Turkish;using (varInput = new OcrInput()){Input.AddMultiFrameTiff("multi-frame.tiff"); varResult = Ocr.Read(Input);Console.WriteLine(Result.Text);}
using IronOcr;
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Turkish;
using (var Input = new OcrInput())
{
Input.AddMultiFrameTiff("multi-frame.tiff");
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
ImportsIronOcrPrivateOcr = New IronTesseract()Ocr.Language = OcrLanguage.TurkishUsingInput = New OcrInput()Input.AddMultiFrameTiff("multi-frame.tiff") DimResult = Ocr.Read(Input)Console.WriteLine(Result.Text)EndUsing
Imports IronOcr
Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Turkish
Using Input = New OcrInput()
Input.AddMultiFrameTiff("multi-frame.tiff")
Dim Result = Ocr.Read(Input)
Console.WriteLine(Result.Text)
End Using
Barkodlar ve QR
IronOCR'nin benzersiz bir özelliği, metin tararken belgelerden barkodları ve QR kodlarını okuyabilmesidir. OcrResult.OcrBarcode Sınıfı örnekleri, geliştiriciye taranan her barkod hakkında ayrıntılı bilgi verir.
using IronOcr;varOcr = new IronTesseract();Ocr.Configuration.ReadBarCodes = true;using (var input = new OcrInput()){ input.AddImage("img/Barcode.png"); varResult = Ocr.Read(input); foreach (varBarcodeinResult.Barcodes) {Console.WriteLine(Barcode.Value); // tür ve konum özellikleri de açığa çıktı }}
using IronOcr;
var Ocr = new IronTesseract();
Ocr.Configuration.ReadBarCodes = true;
using (var input = new OcrInput())
{
input.AddImage("img/Barcode.png");
var Result = Ocr.Read(input);
foreach (var Barcode in Result.Barcodes)
{
Console.WriteLine(Barcode.Value);
// tür ve konum özellikleri de açığa çıktı
}
}
ImportsIronOcrPrivateOcr = New IronTesseract()Ocr.Configuration.ReadBarCodes = TrueUsing input = New OcrInput() input.AddImage("img/Barcode.png") DimResult = Ocr.Read(input) For EachBarcodeInResult.BarcodesConsole.WriteLine(Barcode.Value) ' tür ve konum özellikleri de açığa çıktı NextBarcodeEndUsing
Imports IronOcr
Private Ocr = New IronTesseract()
Ocr.Configuration.ReadBarCodes = True
Using input = New OcrInput()
input.AddImage("img/Barcode.png")
Dim Result = Ocr.Read(input)
For Each Barcode In Result.Barcodes
Console.WriteLine(Barcode.Value)
' tür ve konum özellikleri de açığa çıktı
Next Barcode
End Using
Belirli Görüntü Alanları için OCR
IronOCR'nin tüm tarama ve okuma yöntemleri, bir sayfanın veya sayfaların tam olarak hangi bölümünden metin okumak istediğimizi belirleme yeteneği sağlar. Bu, standartlaştırılmış formlara baktığımızda çok kullanışlıdır ve çok fazla zaman kazandırabilir ve verimliliği artırabilir.
Kırpma bölgeleri kullanmak için, bir sistem başvuru eklemeniz gerekecektir System.Drawing kullandığımız böylece System.Drawing.Rectangle nesnesi.
using IronOcr;using System.Drawing;varOcr = new IronTesseract();Ocr.Language = OcrLanguage.Turkish;using (varInput = new OcrInput()){ varContentArea = new Rectangle() { X = 215, Y = 1250, Height = 280, Width = 1335 }; // Boyutlar piksel cinsindendirInput.Add("document.png", ContentArea); varResult = Ocr.Read(Input);Console.WriteLine(Result.Text);}
using IronOcr;
using System.Drawing;
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Turkish;
using (var Input = new OcrInput())
{
var ContentArea = new Rectangle() { X = 215, Y = 1250, Height = 280, Width = 1335 };
// Boyutlar piksel cinsindendir
Input.Add("document.png", ContentArea);
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
ImportsIronOcrImportsSystem.DrawingPrivateOcr = New IronTesseract()Ocr.Language = OcrLanguage.TurkishUsingInput = New OcrInput() DimContentArea = New Rectangle() With { .X = 215, .Y = 1250, .Height = 280, .Width = 1335 } ' Boyutlar piksel cinsindendirInput.Add("document.png", ContentArea) DimResult = Ocr.Read(Input)Console.WriteLine(Result.Text)EndUsing
Imports IronOcr
Imports System.Drawing
Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Turkish
Using Input = New OcrInput()
Dim ContentArea = New Rectangle() With {
.X = 215,
.Y = 1250,
.Height = 280,
.Width = 1335
}
' Boyutlar piksel cinsindendir
Input.Add("document.png", ContentArea)
Dim Result = Ocr.Read(Input)
Console.WriteLine(Result.Text)
End Using
Düşük Kaliteli Taramalar için OCR
IronOCR OcrInput sınıfı, normal Tesseract'ın okuyamadığı taramaları düzeltebilir.
using IronOcr;varOcr = new IronTesseract();Ocr.Language = OcrLanguage.Turkish;using (varInput = new OcrInput(@"img\Potter.LowQuality.tiff")){Input.DeNoise(); // Dijital gürültüyü ve zayıf taramayı düzeltirInput.Deskew(); // Dönüşü ve perspektifi düzeltir varResult = Ocr.Read(Input);Console.WriteLine(Result.Text);}
using IronOcr;
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Turkish;
using (var Input = new OcrInput(@"img\Potter.LowQuality.tiff"))
{
Input.DeNoise(); // Dijital gürültüyü ve zayıf taramayı düzeltir
Input.Deskew(); // Dönüşü ve perspektifi düzeltir
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
ImportsIronOcrPrivateOcr = New IronTesseract()Ocr.Language = OcrLanguage.TurkishUsingInput = New OcrInput("img\Potter.LowQuality.tiff")Input.DeNoise() ' Dijital gürültüyü ve zayıf taramayı düzeltirInput.Deskew() ' Dönüşü ve perspektifi düzeltir DimResult = Ocr.Read(Input)Console.WriteLine(Result.Text)EndUsing
Imports IronOcr
Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Turkish
Using Input = New OcrInput("img\Potter.LowQuality.tiff")
Input.DeNoise() ' Dijital gürültüyü ve zayıf taramayı düzeltir
Input.Deskew() ' Dönüşü ve perspektifi düzeltir
Dim Result = Ocr.Read(Input)
Console.WriteLine(Result.Text)
End Using
OCR sonuçlarını Aranabilir PDF olarak dışa aktarın
Kopyalanabilir metin dizeleri ile PDF'ye resim. Arama motorları ve veritabanları tarafından indekslenebilir.
using IronOcr;varOcr = new IronTesseract();Ocr.Language = OcrLanguage.Turkish;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");}
using IronOcr;
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Turkish;
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");
}
ImportsIronOcrPrivateOcr = New IronTesseract()Ocr.Language = OcrLanguage.TurkishUsingInput = 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")EndUsing
Imports IronOcr
Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Turkish
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'den aranabilir PDF'ye Dönüştürme
Bir TIFF belgesini (veya herhangi bir görüntü dosyası grubunu) doğrudan intranet, web sitesi ve Google arama motorları tarafından dizine eklenebilen, aranabilir bir PDF'ye dönüştürün.
using IronOcr;varOcr = new IronTesseract();Ocr.Language = OcrLanguage.Turkish;using (varInput = new OcrInput()){Input.AddMultiFrameTiff("example.tiff"); varResult = Ocr.Read(Input);Result.SaveAsSearchablePdf("searchable.pdf");}
using IronOcr;
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Turkish;
using (var Input = new OcrInput())
{
Input.AddMultiFrameTiff("example.tiff");
var Result = Ocr.Read(Input);
Result.SaveAsSearchablePdf("searchable.pdf");
}
ImportsIronOcrPrivateOcr = New IronTesseract()Ocr.Language = OcrLanguage.TurkishUsingInput = New OcrInput()Input.AddMultiFrameTiff("example.tiff") DimResult = Ocr.Read(Input)Result.SaveAsSearchablePdf("searchable.pdf")EndUsing
Imports IronOcr
Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Turkish
Using Input = New OcrInput()
Input.AddMultiFrameTiff("example.tiff")
Dim Result = Ocr.Read(Input)
Result.SaveAsSearchablePdf("searchable.pdf")
End Using
OCR sonuçlarını HTML olarak dışa aktar
OCR görselini XHTML'ye dönüştürme.
using IronOcr;varOcr = new IronTesseract();Ocr.Language = OcrLanguage.Turkish;using (varInput = new OcrInput()){Input.Title = "Html Title";Input.AddImage("image1.jpeg"); varResult = Ocr.Read(Input);Result.SaveAsHocrFile("results.html");}
using IronOcr;
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Turkish;
using (var Input = new OcrInput())
{
Input.Title = "Html Title";
Input.AddImage("image1.jpeg");
var Result = Ocr.Read(Input);
Result.SaveAsHocrFile("results.html");
}
ImportsIronOcrPrivateOcr = New IronTesseract()Ocr.Language = OcrLanguage.TurkishUsingInput = New OcrInput()Input.Title = "Html Title"Input.AddImage("image1.jpeg") DimResult = Ocr.Read(Input)Result.SaveAsHocrFile("results.html")EndUsing
Imports IronOcr
Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Turkish
Using Input = New OcrInput()
Input.Title = "Html Title"
Input.AddImage("image1.jpeg")
Dim Result = Ocr.Read(Input)
Result.SaveAsHocrFile("results.html")
End Using
OCR Görüntü Geliştirme Filtreleri
IronOCR, OCR performansını iyileştirmek için OcrInput nesneleri için benzersiz filtreler sağlar.
Görüntü Geliştirme Kodu Örneği
Daha iyi ve daha hızlı OCR sonuçları üretmek için OCR giriş görüntülerini daha kaliteli hale getirir.
using IronOcr;varOcr = new IronTesseract();Ocr.Language = OcrLanguage.Turkish;using (varInput = new OcrInput(@"LowQuality.jpeg")){Input.DeNoise(); // Dijital gürültüyü ve zayıf taramayı düzeltirInput.Deskew(); // Dönüşü ve perspektifi düzeltir varResult = Ocr.Read(Input);Console.WriteLine(Result.Text);}
using IronOcr;
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Turkish;
using (var Input = new OcrInput(@"LowQuality.jpeg"))
{
Input.DeNoise(); // Dijital gürültüyü ve zayıf taramayı düzeltir
Input.Deskew(); // Dönüşü ve perspektifi düzeltir
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
ImportsIronOcrPrivateOcr = New IronTesseract()Ocr.Language = OcrLanguage.TurkishUsingInput = New OcrInput("LowQuality.jpeg")Input.DeNoise() ' Dijital gürültüyü ve zayıf taramayı düzeltirInput.Deskew() ' Dönüşü ve perspektifi düzeltir DimResult = Ocr.Read(Input)Console.WriteLine(Result.Text)EndUsing
Imports IronOcr
Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Turkish
Using Input = New OcrInput("LowQuality.jpeg")
Input.DeNoise() ' Dijital gürültüyü ve zayıf taramayı düzeltir
Input.Deskew() ' Dönüşü ve perspektifi düzeltir
Dim Result = Ocr.Read(Input)
Console.WriteLine(Result.Text)
End Using
OCR Görüntü Filtrelerinin Listesi
IronOCR'de yerleşik olarak bulunan OCR performansını artırmak için giriş filtreleri şunları içerir:
OcrInput.Rotate(double degrees) - Resimleri saat yönünde birkaç derece döndürür. Saat yönünün tersine dönüşler için negatif sayılar kullanın.
OcrInput.Binarize() - Bu görüntü filtresi, orta zemin olmadan her pikseli siyah veya beyaza çevirir. Metnin arka plana karşı çok düşük kontrastlı OCR performansını artırabilir.
OcrInput.ToGrayScale() - Bu görüntü filtresi, her pikseli bir gri tonlamaya dönüştürür. OCR doğruluğunu iyileştirme olasılığı düşüktür ancak hızı artırabilir.
OcrInput.Contrast() - Kontrastı otomatik olarak artırır. Bu filtre genellikle düşük kontrastlı taramalarda OCR hızını ve doğruluğunu artırır.
OcrInput.DeNoise() - Dijital gürültüyü kaldırır. Bu filtre yalnızca gürültünün beklendiği yerlerde kullanılmalıdır.
OcrInput.Invert() - Her rengi ters çevirir. Örneğin, beyaz siyah olur: siyah beyaz olur.
OcrInput.Dilate() - Gelişmiş Morfoloji. Genişleme, bir görüntüdeki nesnelerin sınırlarına pikseller ekler. Aşınmanın karşıtı
OcrInput.Erode() - Gelişmiş Morfoloji. Erozyon, nesne sınırları üzerindeki pikselleri ortadan kaldırır.
OcrInput.Deskew() - Bir görüntüyü döndürerek yukarı ve ortogonal olmasını sağlar. Bu, OCR için çok kullanışlıdır çünkü eğri taramalar için Tesseract toleransı 5 derece kadar düşük olabilir.
OcrInput.DeepCleanBackgroundNoise() - Yoğun arka plan gürültüsü giderme. Bu filtreyi yalnızca aşırı belge arka plan gürültüsü bilindiğinde kullanın, çünkü bu filtre aynı zamanda temiz belgelerin OCR doğruluğunu azaltma riskini de beraberinde getirir ve çok CPU pahalıdır.
OcrInput.EnhanceResolution - Düşük kaliteli görüntülerin çözünürlüğünü artırır. OcrInput.MinimumDPI ve OcrInput.TargetDPI düşük çözünürlüklü girişleri otomatik olarak yakalayıp çözeceği için bu filtreye sıklıkla ihtiyaç duyulmaz.
CleanBackgroundNoise. Bu, biraz zaman alan bir ayardır; bununla birlikte, kütüphanenin dijital bir görüntü içindeki dijital paraziti, kağıt buruşmalarını ve diğer kusurları otomatik olarak temizlemesine izin verir, aksi takdirde diğer OCR kütüphaneleri tarafından okunamayacak hale gelir.
EnhanceContrast, Iron OCR'nin metnin bir görüntünün arka planına karşı kontrastını otomatik olarak artırmasına, OCR'nin doğruluğunu ve genel olarak OCR'nin performansını ve hızını artırmasına neden olan bir ayardır.
EnhanceResolution, düşük çözünürlüklü görüntüleri (275 dpi'nin altında olan) otomatik olarak algılayan ve görüntüyü otomatik olarak yükselten ve ardından tüm metni bir OCR kitaplığı tarafından mükemmel şekilde okunabilmesi için keskinleştiren bir ayardır. Bu işlem kendi içinde zaman alıcı olsa da, genellikle bir görüntü üzerinde bir OCR işlemi için toplam süreyi azaltır.
Dil Demir OCR, 22 uluslararası dil paketini destekler ve dil ayarı, bir OCR işlemi için uygulanacak bir veya birden fazla dil seçmek için kullanılabilir.
Strateji Demir OCR iki stratejiyi destekler. Bir belgenin hızlı ve daha az hassas bir şekilde taranmasını seçebilir veya kelimelerin bir cümlede birbirleriyle istatistiksel ilişkilerine bakarak OCR metninin doğruluğunu otomatik olarak iyileştirmek için bazı yapay zeka modelleri kullanan gelişmiş bir strateji kullanabiliriz.
ColorSpace, gri tonlamalı veya renkli OCR'yi seçebileceğimiz bir ayardır. Genellikle gri tonlama en iyi seçenektir. Bununla birlikte, bazen benzer tonda ancak çok farklı renkte metinler veya arka planlar olduğunda, tam renkli bir renk alanı daha iyi sonuçlar sağlayacaktır.
DetectWhiteTextOnDarkBackgrounds. Genel olarak, tüm OCR kitaplıkları beyaz arka planda siyah metin görmeyi bekler. Bu ayar, Demir OCR'nin negatifleri veya beyaz metin içeren koyu sayfaları otomatik olarak algılamasını ve okumasını sağlar.
InputImageType. Bu ayar, geliştiricinin OCR kitaplığını tam bir belgeye mi yoksa ekran görüntüsü gibi bir parçacığa mı baktığı konusunda yönlendirmesine olanak tanır.
RotateAndStraighten, Iron OCR'ye yalnızca döndürülen değil, aynı zamanda metin belgelerinin fotoğrafları gibi perspektif içeren belgeleri okuma konusunda benzersiz bir yetenek sağlayan gelişmiş bir ayardır.
ReadBarcodes, Iron OCR'nin sayfalar üzerindeki barkodları ve QR kodlarını aynı zamanda metni okurken, büyük bir ek zaman yükü eklemeden otomatik olarak okumasını sağlayan kullanışlı bir özelliktir.
Renk derinliği. Bu ayar, OCR kitaplığının bir rengin derinliğini belirlemek için piksel başına kaç bit kullanacağını belirler. Daha yüksek bir renk derinliği OCR kalitesini artırabilir, ancak aynı zamanda OCR işleminin tamamlanması için gereken süreyi de artıracaktır.
Diller Almanca, Fransızca, İngilizce, Çince, Japonca ve daha fazlasını içerir. Pasaport MRZ, MICR kontrolleri, Mali Veriler, Lisans plakaları ve daha fazlası için uzman dil paketleri mevcuttur. Kendi oluşturduklarınız da dahil olmak üzere herhangi bir Tesseract ".traineddata" dosyasını da kullanabilirsiniz.
Dil Örneği
Diğer OCR dillerini kullanma.
using IronOcr;// PM> Install IronOcr.Languages.ArabicvarOcr = new IronTesseract();Ocr.Language = OcrLanguage.Arabic;using (var input = new OcrInput()){ input.AddImage("img/arabic.gif"); // Gerekirse görüntü filtreleri ekleyin // Bu durumda, düşünce girdisi bile çok düşük kalitede // IronTesseract, geleneksel Tesseract'ın okuyamadığını okuyabilir. varResult = Ocr.Read(input); // Konsol, Arapça'yı Windows'ta kolayca yazdıramaz. // Bunun yerine diske kaydedelim.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");
// Gerekirse görüntü filtreleri ekleyin
// Bu durumda, düşünce girdisi bile çok düşük kalitede
// IronTesseract, geleneksel Tesseract'ın okuyamadığını okuyabilir.
var Result = Ocr.Read(input);
// Konsol, Arapça'yı Windows'ta kolayca yazdıramaz.
// Bunun yerine diske kaydedelim.
Result.SaveAsTextFile("arabic.txt");
}
ImportsIronOcr' PM> Install IronOcr.Languages.ArabicPrivateOcr = New IronTesseract()Ocr.Language = OcrLanguage.ArabicUsing input = New OcrInput() input.AddImage("img/arabic.gif") ' Gerekirse görüntü filtreleri ekleyin ' Bu durumda, düşünce girdisi bile çok düşük kalitede ' IronTesseract, geleneksel Tesseract'ın okuyamadığını okuyabilir. DimResult = Ocr.Read(input) ' Konsol, Arapça'yı Windows'ta kolayca yazdıramaz. ' Bunun yerine diske kaydedelim.Result.SaveAsTextFile("arabic.txt")EndUsing
Imports IronOcr
' PM> Install IronOcr.Languages.Arabic
Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Arabic
Using input = New OcrInput()
input.AddImage("img/arabic.gif")
' Gerekirse görüntü filtreleri ekleyin
' Bu durumda, düşünce girdisi bile çok düşük kalitede
' IronTesseract, geleneksel Tesseract'ın okuyamadığını okuyabilir.
Dim Result = Ocr.Read(input)
' Konsol, Arapça'yı Windows'ta kolayca yazdıramaz.
' Bunun yerine diske kaydedelim.
Result.SaveAsTextFile("arabic.txt")
End Using
Çoklu Dil Örneği
Aynı anda birden fazla dil kullanarak OCR yapmak da mümkündür. Bu, Unicode belgelerinde İngilizce meta verilerini ve URL'leri almanıza gerçekten yardımcı olabilir.
using IronOcr;// PM> Install IronOcr.Languages.ChineseSimplifiedvarOcr = new IronTesseract();Ocr.Language = OcrLanguage.ChineseSimplified;Ocr.AddSecondaryLanguage(OcrLanguage.Turkish);// İstenilen sayıda dil ekleyebilirizusing (var input = new OcrInput()){ input.AddImage("multi-language.pdf"); varResult = 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.Turkish);
// İstenilen sayıda dil ekleyebiliriz
using (var input = new OcrInput())
{
input.AddImage("multi-language.pdf");
var Result = Ocr.Read(input);
Result.SaveAsTextFile("results.txt");
}
ImportsIronOcr' PM> Install IronOcr.Languages.ChineseSimplifiedPrivateOcr = New IronTesseract()Ocr.Language = OcrLanguage.ChineseSimplifiedOcr.AddSecondaryLanguage(OcrLanguage.Turkish)' İstenilen sayıda dil ekleyebilirizUsing input = New OcrInput() input.AddImage("multi-language.pdf") DimResult = Ocr.Read(input)Result.SaveAsTextFile("results.txt")EndUsing
Imports IronOcr
' PM> Install IronOcr.Languages.ChineseSimplified
Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.ChineseSimplified
Ocr.AddSecondaryLanguage(OcrLanguage.Turkish)
' İstenilen sayıda dil ekleyebiliriz
Using input = New OcrInput()
input.AddImage("multi-language.pdf")
Dim Result = Ocr.Read(input)
Result.SaveAsTextFile("results.txt")
End Using
Ayrıntılı OCR Sonuç Nesneleri
Demir OCR, her OCR işlemi için bir OCR sonuç nesnesi döndürür. Genellikle geliştiriciler, görüntüden taranan metni almak için bu nesnenin yalnızca metin özelliğini kullanır. Ancak, OCR sonuçları DOM bundan çok daha gelişmiştir.
using IronOcr;using System.Drawing;varOcr = new IronTesseract();Ocr.Language = OcrLanguage.Turkish;Ocr.Configuration.EngineMode = TesseractEngineMode.TesseractAndLstm;Ocr.Configuration.ReadBarCodes = true;using (varInput = new OcrInput(@"images\sample.tiff")){ OcrResultResult = Ocr.Read(Input); varPages = Result.Pages; varWords = Pages[0].Words; varBarcodes = Result.Barcodes; // Devasa, ayrıntılı bir API bulmak için burayı keşfedin: // - Sayfalar, Bloklar, Açıklamalar, Çizgiler, Kelimeler, Karakterler // - Görüntü Dışa Aktarma, Yazı Tipi Koordinatları, İstatistiksel Veriler}
using IronOcr;
using System.Drawing;
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Turkish;
Ocr.Configuration.EngineMode = TesseractEngineMode.TesseractAndLstm;
Ocr.Configuration.ReadBarCodes = true;
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;
// Devasa, ayrıntılı bir API bulmak için burayı keşfedin:
// - Sayfalar, Bloklar, Açıklamalar, Çizgiler, Kelimeler, Karakterler
// - Görüntü Dışa Aktarma, Yazı Tipi Koordinatları, İstatistiksel Veriler
}
ImportsIronOcrImportsSystem.DrawingPrivateOcr = New IronTesseract()Ocr.Language = OcrLanguage.TurkishOcr.Configuration.EngineMode = TesseractEngineMode.TesseractAndLstmOcr.Configuration.ReadBarCodes = TrueUsingInput = New OcrInput("images\sample.tiff") DimResultAsOcrResult = Ocr.Read(Input) DimPages = Result.Pages DimWords = Pages(0).Words DimBarcodes = Result.Barcodes ' Devasa, ayrıntılı bir API bulmak için burayı keşfedin: ' - Sayfalar, Bloklar, Açıklamalar, Çizgiler, Kelimeler, Karakterler ' - Görüntü Dışa Aktarma, Yazı Tipi Koordinatları, İstatistiksel VerilerEndUsing
Imports IronOcr
Imports System.Drawing
Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Turkish
Ocr.Configuration.EngineMode = TesseractEngineMode.TesseractAndLstm
Ocr.Configuration.ReadBarCodes = True
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
' Devasa, ayrıntılı bir API bulmak için burayı keşfedin:
' - Sayfalar, Bloklar, Açıklamalar, Çizgiler, Kelimeler, Karakterler
' - Görüntü Dışa Aktarma, Yazı Tipi Koordinatları, İstatistiksel Veriler
End Using
Verim
IronOCR, performans ayarı yapmaya veya girdi görüntülerini büyük ölçüde değiştirmeye gerek kalmadan kutudan çıkar çıkmaz çalışır.
Hız Alevleniyor: IronOCR.2020 +, 10 kata kadar daha hızlı ve önceki derlemelere göre %250 daha az hata yapıyor.
Daha fazla bilgi edin
C#, VB, F# veya başka herhangi bir .NET dilinde OCR hakkında daha fazla bilgi edinmek için lütfen IronOCR'nin nasıl kullanılacağına dair gerçek dünya örnekleri veren ve en iyi şekilde nasıl yararlanılacağına dair nüansları gösteren topluluk eğitimlerimizi okuyun. Bu kütüphane.