C# İle IronOCR Kullanarak Okuma Sonuçları Nasıl Çıkarılır

This article was translated from English: Does it need improvement?
Translated
View the article in English

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.

  1. IronOCR aşağıdaki NuGet Paket Yöneticisi ile yükleyin

    PM > Install-Package IronOcr
  2. Bu kod parçacığını kopyalayın ve çalıştırın.

    string wordText = new IronTesseract().Read("file.jpg").Kelimes[0].Text;
  3. Canlı ortamınızda test için dağıtım yapın

    Ücretsiz deneme ile bugün projenizde IronOCR kullanmaya başlayın

    arrow pointer

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}")
$vbLabelText   $csharpLabel
Japonca iş belgesinden koordinatlar ve metin ile OCR çıkartma sonuçlarını gösteren Visual Studio hata ayıklayıcı

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
$vbLabelText   $csharpLabel

Çıktı

Masayoshi Son ve Yasumitsu Shigeta hakkında çıkarılan metni içeren OCR paragraf algılama sonuçlarını gösteren terminal

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
$vbLabelText   $csharpLabel

Çıktı

OCR tespit edilen paragraf koordinatları ile X,Y değerlerini: (29,30), (28,74) ve (27,362) gösteren terminal çıktısı

Çı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.

Japon teknoloji girişimcileri Masayoshi Son ve Yasumitsu Shigeta'nın biyografik profillerinin vurgulandığı yer
Japon teknolojisi yöneticileri Masayoshi Son ve Yasumitsu Shigeta'nın profillerini gösteren kırmızı vurgulu belge
Teknoloji yatırımları hakkında bir paragrafta seçilen kelimelerin üzerine kırmızı kutular çizen metin vurgulama özelliği
Tek tek karakter sınırlarını OCR sonuçlarında gösteren karakter düzeyinde metin algılama

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
$vbLabelText   $csharpLabel

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.

QR kodu ve EAN8 barkod algılama sonuçları ile formatlar, değerler ve koordinatları gösteren hata ayıklama konsolu

Çı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.

Curtis Chau
Teknik Yazar

Curtis Chau, Bilgisayar Bilimleri alanında Lisans Derecesine (Carleton Üniversitesi) sahip ve Node.js, TypeScript, JavaScript ve React konularında uzmanlaşmış ön uç geliştirmeyle ilgileniyor. Sezgisel ve estetik açıdan hoş kullanıcı arayüzleri oluşturma tutkunu, Curtis modern çerçevelerle çalışmayı ve iyi yapı...

Daha Fazla Oku
Başlamaya Hazır mısınız?
Nuget İndirmeler 5,896,332 | Sürüm: 2026.5 just released
Still Scrolling Icon

Hâlâ Kaydırıyor Musunuz?

Hızlıca kanıt ister misiniz? PM > Install-Package IronOcr
örnek çalıştır görüntünüzün aranabilir metin haline gelmesini izleyin.