IronOCR ile C##'da Metinleri Görüntü Olarak Vurgulayın
IronOCR'nin HighlightTextAndSaveAsImages yöntemi, algılanan metinlerin (karakterler, kelimeler, satırlar veya paragraflar) etrafına sınırlayıcı kutular çizerek OCR sonuçlarını görselleştirir ve bunları tanılama görüntüleri olarak kaydeder; böylece geliştiriciler OCR doğruluğunu doğrulayabilir ve tanıma sorunlarını giderebilir.
OCR sonuçlarını görselleştirmek, motorun görüntüde algıladığı belirli metin öğeleri etrafında kenarlık kutuları oluşturmayı içerir. Bu işlem, bireysel karakterlerin, kelimelerin, satırların veya paragrafların tam konumları üzerine farklı vurgular yerleştirir ve tanınan içeriğin net bir haritasını sağlar.
Bu görsel geri bildirim, OCR çıktısı doğruluğunu doğrulamak ve yazılımın neyi tanımladığını ve hataları nerede yaptığını gösteren hata ayıklama için kritik öneme sahiptir. Karmaşık belgelerle çalışırken veya tanıma sorunlarını giderirken, görsel vurgulama önemli bir teşhis aracı haline gelir.
Bu makale, HighlightTextAndSaveAsImages yöntemiyle IronOCR'nin tanılama yeteneklerini göstermektedir. Bu işlev, belirli metin bölümlerini vurgular ve doğrulama için bunları görüntü olarak kaydeder. Bir belge işleme sistemi kuruyorsanız, kalite kontrol önlemleri uyguluyorsanız veya OCR uygulamanızı doğruluyorsanız, bu özellik OCR motorunun algıladığı hakkında anında görsel geri bildirim sağlar.
Başlangıç Yapın: Metinlerinizi PDF'nizde Hızla Vurgulayın
Bu kod parçacığı IronOCR kullanımını gösterir: bir PDF yükleyin ve içindeki her kelimeyi vurgulayın, sonucu görüntüler olarak kaydedin. OCR sonuçlarınız hakkında görsel geri bildirim almak için sadece bir satır.
-
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.
new IronOcr.OcrInput().LoadPdf("document.pdf").HighlightTextAndSaveAsImages(new IronOcr.IronTesseract(), "highlight_page_", IronOcr.ResultHighlightType.Word); -
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)
- Sayfa dönüşünü algılamak için bir C# kütüphanesi indirin
- OCR motorunu başlatın
- PDF belgesini
LoadPdfile yükleyin HighlightTextAndSaveAsImageskullanarak metin bölümlerini vurgulayın ve bunları görüntü olarak kaydedin
Metni Vurgulayıp Görüntü Olarak Kaydetmek Nasıl Yapılır?
Metni vurgulamak ve görüntü olarak kaydetmek IronOCR ile basittir. LoadPdf ile mevcut bir PDF'yi yükleyin, ardından HighlightTextByType yöntemini çağırarak metin bölümlerini vurgulayın ve bunları görüntü olarak kaydedin. Bu teknik, OCR doğruluğunu doğrular ve belgelerinizde metin tanıma sorunlarını ayıklar.
Yöntem üç parametre alır: IronTesseract OCR motoru, çıktı dosya adı için bir önek ve vurgulanacak metin türünü belirleyen ResultHighlightType'den bir enum. Bu örnekte, metin bloklarını paragraf olarak vurgulamak için ResultHighlightType.Paragraph kullanılmıştır. HighlightTextAndSaveAsImages
Bu örnek, üç paragraf içeren bir PDF kullanır.
Giriş PDF'si Nasıl Görünüyor?
Vurgulama Kodunu Nasıl Uygularım?
Aşağıdaki örnek kod, OcrInput sınıfı kullanılarak temel uygulamayı gösterir.
:path=/static-assets/ocr/content-code-examples/how-to/highlight-texts-as-images.cs
using IronOcr;
IronTesseract ocrTesseract = new IronTesseract();
using var ocrInput = new OcrInput();
ocrInput.LoadPdf("document.pdf");
ocrInput.HighlightTextAndSaveAsImages(ocrTesseract, "highlight_page_", ResultHighlightType.Paragraph);
Imports IronOcr
Private ocrTesseract As New IronTesseract()
Private ocrInput = New OcrInput()
ocrInput.LoadPdf("document.pdf")
ocrInput.HighlightTextAndSaveAsImages(ocrTesseract, "highlight_page_", ResultHighlightType.Paragraph)
Çıktı Görüntüleri Ne Gösteriyor?
Yukarıdaki çıktı görüntüsünde gösterildiği gibi, tüm üç paragraf açık kırmızı bir kutu ile vurgulanmıştır. Bu görsel temsil, geliştiricilerin OCR motorunun belgeyi nasıl okunabilir bloklara ayırdığını hızla belirlemesine yardımcı olur.
Farklı ResultHighlightType Seçenekleri Nedir?
Yukarıdaki örnekte metin bloklarını vurgulamak için ResultHighlightType.Paragraph kullanılmıştır. IronOCR, bu enum aracılığıyla ek vurgulama seçenekleri sunar. Aşağıda her biri farklı teşhis amaçlarına hizmet eden mevcut türlerin tam bir listesi bulunmaktadır.
Karakter: OCR motoru tarafından algılanan her bir karakterin etrafında bir çerçeve çizer. Özellikle özel dil dosyaları ile çalışırken karakter tanıma veya özel yazı tiplerini ayıklamak için faydalıdır.
Kelime: Motor tarafından tanımlanan her bir tam kelimeyi vurgular. Özellikle barkod ve QR okuma ile birlikte metin tanıması uygularken kelime sınırlarını ve doğru kelime tespiti doğrulamak için idealdir.
Satır: Algılanan her metin satırını vurgular. Satır tanımlama doğrulaması gerektiren karmaşık düzenlere sahip belgeler için kullanışlıdır, örn. tarama belgeleri işlenirken.
Paragraf: Paragraflar olarak gruplanmış tüm metin bloklarını vurgular. Belge düzenini anlamak ve metin blok segmentasyonunu doğrulamak için mükemmeldir, özellikle tablo çıkartma ile çalışırken faydalıdır.
Farklı Vurgulama Türlerini Nasıl Karşılaştırabilirim?
Bu kapsamlı örnek, aynı belgede tüm farklı türler için vurguların oluşturulmasını gösterir, böylece sonuçları karşılaştırabilirsiniz:
using IronOcr;
using System;
// Initialize the OCR engine with custom configuration
IronTesseract ocrTesseract = new IronTesseract();
// Configure for better accuracy if needed
ocrTesseract.Configuration.ReadBarCodes = false; // Disable if not needed for performance
ocrTesseract.Configuration.PageSegmentationMode = TesseractPageSegmentationMode.AutoOsd;
// Load the PDF document
using var ocrInput = new OcrInput();
ocrInput.LoadPdf("document.pdf");
// Generate highlights for each type
Console.WriteLine("Generating character-level highlights...");
ocrInput.HighlightTextAndSaveAsImages(ocrTesseract, "highlight_character_", ResultHighlightType.Character);
Console.WriteLine("Generating word-level highlights...");
ocrInput.HighlightTextAndSaveAsImages(ocrTesseract, "highlight_word_", ResultHighlightType.Word);
Console.WriteLine("Generating line-level highlights...");
ocrInput.HighlightTextAndSaveAsImages(ocrTesseract, "highlight_line_", ResultHighlightType.Line);
Console.WriteLine("Generating paragraph-level highlights...");
ocrInput.HighlightTextAndSaveAsImages(ocrTesseract, "highlight_paragraph_", ResultHighlightType.Paragraph);
Console.WriteLine("All highlight images have been generated successfully!");
using IronOcr;
using System;
// Initialize the OCR engine with custom configuration
IronTesseract ocrTesseract = new IronTesseract();
// Configure for better accuracy if needed
ocrTesseract.Configuration.ReadBarCodes = false; // Disable if not needed for performance
ocrTesseract.Configuration.PageSegmentationMode = TesseractPageSegmentationMode.AutoOsd;
// Load the PDF document
using var ocrInput = new OcrInput();
ocrInput.LoadPdf("document.pdf");
// Generate highlights for each type
Console.WriteLine("Generating character-level highlights...");
ocrInput.HighlightTextAndSaveAsImages(ocrTesseract, "highlight_character_", ResultHighlightType.Character);
Console.WriteLine("Generating word-level highlights...");
ocrInput.HighlightTextAndSaveAsImages(ocrTesseract, "highlight_word_", ResultHighlightType.Word);
Console.WriteLine("Generating line-level highlights...");
ocrInput.HighlightTextAndSaveAsImages(ocrTesseract, "highlight_line_", ResultHighlightType.Line);
Console.WriteLine("Generating paragraph-level highlights...");
ocrInput.HighlightTextAndSaveAsImages(ocrTesseract, "highlight_paragraph_", ResultHighlightType.Paragraph);
Console.WriteLine("All highlight images have been generated successfully!");
Imports IronOcr
Imports System
' Initialize the OCR engine with custom configuration
Dim ocrTesseract As New IronTesseract()
' Configure for better accuracy if needed
ocrTesseract.Configuration.ReadBarCodes = False ' Disable if not needed for performance
ocrTesseract.Configuration.PageSegmentationMode = TesseractPageSegmentationMode.AutoOsd
' Load the PDF document
Using ocrInput As New OcrInput()
ocrInput.LoadPdf("document.pdf")
' Generate highlights for each type
Console.WriteLine("Generating character-level highlights...")
ocrInput.HighlightTextAndSaveAsImages(ocrTesseract, "highlight_character_", ResultHighlightType.Character)
Console.WriteLine("Generating word-level highlights...")
ocrInput.HighlightTextAndSaveAsImages(ocrTesseract, "highlight_word_", ResultHighlightType.Word)
Console.WriteLine("Generating line-level highlights...")
ocrInput.HighlightTextAndSaveAsImages(ocrTesseract, "highlight_line_", ResultHighlightType.Line)
Console.WriteLine("Generating paragraph-level highlights...")
ocrInput.HighlightTextAndSaveAsImages(ocrTesseract, "highlight_paragraph_", ResultHighlightType.Paragraph)
End Using
Console.WriteLine("All highlight images have been generated successfully!")
Çok Sayfalı Belgeleri Nasıl İşlerim?
Çok sayfalı PDF'leri veya çok çerçeveli TIFF dosyalarını işlerken, vurgulama özelliği her sayfayı ayrı ayrı otomatik olarak yönetir. Bu, PDF OCR metin çıkartma iş akışları uyguladığınızda özellikle kullanışlıdır:
using IronOcr;
using System.IO;
IronTesseract ocrTesseract = new IronTesseract();
// Load a multi-page document
using var ocrInput = new OcrInput();
ocrInput.LoadPdf("multi-page-document.pdf");
// Create output directory if it doesn't exist
string outputDir = "highlighted_pages";
Directory.CreateDirectory(outputDir);
// Generate highlights for each page
// Files will be named: highlighted_pages/page_0.png, page_1.png, etc.
ocrInput.HighlightTextAndSaveAsImages(ocrTesseract,
Path.Combine(outputDir, "page_"),
ResultHighlightType.Word);
// Count generated files for verification
int pageCount = Directory.GetFiles(outputDir, "page_*.png").Length;
Console.WriteLine($"Generated {pageCount} highlighted page images");
using IronOcr;
using System.IO;
IronTesseract ocrTesseract = new IronTesseract();
// Load a multi-page document
using var ocrInput = new OcrInput();
ocrInput.LoadPdf("multi-page-document.pdf");
// Create output directory if it doesn't exist
string outputDir = "highlighted_pages";
Directory.CreateDirectory(outputDir);
// Generate highlights for each page
// Files will be named: highlighted_pages/page_0.png, page_1.png, etc.
ocrInput.HighlightTextAndSaveAsImages(ocrTesseract,
Path.Combine(outputDir, "page_"),
ResultHighlightType.Word);
// Count generated files for verification
int pageCount = Directory.GetFiles(outputDir, "page_*.png").Length;
Console.WriteLine($"Generated {pageCount} highlighted page images");
Imports IronOcr
Imports System.IO
Dim ocrTesseract As New IronTesseract()
' Load a multi-page document
Using ocrInput As New OcrInput()
ocrInput.LoadPdf("multi-page-document.pdf")
' Create output directory if it doesn't exist
Dim outputDir As String = "highlighted_pages"
Directory.CreateDirectory(outputDir)
' Generate highlights for each page
' Files will be named: highlighted_pages/page_0.png, page_1.png, etc.
ocrInput.HighlightTextAndSaveAsImages(ocrTesseract,
Path.Combine(outputDir, "page_"),
ResultHighlightType.Word)
' Count generated files for verification
Dim pageCount As Integer = Directory.GetFiles(outputDir, "page_*.png").Length
Console.WriteLine($"Generated {pageCount} highlighted page images")
End Using
Performans için En İyi Uygulamalar Nedir?
Vurgulama özelliğini kullanırken bu en iyi uygulamaları göz önünde bulundurun:
-
Dosya Boyutu: Vurgulanan görüntüler, özellikle yüksek çözünürlüklü belgeler için büyük olabilir. Büyük partileri işlerken çıkış dizininin kullanılabilir alanını dikkate alın. Optimizasyon ipuçları için hızlı OCR yapılandırma rehberimize bakın.
-
Performans: Vurguların oluşturulması işlem yükü ekler. Üretim sistemlerinde vurguların sadece ara sıra gerekli olduğu durumlarda, bunları ana iş akışının bir parçası yerine ayrı bir teşhis işlemi olarak uygulayın. Toplu işlem için çok iş parçacıklı OCR kullanmayı düşünün.
- Hata Ayıklama: Dosya işlemleriyle çalışırken her zaman uygun hata ayıklama uygulayın:
try
{
using var ocrInput = new OcrInput();
ocrInput.LoadPdf("document.pdf");
// Apply image filters if needed for better recognition
ocrInput.Deskew(); // Correct slight rotations
ocrInput.DeNoise(); // Remove background noise
ocrInput.HighlightTextAndSaveAsImages(ocrTesseract, "highlight_", ResultHighlightType.Word);
}
catch (Exception ex)
{
Console.WriteLine($"Error during highlighting: {ex.Message}");
// Log error details for debugging
}
try
{
using var ocrInput = new OcrInput();
ocrInput.LoadPdf("document.pdf");
// Apply image filters if needed for better recognition
ocrInput.Deskew(); // Correct slight rotations
ocrInput.DeNoise(); // Remove background noise
ocrInput.HighlightTextAndSaveAsImages(ocrTesseract, "highlight_", ResultHighlightType.Word);
}
catch (Exception ex)
{
Console.WriteLine($"Error during highlighting: {ex.Message}");
// Log error details for debugging
}
Imports System
Try
Using ocrInput As New OcrInput()
ocrInput.LoadPdf("document.pdf")
' Apply image filters if needed for better recognition
ocrInput.Deskew() ' Correct slight rotations
ocrInput.DeNoise() ' Remove background noise
ocrInput.HighlightTextAndSaveAsImages(ocrTesseract, "highlight_", ResultHighlightType.Word)
End Using
Catch ex As Exception
Console.WriteLine($"Error during highlighting: {ex.Message}")
' Log error details for debugging
End Try
Vurgulama OCR Sonuçlarıyla Nasıl Entegre Olur?
Vurgulama özelliği, IronOCR'nin sonuç nesneleri ile sorunsuz bir şekilde çalışır, böylece görsel vurguları çıkarılan metin verileriyle ilişkilendirmenize olanak tanır. Bu, tanınan metnin belirli bölümlerini track OCR progress veya doğrulamanız gerektiğinde özellikle yararlıdır. OcrResult sınıfı, bu yöntem tarafından oluşturulan görsel vurgularla doğrudan karşılık gelen, algılanan her bir öğe hakkında ayrıntılı bilgi sağlar.
Problemlerle Karşılaşırsam Ne Yapmalıyım?
Vurgulama özelliğiyle ilgili sorun yaşıyorsa, yaygın çözümler için genel sorun giderme rehberine başvurun. Özellikle vurgulamayla ilgili sorunlar için:
- Boş çıktı resimleri: Girdi belgesinin okunabilir metin içerdiğinden ve OCR motorunun belge türünüz için uygun şekilde yapılandırıldığından emin olun. Tanıma kalitesini artırmak için görüntü optimizasyon filtreleri veya
fixing image orientationuygulamanız gerekebilir. - Eksik vurgular: Bazı belge türleri belirli bir ön işlem gerektirebilir. Tanıma kalitesini artırmak için görüntü filtreleri veya
fixing image orientationkullanmayı deneyin. - Performans sorunları: Büyük belgeler için, işlem hızını artırmak amacıyla
multithreadinguygulamasını kullanmayı düşünün. Ayrıca, düşük kaliteli girdilerle çalışıyorsanız, düşük kaliteli taramaları düzeltme rehberimizi inceleyin.
Bunu Üretim Hata Ayıklaması İçin Nasıl Kullanabilirim?
Vurgulama özelliği, mükemmel bir üretim hata ayıklama aracı olarak hizmet eder. Uzun süren işlemler için iptal tokenleri ve zaman aşımları ile entegre edildiğinde güçlü bir teşhis sistemi oluşturabilirsiniz. Uygulamanızda bir hata ayıklama modu uygulamayı düşünün:
public class OcrDebugger
{
private readonly IronTesseract _tesseract;
private readonly bool _debugMode;
public OcrDebugger(bool enableDebugMode = false)
{
_tesseract = new IronTesseract();
_debugMode = enableDebugMode;
}
public OcrResult ProcessDocument(string filePath)
{
using var input = new OcrInput();
input.LoadPdf(filePath);
// Apply preprocessing
input.Deskew();
input.DeNoise();
// Generate debug highlights if in debug mode
if (_debugMode)
{
string debugPath = $"debug_{Path.GetFileNameWithoutExtension(filePath)}_";
input.HighlightTextAndSaveAsImages(_tesseract, debugPath, ResultHighlightType.Word);
}
// Perform actual OCR
return _tesseract.Read(input);
}
}
public class OcrDebugger
{
private readonly IronTesseract _tesseract;
private readonly bool _debugMode;
public OcrDebugger(bool enableDebugMode = false)
{
_tesseract = new IronTesseract();
_debugMode = enableDebugMode;
}
public OcrResult ProcessDocument(string filePath)
{
using var input = new OcrInput();
input.LoadPdf(filePath);
// Apply preprocessing
input.Deskew();
input.DeNoise();
// Generate debug highlights if in debug mode
if (_debugMode)
{
string debugPath = $"debug_{Path.GetFileNameWithoutExtension(filePath)}_";
input.HighlightTextAndSaveAsImages(_tesseract, debugPath, ResultHighlightType.Word);
}
// Perform actual OCR
return _tesseract.Read(input);
}
}
Imports System.IO
Public Class OcrDebugger
Private ReadOnly _tesseract As IronTesseract
Private ReadOnly _debugMode As Boolean
Public Sub New(Optional enableDebugMode As Boolean = False)
_tesseract = New IronTesseract()
_debugMode = enableDebugMode
End Sub
Public Function ProcessDocument(filePath As String) As OcrResult
Using input As New OcrInput()
input.LoadPdf(filePath)
' Apply preprocessing
input.Deskew()
input.DeNoise()
' Generate debug highlights if in debug mode
If _debugMode Then
Dim debugPath As String = $"debug_{Path.GetFileNameWithoutExtension(filePath)}_"
input.HighlightTextAndSaveAsImages(_tesseract, debugPath, ResultHighlightType.Word)
End If
' Perform actual OCR
Return _tesseract.Read(input)
End Using
End Function
End Class
Bir Sonraki İstikamet Neresi?
Artık vurgulama özelliğini nasıl kullanacağınızı anladığınıza göre, keşfedin:
- OCR sonuçlarınızdan arama yapılabilir PDF'ler oluşturun
- Pasaportlar veya lisanslar gibi belirli belge türlerini okuma
- başlangıç rehberlerimizle IronOCR'yi geliştirme ortamınıza kurun
- Küresel uygulamalar için 125 uluslararası dil desteği uygula
- Görüntü işlemini optimize etmek için Filtre Sihirbazını kullanın
Üretim kullanımı için, filigranları kaldırmak ve tam işlevselliğe erişmek üzere bir lisans edinin unutmayın.
Sıkça Sorulan Sorular
C# uygulamamda OCR sonuçlarını nasıl görselleştirebilirim?
IronOCR, tespit edilen metin öğeleri (karakterler, kelimeler, satırlar ve paragraflar) etrafına kenarlık çizgileri çizerek ve bunları tanılama görüntüleri olarak kaydederek OCR sonuçlarını görselleştiren HighlightTextAndSaveAsImages yöntemini sağlar. Bu özellik, geliştiricilerin OCR doğruluğunu doğrulamasına ve tanıma sorunlarını hata ayıklamasına yardımcı olur.
Bir PDF belgesindeki kelimeleri en basit şekilde nasıl vurgularım?
IronOCR ile sadece bir satır kodla bir PDF'deki kelimeleri vurgulayabilirsiniz: new IronOcr.OcrInput().LoadPdf("document.pdf").HighlightTextAndSaveAsImages(new IronOcr.IronTesseract(), "highlight_page_", IronOcr.ResultHighlightType.Word). Bu, PDF'yi yükler ve vurgulanan kelimelerle birlikte görüntüler oluşturur.
HighlightTextAndSaveAsImages yöntemi hangi parametreleri gerektirir?
IronOCR içinde HighlightTextAndSaveAsImages yöntemi üç parametre gerektirir: IronTesseract OCR motoru örneği, çıktı dosya adı ön eki için bir dize ve hangi metin öğelerinin vurgulanacağını belirten bir ResultHighlightType enum değeri (Karakter, Kelime, Satır veya Paragraf).
Metin vurgulama kullanılırken çıktı görüntüleri nasıl adlandırılır?
IronOCR otomatik olarak belirtilen ön ek ile bir sayfa tanımlayıcıyı birleştirerek çıktı görüntülerini adlandırır. Örneğin, "highlight_page_" ön eki kullanılırsa, yöntem belge içindeki her sayfa için "highlight_page_0", "highlight_page_1", vb. gibi adlandırılmış dosyalar oluşturur.
OCR geliştirme için görsel vurgulamanın önemi nedir?
IronOCR'dakı görsel vurgulama, OCR motorunun tam olarak hangi metni tespit ettiğini ve olası hataların nerede oluştuğunu göstererek kapsamlı tanılama geri bildirimi sağlar. Bu görsel harita, geliştiricilerin tanıma sorunlarını çözmesine, OCR doğruluğunu doğrulamasına ve karmaşık belgelerde problemlerin üstesinden gelmesine yardımcı olur.
Kelime dışında farklı metin öğelerini de vurgulayabilir miyim?
Evet, IronOCR'nun ResultHighlightType enum'u, bireysel Karakterler, Kelimeler, Satırlar veya tüm Paragraflar dahil olmak üzere çeşitli metin öğelerini vurgulamanıza olanak tanır. HighlightTextAndSaveAsImages yöntemini çağırırken istenen türü belirtmeniz yeterlidir.
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.

