C# İle IronOCR Kullanarak Okuma Sonuçları Nasıl Çıkarılır
IronOCR'nin Read yöntemi, çıkarılan metni ve algılanan her öğe için kesin koordinatlar, boyutlar, metin yönü ve hiyerarşik yapı (paragraflar, satırlar, kelimeler, karakterler) gibi ayrıntılı meta verileri içeren bir OcrResult nesnesi döndürür.
OCR sonucu, algılanan paragraflar, satırlar, kelimeler ve bireysel karakterler hakkında kapsamlı bilgi içerir.
Her bir öğe için metin içeriği, kesin X ve Y koordinatları, boyutlar (genişlik ve yükseklik), metin yönü (Soldan Sağa veya Yukarıdan Aşağıya) ve CropRectangle nesnesindeki konumu sağlanır.
Hızlı Başlangıç: İlk Algılanan Kelimenin Metnini Getirin
IronTesseract'nin Read yöntemini kullanarak bir görüntüyü OCR'ye tabi tutun ve Kelimes koleksiyonunu kullanarak ilk WORD'un metnini çıkarın.
-
IronOCR aşağıdaki NuGet Paket Yöneticisi ile yükleyin
PM > Install-Package IronOcr -
Bu kod parçacığını kopyalayın ve çalıştırın.
string wordText = new IronTesseract().Read("file.jpg").Kelimes[0].Text; -
Canlı ortamınızda test için dağıtım yapın
Ücretsiz deneme ile bugün projenizde IronOCR kullanmaya başlayın
Asgari İş Akışı (5 adım)
- Okuma sonuçlarına erişmek için bir C# kütüphanesi indirin
- Hedef görüntüyü ve PDF belgesini hazırlayın
Readmetodunu içe aktarılan belge üzerinde OCR yapmak için kullanın- Sonuçların
X,Y,genişlik,yükseklikvemetin yönübilgilerine erişebilirsiniz. - Algılanan paragrafları, satırları, kelimeleri ve karakter karşılaştırmalarını kontrol edin
OCR Sonuçlarından Hangi Verileri Çıkarabilirim?
Sonuç değeri, çıkarılan metinden yanı sıra, IronOCR tarafından PDF ve görüntü belgelerinde keşfedilen sayfalar, paragraflar, satırlar, kelimeler, karakterler ve barkodlar hakkında bilgileri de içerir. Bu bilgilere, Read yöntemini kullanarak döndürülen OcrResult nesnesinden erişebilirsiniz.
IronOCR'un kapsamlı sonuç sistemi, geliştiricilere basit metin tanımanın ötesinde yapılandırılmış veri çıkarma yetenekleri sağlayan güçlü Tesseract 5 motoru üzerine inşa edilmiştir. Taranmış belgeler, fotoğraflar veya ekran görüntüleri işlenirken, OcrResult sınıfı, çıkarılan veriler üzerinde ayrıntılı kontrol sağlar.
:path=/static-assets/ocr/content-code-examples/how-to/read-results-output-information.cs
using IronOcr;
using System;
using static IronOcr.OcrResult;
// Instantiate IronTesseract
IronTesseract ocrTesseract = new IronTesseract();
// Add image
using var imageInput = new OcrImageInput("sample.jpg");
// Perform OCR
OcrResult ocrResult = ocrTesseract.Read(imageInput);
// Retrieve list of detected paragraphs
Paragraph[] paragraphs = ocrResult.Paragraphs;
// Output information to console
Console.WriteLine($"Text: {paragraphs[0].Text}");
Console.WriteLine($"X: {paragraphs[0].X}");
Console.WriteLine($"Y: {paragraphs[0].Y}");
Console.WriteLine($"Width: {paragraphs[0].Width}");
Console.WriteLine($"Height: {paragraphs[0].Height}");
Console.WriteLine($"Text direction: {paragraphs[0].TextDirection}");
Imports IronOcr
Imports System
Imports IronOcr.OcrResult
' Instantiate IronTesseract
Private ocrTesseract As New IronTesseract()
' Add image
Private imageInput = New OcrImageInput("sample.jpg")
' Perform OCR
Private ocrResult As OcrResult = ocrTesseract.Read(imageInput)
' Retrieve list of detected paragraphs
Private paragraphs() As Paragraph = ocrResult.Paragraphs
' Output information to console
Console.WriteLine($"Text: {paragraphs(0).Text}")
Console.WriteLine($"X: {paragraphs(0).X}")
Console.WriteLine($"Y: {paragraphs(0).Y}")
Console.WriteLine($"Width: {paragraphs(0).Width}")
Console.WriteLine($"Height: {paragraphs(0).Height}")
Console.WriteLine($"Text direction: {paragraphs(0).TextDirection}")
OCR Sonuçlarından Metin İçeriğine Nasıl Erişirim?
OcrResult nesnesi, çıkarılan metni basit ve sezgisel bir şekilde sunar; böylece geliştiriciler bu metni doğrudan kullanabilir veya diğer uygulama bileşenlerine entegre edebilir. Hiyerarşik yapı, doğal belge metin organizasyonunu yansıtarak, farklı ayrıntı düzeylerinde içeriği kolayca çalışmanızı sağlar.
Birden fazla dil desteği gerektiren uygulamalar için, IronOCR çok dilli belgeleri sorunsuzca işler ve 125 desteklenen dil arasında aynı yapılandırılmış sonuç formatını korur.
Aşağıdaki kod örneği, sonuçları doğrulamak için bir döngüde metni bastırır.
:path=/static-assets/ocr/content-code-examples/how-to/read-results-output-text.cs
using IronOcr;
using System;
using static IronOcr.OcrResult;
// Instantiate IronTesseract
IronTesseract ocrTesseract = new IronTesseract();
// Add image
using var imageInput = new OcrImageInput("sampleText.png");
// Perform OCR
OcrResult ocrResult = ocrTesseract.Read(imageInput);
// Retrieve list of detected paragraphs
Paragraph[] paragraphs = ocrResult.Paragraphs;
// Loop through each paragraph in the array
Console.WriteLine("--- All Detected Paragraphs ---");
foreach (Paragraph paragraph in paragraphs)
{
// Print the text of the current paragraph
Console.WriteLine(paragraph.Text);
// Add a blank line for better separation (optional)
Console.WriteLine();
}
Imports IronOcr
Imports System
Imports IronOcr.OcrResult
' Instantiate IronTesseract
Dim ocrTesseract As New IronTesseract()
' Add image
Using imageInput As New OcrImageInput("sampleText.png")
' Perform OCR
Dim ocrResult As OcrResult = ocrTesseract.Read(imageInput)
' Retrieve list of detected paragraphs
Dim paragraphs As Paragraph() = ocrResult.Paragraphs
' Loop through each paragraph in the array
Console.WriteLine("--- All Detected Paragraphs ---")
For Each paragraph As Paragraph In paragraphs
' Print the text of the current paragraph
Console.WriteLine(paragraph.Text)
' Add a blank line for better separation (optional)
Console.WriteLine()
Next
End Using
Çıktı
Console çıktısı, IronOCR'un paragraf metnini hassasiyetle satır satır çıkardığını gösteriyor. Motor, paragraf sınırlarını otomatik olarak algılar ve çoklu metin bloklarına sahip karmaşık belgeleri işlemek için idealdir.
Tespit Edilen Metnin Konum Koordinatlarını Nasıl Alabilirim?
Çıkarılan metne ek olarak, OcrResult ayrıntılı konum verileri sağlar. Bu konumsal bilgi, düzen sadakatini korumak veya belgelerin belirli bölgelerinden hedeflenmiş metin çıkarımı yapmak isteyen uygulamalar için önemlidir. Koordinat sistemi, sayfanın sol üst köşesinden standart piksel ölçümlerini kullanır.
Koordinat tabanlı işlemlerde daha yüksek hassasiyet için, belirli alanlara odaklanmak için OCR bölge hedefleme veya otomatik olarak Bilgisayarlı Görü teknolojisinden yararlanmaya çalışın.
Aşağıdaki kod, her paragraf üzerinde yinelenmeyi ve koordinatlarını (X ve Y) konsola yazdırmayı gösterir.
:path=/static-assets/ocr/content-code-examples/how-to/read-results-output-coordinates.cs
using IronOcr;
using System;
using static IronOcr.OcrResult;
// Instantiate IronTesseract
IronTesseract ocrTesseract = new IronTesseract();
// Add image
using var imageInput = new OcrImageInput("sampleText.png");
// Perform OCR
OcrResult ocrResult = ocrTesseract.Read(imageInput);
// Retrieve list of detected paragraphs
Paragraph[] paragraphs = ocrResult.Paragraphs;
Console.WriteLine("--- All Detected Coordinates of Paragraphs ---");
// Use a 'for' loop to get an index for each paragraph
for (int i = 0; i < paragraphs.Length; i++)
{
// Get the current paragraph
Paragraph paragraph = paragraphs[i];
// Print the paragraph number, text, and its location
Console.WriteLine($"X: {paragraph.X}"); // X-coordinate (left edge)
Console.WriteLine($"Y: {paragraph.Y}"); // Y-coordinate (top edge)
// Add a blank line for better separation
Console.WriteLine();
}
Imports IronOcr
Imports System
Imports IronOcr.OcrResult
' Instantiate IronTesseract
Dim ocrTesseract As New IronTesseract()
' Add image
Using imageInput As New OcrImageInput("sampleText.png")
' Perform OCR
Dim ocrResult As OcrResult = ocrTesseract.Read(imageInput)
' Retrieve list of detected paragraphs
Dim paragraphs As Paragraph() = ocrResult.Paragraphs
Console.WriteLine("--- All Detected Coordinates of Paragraphs ---")
' Use a 'for' loop to get an index for each paragraph
For i As Integer = 0 To paragraphs.Length - 1
' Get the current paragraph
Dim paragraph As Paragraph = paragraphs(i)
' Print the paragraph number, text, and its location
Console.WriteLine($"X: {paragraph.X}") ' X-coordinate (left edge)
Console.WriteLine($"Y: {paragraph.Y}") ' Y-coordinate (top edge)
' Add a blank line for better separation
Console.WriteLine()
Next
End Using
Çıktı
Çıktı, üç paragrafa karşılık gelen üç dizi koordinatı gösterir. Bu koordinatlar, sınırlayıcı kutular çizmek, belirli bölgeleri çıkarmak veya metin ögeleri arasındaki mekansal ilişkileri korumak için kullanılabilir.
OCR Sonuçlarında Başka Hangi Özellikler Mevcuttur?
Metin ve metin koordinatlarının yanı sıra, IronOCR ek bilgi sağlar. Her bir metin öğesi için (paragraflar, satırlar, kelimeler ve bireysel karakterler) aşağıdaki bilgiler mevcuttur:
- Metin: Dize olarak gerçek metin.
- X: Sayfanın sol kenarından itibaren piksel cinsinden konum.
- Y: Sayfanın üst kenarından itibaren piksel cinsinden konum.
- Genişlik: Piksel cinsinden genişlik.
- Yükseklik: Piksel cinsinden yükseklik.
- Metin Yönü: Metnin okunma yönü (Soldan Sağa veya Yukarıdan Aşağıya).
- Konum: Bu metnin sayfada piksel cinsinden nerede olduğunu gösteren bir dikdörtgen.
Bu özellikler, özellikle şu uygulamalarda faydalıdır:
- Metin vurgulama ve not ekleme sistemleri
- Otomatik form alanı tespit sistemi
- Belge dönüşümünde düzen koruma
- Veri çıkarmak için mekansal metin analizi
Hata ayıklama ve görselleştirme için metinleri vurgulama özelliğini kullanarak algılanan bölge doğruluğunu görsel olarak doğrulayabilirsiniz.
Paragraflar, Satırlar, Kelimeler ve Karakterler Nasıl Karşılaştırılır?
IronOCR'un hiyerarşik metin yapısı, geliştiricilerin belirli kullanım durumlarına uygun ayrıntı düzeyinde çalışmalarını sağlar. Bu ögeler arasındaki farkları anlamak, uygulamanız için doğru ayrıntı düzeyini seçmenize yardımcı olur.
Aşağıda, tespit edilen paragraflar, satırlar, kelimeler ve karakterlerin karşılaştırması yer alır.
Paragraf |
Satır |
Kelime |
Karakter |
Her bir ayrıntı düzeyi farklı amaçlara hizmet eder:
- Paragraflar: Belge yapısı analizi ve toplu metin çıkartma için en iyisi
- Satırlar: Okuma düzenini koruma ve tablolu verileri işleme için kullanışlı
- Kelime: Arama işlevleri ve metin analizi için ideal
- Karakterler: Yazım denetimi ve ince metin düzenleme uygulamaları için mükemmel
IronOCR Barkod ve QR Kodlarını Okuyabilir mi?
Evet, IronOCR barkodları ve QR kodlarını okuyabilir. IronOCR, IronBarcode kadar sağlam bir özellik olmayabilir, ancak yaygın BARCODE türleri için destek sağlar. BARCODE algılamayı etkinleştirmek için Configuration.ReadBarCodes özelliğini true olarak ayarlayın. Bu entegre işlevsellik, IronOCR'u metin ve barkodları içeren belgeleri işlerken mükemmel bir seçim haline getirir, örneğin faturalar, sevkiyat etiketleri veya ürün katalogları.
Ek olarak, algılanan BARCODE'lerden format, değer, koordinatlar (x, y), yükseklik, genişlik ve konum gibi değerli bilgiler IronSoftware.Drawing.Rectangle nesnesi olarak çıkarılabilir. Rectangle sınıfı IronDrawing içinde, belgede kesin konumlandırma sağlar.
Daha ileri barkod okuma senaryoları için, belgelerimizdeki kapsamlı barkod okuma örneklerine göz atın.
:path=/static-assets/ocr/content-code-examples/how-to/read-results-barcodes.cs
using IronOcr;
using System;
using static IronOcr.OcrResult;
// Instantiate IronTesseract
IronTesseract ocrTesseract = new IronTesseract();
// Enable barcodes detection
ocrTesseract.Configuration.ReadBarCodes = true;
// Add image
using OcrInput ocrInput = new OcrInput();
ocrInput.LoadPdf("sample.pdf");
// Perform OCR
OcrResult ocrResult = ocrTesseract.Read(ocrInput);
// Output information to console
foreach(var barcode in ocrResult.Barcodes)
{
Console.WriteLine("Format = " + barcode.Format);
Console.WriteLine("Value = " + barcode.Value);
Console.WriteLine("X = " + barcode.X);
Console.WriteLine("Y = " + barcode.Y);
}
Console.WriteLine(ocrResult.Text);
Imports IronOcr
Imports System
Imports IronOcr.OcrResult
' Instantiate IronTesseract
Private ocrTesseract As New IronTesseract()
' Enable barcodes detection
ocrTesseract.Configuration.ReadBarCodes = True
' Add image
Using ocrInput As New OcrInput()
ocrInput.LoadPdf("sample.pdf")
' Perform OCR
Dim ocrResult As OcrResult = ocrTesseract.Read(ocrInput)
' Output information to console
For Each barcode In ocrResult.Barcodes
Console.WriteLine("Format = " & barcode.Format)
Console.WriteLine("Value = " & barcode.Value)
Console.WriteLine("X = " & barcode.X)
Console.WriteLine("Y = " & barcode.Y)
Next barcode
Console.WriteLine(ocrResult.Text)
End Using
Barkod Algılama Çıktısı Nasıl Görünür?
IronOCR'deki barkod algılama özelliği, metin çıkarma ile sorunsuz şekilde entegre olur, metin içeriği ve barkod verilerini içeren birleşik sonuçlar sağlar. Bu çift yetenek, her iki tür bilgiyi de çıkarmanın ve ilişkilendirmenin gerektiği otomatik belge işleme iş akışları için değerlidir.
Çıktı, IronOCR'un birden fazla barkod türünü eşzamanlı olarak algılama yeteneğini gösteriyor; her bir algılanan kod için format tanımlama (Örneğin: QRCode veya EAN8), çözülmüş değerler ve hassas koordinat bilgilerini sağlıyor. Bu kapsamlı veriler, karışık içerik türlerini verimli bir şekilde ele alabilen sofistike belge işleme uygulamaları oluşturmanıza olanak tanır.
Sıkça Sorulan Sorular
OcrResult nesnesi hangi bilgileri içeriyor?
IronOCR'un OcrResult nesnesi, çıkarılan metin artı hassas X/Y koordinatlarını, boyutları (genişlik ve yükseklik), metin yönünü (Sol'dan Sağa veya Üst'ten Alt'a) ve algılanan her öğe için paragraflar, satırlar, kelimeler ve bireysel karakterler olarak organize edilmiş hiyerarşik yapıyı içerir.
OCR sonucundan hızlıca ilk kelimeyi nasıl çıkartabilirim?
IronOCR'un Read metodunu ve Words koleksiyonunu kullanarak ilk kelimenin metnini çıkarabilirsiniz: `string wordText = new IronTesseract().Read("file.jpg").Words[0].Text;`. Bu, OCR sonuçlarına ait bireysel kelime öğelerine anında erişim sağlar.
OCR sonuçlarında hangi koordinat verileri mevcut?
IronOCR, algılanan her öğe (paragraflar, satırlar, kelimeler ve karakterler) için hassas X ve Y koordinatları sağlar, ayrıca genişlik ve yükseklik boyutları da mevcut. Bu koordinat verileri, metin öğelerinin konum izlemeyi hassas bir şekilde sağlayan CropRectangle nesnesi aracılığıyla erişilebilir durumda.
Sadece metin içeriği dışında metadata çıkarabilir miyim?
Evet, IronOCR, PDF ve görüntü belgelerinde keşfedilen sayfalar, paragraflar, satırlar, kelimeler, karakterler ve hatta barkodlar dahil kapsamlı metadata çıkarır. OcrResult nesnesi, her öğe için metin yönüne, hiyerarşik yapıya ve mekansal bilgiye erişim sağlar.
Hangi belge türleri OCR sonuçları için işlenebilir?
IronOCR, taranmış belgeler, fotoğraflar, ekran görüntüleri, PDF'ler ve görüntü dosyaları dahil çeşitli belge türlerini işleyebilir. Read metodu, bu formatlar arasında tutarlı bir şekilde çalışır ve tam metadata ile aynı yapılandırılmış OcrResult nesnesini döndürür.
Çıkarılan metin sonuçlarda nasıl organize edilir?
IronOCR, doğal belge organizasyon yapısını yansıtan bir hiyerarşik yapıda çıkarılan metni organize eder. OcrResult nesnesi, uygulamanız için uygun düzeyde metinle çalışmayı kolaylaştıran, tüm sayfalardan bireysel karakterlere kadar farklı granülasyon düzeylerinde içeriği sunar.
IronOCR mevcut uygulamalara entegre edilebilir mi?
IronOCR, C# kullanarak mevcut uygulamalara kolayca entegre edecek şekilde tasarlanmıştır, bu sayede geliştiriciler, yazılımlarına minimal çabayla OCR işlevselliği ekleyebilir.
IronOCR'yi belge yönetimi için kullanmanın faydaları nelerdir?
IronOCR'yi belge yönetimi için kullanmak, taranmış belgeleri aranabilir ve düzenlenebilir metne dönüştürerek iş akışını hızlandırır, manuel veri giriş ihtiyacını azaltır ve belge erişilebilirliğini artırır.
IronOCR veri doğruluğunu nasıl artırabilir?
IronOCR, gelişmiş tanıma algoritmaları ve görüntü düzeltme özellikleriyle veri doğruluğunu artırır, böylece metin çıkarım sürecinin hem güvenilir hem de kesin olmasını sağlar.
IronOCR için ücretsiz bir deneme mevcut mu?
Evet, Iron Software, IronOCR'nin özelliklerini ve yeteneklerini, bir satın alma kararı vermeden önce test edebilmek için ücretsiz bir deneme sunar.

