Üretim ortamında su yas cızlar olmadan test edin.
İhtiyacınız olan her yerde çalışır.
30 gün boyunca tam işlevli ürün alın.
Dakikalar içinde çalışır hale getirin.
Ürün deneme sürecinizde destek mühendislik ekibimize tam erişim
using IronOcr;
using System;
var ocrTesseract = new IronTesseract();
ocrTesseract.Language = OcrLanguage.Arabic;
using (var ocrInput = new OcrInput())
{
ocrInput.LoadImage(@"images\arabic.gif");
var ocrResult = ocrTesseract.Read(ocrInput);
Console.WriteLine(ocrResult.Text);
}
// Example with a Custom Trained Font Being used:
var ocrTesseractCustomerLang = new IronTesseract();
ocrTesseractCustomerLang.UseCustomTesseractLanguageFile("custom_tesseract_files/custom.traineddata");
ocrTesseractCustomerLang.AddSecondaryLanguage(OcrLanguage.EnglishBest);
using (var ocrInput = new OcrInput())
{
ocrInput.LoadPdf(@"images\mixed-lang.pdf");
var ocrResult = ocrTesseractCustomerLang.Read(ocrInput);
Console.WriteLine(ocrResult.Text);
}
Imports IronOcr
Imports System
Private ocrTesseract = New IronTesseract()
ocrTesseract.Language = OcrLanguage.Arabic
Using ocrInput As New OcrInput()
ocrInput.LoadImage("images\arabic.gif")
Dim ocrResult = ocrTesseract.Read(ocrInput)
Console.WriteLine(ocrResult.Text)
End Using
' Example with a Custom Trained Font Being used:
Dim ocrTesseractCustomerLang = New IronTesseract()
ocrTesseractCustomerLang.UseCustomTesseractLanguageFile("custom_tesseract_files/custom.traineddata")
ocrTesseractCustomerLang.AddSecondaryLanguage(OcrLanguage.EnglishBest)
Using ocrInput As New OcrInput()
ocrInput.LoadPdf("images\mixed-lang.pdf")
Dim ocrResult = ocrTesseractCustomerLang.Read(ocrInput)
Console.WriteLine(ocrResult.Text)
End Using
Install-Package IronOcr
IronOCR, 125 uluslararası dili destekler. Varsayılan olarak yüklü olan İngilizce'nin yanı sıra, ek dil paketleri NuGet üzerinden veya Diller Sayfamızdan indirilebilir ve .NET projenize eklenebilir. Çoğu dil IronOCR Dil Desteği
Fast, Standard (önerilen) ve Best kalitesinde mevcuttur. Best kalite seçeneği daha doğru sonuçlar sunabilir, ancak işlem süresi daha uzun olacaktır.
using IronOcr;
using IronSoftware.Drawing;
// We can delve deep into OCR results as an object model of
// Pages, Barcodes, Paragraphs, Lines, Words and Characters
// This allows us to explore, export and draw OCR content using other APIs/
var ocrTesseract = new IronTesseract();
ocrTesseract.Configuration.ReadBarCodes = true;
using var ocrInput = new OcrInput();
var pages = new int[] { 1, 2 };
ocrInput.LoadImageFrames("example.tiff", pages);
OcrResult ocrResult = ocrTesseract.Read(ocrInput);
foreach (var page in ocrResult.Pages)
{
// Page object
int PageNumber = page.PageNumber;
string PageText = page.Text;
int PageWordCount = page.WordCount;
// null if we dont set Ocr.Configuration.ReadBarCodes = true;
OcrResult.Barcode[] Barcodes = page.Barcodes;
AnyBitmap PageImage = page.ToBitmap(ocrInput);
double PageWidth = page.Width;
double PageHeight = page.Height;
double PageRotation = page.Rotation; // angular correction in degrees from OcrInput.Deskew()
foreach (var paragraph in page.Paragraphs)
{
// Pages -> Paragraphs
int ParagraphNumber = paragraph.ParagraphNumber;
string ParagraphText = paragraph.Text;
AnyBitmap ParagraphImage = paragraph.ToBitmap(ocrInput);
int ParagraphX_location = paragraph.X;
int ParagraphY_location = paragraph.Y;
int ParagraphWidth = paragraph.Width;
int ParagraphHeight = paragraph.Height;
double ParagraphOcrAccuracy = paragraph.Confidence;
OcrResult.TextFlow paragrapthText_direction = paragraph.TextDirection;
foreach (var line in paragraph.Lines)
{
// Pages -> Paragraphs -> Lines
int LineNumber = line.LineNumber;
string LineText = line.Text;
AnyBitmap LineImage = line.ToBitmap(ocrInput);
int LineX_location = line.X;
int LineY_location = line.Y;
int LineWidth = line.Width;
int LineHeight = line.Height;
double LineOcrAccuracy = line.Confidence;
double LineSkew = line.BaselineAngle;
double LineOffset = line.BaselineOffset;
foreach (var word in line.Words)
{
// Pages -> Paragraphs -> Lines -> Words
int WordNumber = word.WordNumber;
string WordText = word.Text;
AnyBitmap WordImage = word.ToBitmap(ocrInput);
int WordX_location = word.X;
int WordY_location = word.Y;
int WordWidth = word.Width;
int WordHeight = word.Height;
double WordOcrAccuracy = word.Confidence;
foreach (var character in word.Characters)
{
// Pages -> Paragraphs -> Lines -> Words -> Characters
int CharacterNumber = character.CharacterNumber;
string CharacterText = character.Text;
AnyBitmap CharacterImage = character.ToBitmap(ocrInput);
int CharacterX_location = character.X;
int CharacterY_location = character.Y;
int CharacterWidth = character.Width;
int CharacterHeight = character.Height;
double CharacterOcrAccuracy = character.Confidence;
// Output alternative symbols choices and their probability.
// Very useful for spellchecking
OcrResult.Choice[] Choices = character.Choices;
}
}
}
}
}
Imports IronOcr
Imports IronSoftware.Drawing
' We can delve deep into OCR results as an object model of
' Pages, Barcodes, Paragraphs, Lines, Words and Characters
' This allows us to explore, export and draw OCR content using other APIs/
Private ocrTesseract = New IronTesseract()
ocrTesseract.Configuration.ReadBarCodes = True
Dim ocrInput As New OcrInput()
Dim pages = New Integer() { 1, 2 }
ocrInput.LoadImageFrames("example.tiff", pages)
Dim ocrResult As OcrResult = ocrTesseract.Read(ocrInput)
For Each page In ocrResult.Pages
' Page object
Dim PageNumber As Integer = page.PageNumber
Dim PageText As String = page.Text
Dim PageWordCount As Integer = page.WordCount
' null if we dont set Ocr.Configuration.ReadBarCodes = true;
Dim Barcodes() As OcrResult.Barcode = page.Barcodes
Dim PageImage As AnyBitmap = page.ToBitmap(ocrInput)
Dim PageWidth As Double = page.Width
Dim PageHeight As Double = page.Height
Dim PageRotation As Double = page.Rotation ' angular correction in degrees from OcrInput.Deskew()
For Each paragraph In page.Paragraphs
' Pages -> Paragraphs
Dim ParagraphNumber As Integer = paragraph.ParagraphNumber
Dim ParagraphText As String = paragraph.Text
Dim ParagraphImage As AnyBitmap = paragraph.ToBitmap(ocrInput)
Dim ParagraphX_location As Integer = paragraph.X
Dim ParagraphY_location As Integer = paragraph.Y
Dim ParagraphWidth As Integer = paragraph.Width
Dim ParagraphHeight As Integer = paragraph.Height
Dim ParagraphOcrAccuracy As Double = paragraph.Confidence
Dim paragrapthText_direction As OcrResult.TextFlow = paragraph.TextDirection
For Each line In paragraph.Lines
' Pages -> Paragraphs -> Lines
Dim LineNumber As Integer = line.LineNumber
Dim LineText As String = line.Text
Dim LineImage As AnyBitmap = line.ToBitmap(ocrInput)
Dim LineX_location As Integer = line.X
Dim LineY_location As Integer = line.Y
Dim LineWidth As Integer = line.Width
Dim LineHeight As Integer = line.Height
Dim LineOcrAccuracy As Double = line.Confidence
Dim LineSkew As Double = line.BaselineAngle
Dim LineOffset As Double = line.BaselineOffset
For Each word In line.Words
' Pages -> Paragraphs -> Lines -> Words
Dim WordNumber As Integer = word.WordNumber
Dim WordText As String = word.Text
Dim WordImage As AnyBitmap = word.ToBitmap(ocrInput)
Dim WordX_location As Integer = word.X
Dim WordY_location As Integer = word.Y
Dim WordWidth As Integer = word.Width
Dim WordHeight As Integer = word.Height
Dim WordOcrAccuracy As Double = word.Confidence
For Each character In word.Characters
' Pages -> Paragraphs -> Lines -> Words -> Characters
Dim CharacterNumber As Integer = character.CharacterNumber
Dim CharacterText As String = character.Text
Dim CharacterImage As AnyBitmap = character.ToBitmap(ocrInput)
Dim CharacterX_location As Integer = character.X
Dim CharacterY_location As Integer = character.Y
Dim CharacterWidth As Integer = character.Width
Dim CharacterHeight As Integer = character.Height
Dim CharacterOcrAccuracy As Double = character.Confidence
' Output alternative symbols choices and their probability.
' Very useful for spellchecking
Dim Choices() As OcrResult.Choice = character.Choices
Next character
Next word
Next line
Next paragraph
Next page
Install-Package IronOcr
IronOCR, Tesseract 5\ kullanarak taradığı her sayfa için gelişmiş bir sonuç nesnesi döndürür. Bu, her biri için konum verileri, görüntüler, metin, istatistiksel güven, alternatif sembol seçenekleri, yazı tipi adları, yazı tipi boyutları, süsleme, yazı ağırlıkları ve konum içerir.
PageParagraphWordBarcode
Ürün, entegrasyon veya lisanslama soruları olsun; Iron ürün geliştirme ekibi tüm sorularınızı desteklemek için hazır. Projenizde kütüphanemizin en iyi şekilde kullanılmasını sağlamak için iletişime geçin ve Iron ile bir diyalog başlatın.
Soru Sorİster pasaport sayfaları, ister faturalar, banka hesap özetleri, postalar, kartvizitler veya makbuzlar olsun; Optik Karakter Tanıma (OCR) bir araştırma alanı olarak şekil tanıma, bilgisayarla görme ve makine öğrenimi temellidir. Şirketler, muhasebe ve finans sistemlerinde, iş dijitalleştirmede, kurumsal içerik yönetiminde ve veri raporlama sistemlerinde metin çıkartmak için OCR'ı departmanlar arası kullanırlar.
Ayrıca başka başarı hikayeleri oluşturarak, IronOCR Google Tesseract ve Microsoft 2021 Azure Cognitive Services'e değer katar - yerel C# OCR kütüphanesi ile.
Eğer gerçek dünya resimlerini %99 doğrulukla dönüştürmek istiyorsanız - okumaya devam edin ve IronOCR'un verimli, doğru, ölçeklenebilir ve neredeyse insan gibi Optik Karakter Tanıma uygulaması oluşturmanıza nasıl olanak sağladığını görün.
Optik Karakter Tanıma (OCR) farklı API lerin koruma yönündeki büyük güveni nedeniyle çözülen bir fenomen olarak kabul edilir. Ancak, çeşitli ürünler genellikle katıdır ve gerçek dünya uygulamalarında başarısız olan hatalar içerir. Benzer şekilde, Tesseract OCR makine baskılı, yüksek çözünürlükte, mükemmel metinlerle çalışır.
İyi mi görünüyor?
Ancak, gerçek dünya her zaman mükemmel baskılı ve yüksek çözünürlükte el yazısıyla yazılmış metinlerle dolu değildir. Bunun yerine, döndüren, eğimli, düşük DPI, arka plan gürültüsü ve tüm dijital kusurların eksiklikleri, IronOCR tarafından halledilir ve görüntü dosyalarından el yazısı metin çıkarılmasını içerir. %99,8 - %100 kesin, aranabilir bir belge ile çapraz platform desteği sağlıyoruz, Windows, Linux, macOS, Microsoft Azure, AWS ve Docker'a dahil - neden C# geliştiricilerin IronOCR'yi (temel) Tesseract OCR üzerinden tercih ettiğinin bir nedeni var - bu tamamen değeri eklemekle ilgili.
Kendinizi en iyisiyle donatın!
Yukarıdakilere ek olarak, IronOCR size belge belgelerini hızlı bir şekilde işlemeye olanak tanır. Hepsi bu kadar değil, IronOCR API özellikleri ayrıca şunları da içerir:
Yerel .dll veya .exe kurulumlarından tek bir gerçek kaynağa geçin - C# API lerinden yararlanan tek bir yerel .NET bileşen kütüphanesi kullanarak geliştirin ve şu destekler sağlar:
IronOCR API'sinin sanatı burada bitmiyor; teknik üstünlük özelliklerini daha fazla keşfetmeye devam edebilirsiniz. Belge işleme uygulamalarını optimize ederek iş karmaşıklığını azaltıyor ve sektörde öncü özellikler sunarak iş gelirlerini en üst düzeye çıkararak güvenilir çözümler geliştiriyoruz:
Optik karakter tanıma işlemimiz, otomatik görüntü ön işleme ile başlar, bu da yanıt oranını artırarak örnek temel görüntü dosyasını en iyi sürümüne yükseltir. IronOCR işinize değer katar öyle ki kullanıcıların örnek temel görüntü dosyasını optimum versiyonuna dönüştürmelerine olanak tanır. IronOCR tüm temelleri kapsar:
IronOCR hizmeti 300 DPI (İnç Başına Noktalar) görüntü dosyalarında optimal çalıştığı için, 200-300 DPI dışında önemli ölçüde çekilen bir görüntü belirtilen aralık içine sığması için yeniden örneklendirilir.
Bu, 600 DPI görüntüleri 300 DPI'ye yeniden örneklemeyi veya 100 DPI görüntüleri 200 DPI'ye yükseltmeyi %99 oranında güven ile çevirir.
IronOCR bilişsel hizmetleri monokromatik görüntüler üzerinde çalışacak şekilde tasarlanmıştır, bu nedenle herhangi bir renkli veya gri tonlama görüntüleri, uyarlanabilir bir ikilikleştirme algoritması kullanılarak monokromatik hale getirilir.
Algoritma, piksel yoğunluklarını belirli bir alanda karşılaştırarak pikselleri monokromatik olarak dönüştürmek için kullanılacak eşiği belirler.
IronOCR, istenen yönde otomatik olarak görüntü kaynaklarını eğip döndüren metin çizgileri ve karakter kalıpları arar.
IronOCR ile görüntü dosyaları, gürültü varlığının varlığı ve miktarı açısından otomatik olarak analiz edilir. Gürültü temelde taranmış görüntülerde bulunan 'noktalardır'. Uyarlamalı algoritmamız daha sonra, gürültü parçacıkların büyüklüğüne göre gürültüyü ortadan kaldırır.
Örnek görüntü dosyasının Ön İşlemesi tamamlandığında, IronOCR daha sonra giriş görüntü dosyasını farklı işlem bölgelerine ayırır.
Bir diğer ön hazırlık aşaması, referans görüntüyü farklı mantıksal bölgelere ayırmayı içerir. IronOCR önce beyaz boşluk ve desen yardımıyla görüntüde metin ve resimleri bulur; metin alanı görüntülerden ayrılır.
Daha sonra bölgeler (paragraflar, sütunlar ve metin blokları) - olarak bölünür. Görüntülerin ve kalan metinsiz piksellerin metin tanıma sırasında atlanması ve akıllı çıktıya dahil edilmesi gerekenler belirlenir. IronOCR metin bölgelerini ızgaralı ve metin blokları yardımıyla tablolar olarak işaretler.
Piksel kümelerini kullanıcıların araştırabileceği tek satırlık metin dizilerine dönüştüren çoklu, birbirine bağlı adımlar gerçekleştirin. Bu, karakter bölütleme, uyarlamalı sınıflama, sözlük referansları ve optimum çıkartılan metne katkıda bulunan diğer ilgili işlemleri içerir.
IronOCR API hizmeti ile, aracımızı kelime seviyeleri, sembol doğruluğu ve Microsoft Office formatlarında yerleşim tutarlılığı dahil olmak üzere birden fazla dilde ve çeşitli veri dosyası örnekleri ile test ettik. Bazı parametreler otomatik olarak test edilse de, diğerleri görsel kontroller içerir.
IronOCR, düz metin dizesine çeşitli giriş formatları ile platformlar arası OCR yetenekleri eklemenize olanak tanır. Verimliliği IronOCR ile güçlendirmek için, kullanmanıza rehberlik eden free eğitim belgelerine başlayın. NuGet paket kurucumuzu bugün indirin ve ücretsiz deneme anahtarıyla keşfedin veya 7/24 kişisel destekle bağlantı kurun. Takım büyüklüğünüz ne olursa olsun, yaşam boyu lisanslama seçeneklerimizle ihtiyaçlarınızı karşılayın.
İle Çalışır UI Framework, VB.NET, Avalonia
Lisansları Görüntüle
Ücretsiz topluluk geliştirme lisansları. Ticari lisanslar 749 $'dan başlayan fiyatlarla.
Avalonia Tesseract OCR
Jim, IronOCR'un geliştirilmesinde önde gelen bir figür olmuştur. Jim, OCR için görüntü işleme algoritmaları ve okuma yöntemleri tasarlamakta ve geliştirmektedir.
Karşılaştırmayı Gör
Avalonia OCR ASP.NET
Gemma'nın ekibinin, arşivleme yazılımları için görüntülerden metin okumak amacıyla IronOCR kullandığını öğrenin. Gemma, kendi kod örneklerini paylaşıyor.
Resimden Metne .NET Eğitim
Team Iron .NET yazılım bileşenleri pazarında 10 yılı aşkın deneyime sahiptir.