Okumak için Görüntü Renklerini Nasıl Düzeltirsiniz? | IronOCR

C# ile Okuma için Görüntü Renklerini Düzeltme

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

Metin okuyabilirliğini ve OCR hassasiyetini artırmak için C# içinde IronOCR'un ikilileştirme, gri tonlama, ters çevirme ve renk değiştirme yöntemlerini kullanarak görüntü renklerini düzeltin. Hedeflenmiş çıkarım için belirli metin renklerini okuyun.

Hızlı Başlangıç: Belirli Metin Renklerini İzole Et

IronOCR'nin SelectTextColor yöntemini kullanarak OCR'yi belirli metin renklerine odaklayın; karmaşık görüntü işleme gerekmez. Bir resmi yükleyin, metin rengini ve toleransını seçin, ve doğru OCR sonuçları için yalnızca o metni çı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.

    new IronTesseract().Read(new IronOcr.OcrImageInput("sample.jpg").SelectTextColor(new IronSoftware.Drawing.Color("#DB645C"), 60));
  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'yi İyileştirmek İçin Bir Görüntüyü Nasıl İkili Hale Getiririm?

Binarizasyon, görüntüleri genellikle siyah-beyaz olan iki renkli formata dönüştürür. Bu işlem, metni arka plandan ayırır ve gürültüyü azaltarak metni daha belirgin ve daha kolay okunabilir hale getirir.

İkili Çevirim Neden OCR Doğruluğunu Artırır?

Binarize yöntemini kullanarak ikilileştirme uygulayın. OCR, siyah metni beyaz arka planlarda içeren yüksek kontrastlı görüntülerle en iyi şekilde çalışır. Bu yöntem, arka plan ve karakterler arasında net bir ayrım yaratır.

İkili hale getirme, düzensiz aydınlatma veya arka plan gürültüsü olan taranmış belgelerde mükemmel sonuç verir. Algoritma, görüntüleri analiz eder ve ön plan metnini arka plandan ayırmak için en uygun eşikleri belirler. Gelişmiş ön işleme teknikleri için OCR Görüntü Optimizasyon Filtreleri kılavuzuna bakınız.

Binarizasyon için Kod Uygulaması Nedir?

:path=/static-assets/ocr/content-code-examples/how-to/image-color-correction-binarize-image.cs
using IronOcr;

// Instantiate IronTesseract
IronTesseract ocrTesseract = new IronTesseract();

// Add image
using var imageInput = new OcrImageInput("sample.jpg");
// Apply binarize affect
imageInput.Binarize();

// Export the modified image
imageInput.SaveAsImages("binarize.jpg");
Imports IronOcr

' Instantiate IronTesseract
Private ocrTesseract As New IronTesseract()

' Add image
Private imageInput = New OcrImageInput("sample.jpg")
' Apply binarize affect
imageInput.Binarize()

' Export the modified image
imageInput.SaveAsImages("binarize.jpg")
$vbLabelText   $csharpLabel

Toplu işleme için binarizasyonu diğer filtrelerle birleştirin. Görüntüleriniz için en iyi filtre kombinasyonunu belirlemek amacıyla Filtre Sihirbazını kullanın.

Sonuçları Nasıl Dışa Aktarabilir ve Karşılaştırabilirim?

SaveAsImages yöntemini kullanarak değiştirilmiş görüntüleri dışa aktarın. Aşağıda ikilikleştirme öncesi ve sonrası görüntüleri karşılaştırın.

Sample image with red and black text on blue-gray background showing OCR challenges before binarization
Binarized version showing clear black text on pure white background for optimal OCR processing

Daha İyi Okuma İçin Görüntüleri Gri Tonlamaya Nasıl Dönüştürürüm?

Resimleri gri tonlamaya dönüştürmek görsel karmaşayı azaltır ve okunabilirliği artırır. Bu, orijinal renkler içeriği dikkat dağıttığında yardımcı olur.

Gri Tonlama Yöntemini Diğer Yöntemler Üzerine Ne Zaman Tercih Etmeliyim?

ToGrayScale yöntemini kullanarak gri tonlama uygulayın. İşlem, R, G ve B değerlerinin ortalamasını alır.

Gri tonlama, metin tanımayı engelleyen renkli arka planlar veya filigranlarla iyi çalışır. İkili hale getirme işleminden farklı olarak, gri tonlama, ince ayrıntılı varyasyonlara sahip görsellerdeki detayları korur. Dahili metin veya karmaşık düzenlere sahip fotoğraflar için kullanın. Düşük kaliteli taramalar için, Düşük Kaliteli Taramaları ve Görselleri Düzeltme bölümüne bakın.

Gri Tonlama Dönüşümü için Basit Kod Nedir?

:path=/static-assets/ocr/content-code-examples/how-to/image-color-correction-grayscale-image.cs
// Apply grayscale affect
imageInput.ToGrayScale();
' Apply grayscale affect
imageInput.ToGrayScale()
$vbLabelText   $csharpLabel

Farklı görüntü kaliteleri için, gri tonlamayı diğer ön işleme adımlarıyla birleştirin. OcrInput Sınıfı belgeleri, birden fazla filtreyi zincirleme işlemini açıklar.

Grayscale Orijinalle Nasıl Karşılaştırılır?

Sample text with red headers and black body text showing multiple colors before grayscale conversion
Grayscale document with clear text about tech executives, demonstrating improved readability after conversion

Görüntü Renklerini Ne Zaman Tersine Çevirmeliyim?

Renkleri ters çevirmek kontrastı artırır. Siyah zemin üzerine beyaz metni beyaz zemin üzerine siyah metne dönüştürmek okunabilirliği iyileştirir.

Renk Ters Çevirmeyi Nasıl Uygularım?

Renkleri tersine çevirmek için Invert yöntemini kullanın. Renk kanallarını kaldırmak ve gri tonlama olarak döndürmek için bir boolean değeri geçirin.

Renk ters çevirme, negatif görüntüleri veya karanlık temalı ekran görüntülerini işler. Modern uygulamalar, geleneksel OCR'yi zorlayan karanlık mod arayüzleri kullanıyor. Bu görüntülerin ters çevrilmesi, optimal tanımayı sağlar. Çeşitli resim türleri için, Hızlı OCR Yapılandırma kılavuzu'na bakın.

:path=/static-assets/ocr/content-code-examples/how-to/image-color-correction-invert-image.cs
// Apply invert affect
imageInput.Invert();
' Apply invert affect
imageInput.Invert()
$vbLabelText   $csharpLabel

Karışık belge türleriyle toplu işlem yaparken, otomatik koyu arka plan algılama uygulayın. Bilgisayar Görü özellikleri, IronOCR'de ne zaman ters çevirme gerektiğini belirler.

Ters Çevirme Seçenekleri Arasındaki Fark Nedir?

Gri tonlamalı ve gri tonlamasız Invert yöntemini karşılaştırın:

Color-inverted document maintaining original color channels with reversed values
Business text with inverted colors showing white text on dark background demonstrating color inversion effect

Bir Görüntüde Belirli Renkleri Nasıl Değiştirebilirim?

Belirli renkleri değiştirerek öğeleri vurgulamak veya önemini azaltmak. Metnin öne çıkmasını sağlamak veya problemli kontrastları düzeltmek için bunu kullanın.

Renk Değiştirmede Tolerans Neden Önemlidir?

ReplaceColor yöntemi, mevcut rengi, yeni rengi ve tolerans değerini gerektirir. Yüksek tolerans, bulanık görüntüleri daha iyi işler.

Tolerans, piksellerin hedef renginize ne kadar yakın olması gerektiğini belirler. Düşük değerler (0-50) tekdüze renkler için uygundur. Daha yüksek değerler (100-200), anti-aliasingli metinleri veya sıkıştırma artefaktlarını işler. Bu, mürekkep sızması veya kağıt dokusu değişiklikler yarattığında taranmış belgelerle yardımcı olur.

Renk Değiştirmeyi Nasıl Uygularım?

:path=/static-assets/ocr/content-code-examples/how-to/image-color-correction-replace-color.cs
using IronOcr;

// Instantiate IronTesseract
IronTesseract ocrTesseract = new IronTesseract();

// Add image
using var imageInput = new OcrImageInput("sample.jpg");
IronSoftware.Drawing.Color currentColor = new IronSoftware.Drawing.Color("#DB645C");
IronSoftware.Drawing.Color newColor = IronSoftware.Drawing.Color.DarkCyan;

// Replace color
imageInput.ReplaceColor(currentColor, newColor, 80);

// Export the modified image
imageInput.SaveAsImages("replaceColor");
Imports IronOcr

' Instantiate IronTesseract
Private ocrTesseract As New IronTesseract()

' Add image
Private imageInput = New OcrImageInput("sample.jpg")
Private currentColor As New IronSoftware.Drawing.Color("#DB645C")
Private newColor As IronSoftware.Drawing.Color = IronSoftware.Drawing.Color.DarkCyan

' Replace color
imageInput.ReplaceColor(currentColor, newColor, 80)

' Export the modified image
imageInput.SaveAsImages("replaceColor")
$vbLabelText   $csharpLabel

Gelişmiş Renk Değiştirme Senaryolarını Nasıl Ele Alabilirim?

Karmaşık senaryolar için birden fazla değişikliği zincirleyin:

/* :path=/static-assets/ocr/content-code-examples/how-to/image-color-correction-multiple-replacements.cs */
// Replace multiple colors in sequence
using var imageInput = new OcrImageInput("multi-color-document.jpg");

// Replace red text with black
imageInput.ReplaceColor(IronSoftware.Drawing.Color.Red, IronSoftware.Drawing.Color.Black, 70);

// Replace blue headers with dark gray
imageInput.ReplaceColor(IronSoftware.Drawing.Color.Blue, IronSoftware.Drawing.Color.DarkGray, 60);

// Replace light yellow background with white
imageInput.ReplaceColor(new IronSoftware.Drawing.Color("#FFFACD"), IronSoftware.Drawing.Color.White, 40);

// Perform OCR on the cleaned image
var result = ocrTesseract.Read(imageInput);
/* :path=/static-assets/ocr/content-code-examples/how-to/image-color-correction-multiple-replacements.cs */
// Replace multiple colors in sequence
using var imageInput = new OcrImageInput("multi-color-document.jpg");

// Replace red text with black
imageInput.ReplaceColor(IronSoftware.Drawing.Color.Red, IronSoftware.Drawing.Color.Black, 70);

// Replace blue headers with dark gray
imageInput.ReplaceColor(IronSoftware.Drawing.Color.Blue, IronSoftware.Drawing.Color.DarkGray, 60);

// Replace light yellow background with white
imageInput.ReplaceColor(new IronSoftware.Drawing.Color("#FFFACD"), IronSoftware.Drawing.Color.White, 40);

// Perform OCR on the cleaned image
var result = ocrTesseract.Read(imageInput);
Imports IronSoftware.Drawing

' Replace multiple colors in sequence
Using imageInput As New OcrImageInput("multi-color-document.jpg")

    ' Replace red text with black
    imageInput.ReplaceColor(Color.Red, Color.Black, 70)

    ' Replace blue headers with dark gray
    imageInput.ReplaceColor(Color.Blue, Color.DarkGray, 60)

    ' Replace light yellow background with white
    imageInput.ReplaceColor(New Color("#FFFACD"), Color.White, 40)

    ' Perform OCR on the cleaned image
    Dim result = ocrTesseract.Read(imageInput)

End Using
$vbLabelText   $csharpLabel

Karmaşık renk değişimleri için, ek ön işleme teknikleri hakkında bilgi almak amacıyla Görüntü Düzeltme Filtreleri sayfasına bakınız.

Renk Değiştirmenin Görsel Sonuçları Nelerdir?

Text sample with orange-red colored names and content on blue background showing original colors before replacement
Document after color replacement showing dark cyan headers replacing original orange-red text

Sadece Belirli Metin Renklerini Nasıl Okurum?

SelectTextColor yöntemini kullanarak belirli metin renklerini okuyun. Hedef rengi ve toleransı belirtin (0-255). Tolerans, R, G ve B değerleri için piksel ile seçilen renk arasındaki kabul edilebilir farkları temsil eder.

Renk Toleransı Sonuçları Nasıl Etkiler?

:path=/static-assets/ocr/content-code-examples/how-to/image-color-correction-select-text-color.cs
using IronOcr;
using System;

// Instantiate IronTesseract
IronTesseract ocrTesseract = new IronTesseract();

// Add image
using var imageInput = new OcrImageInput("sample.jpg");
// Text color to focus on
IronSoftware.Drawing.Color focusColor = new IronSoftware.Drawing.Color("#DB645C");

// Specify which text color to read
imageInput.SelectTextColor(focusColor, 60);

// Perform OCR
OcrResult ocrResult = ocrTesseract.Read(imageInput);

// Output result to console
Console.WriteLine(ocrResult.Text);
Imports IronOcr
Imports System

' Instantiate IronTesseract
Private ocrTesseract As New IronTesseract()

' Add image
Private imageInput = New OcrImageInput("sample.jpg")
' Text color to focus on
Private focusColor As New IronSoftware.Drawing.Color("#DB645C")

' Specify which text color to read
imageInput.SelectTextColor(focusColor, 60)

' Perform OCR
Dim ocrResult As OcrResult = ocrTesseract.Read(imageInput)

' Output result to console
Console.WriteLine(ocrResult.Text)
$vbLabelText   $csharpLabel

Renk kodlu bölümlere sahip formlar için seçici renk okuma kullanarak, vurgulanan metni çıkartabilir veya belirli uyarı mesajlarını okuyabilirsiniz. İleri seviye işlem için yapılandırılmış veri çıkarımı konusunda, OcrResult Class bölümüne bakın.

Renk Seçiminden Hangi Çıktıyı Bekleyebilirim?

OCR sonucu yalnızca turuncu renkteki metni okur:

Hata ayıklama konsolu, iş belgesinden OCR ile çıkarılan turuncu metni gösteriyor: MASAYOSHI SON ve YASUMITSU SHIGETA

Uygulanan Filtrelerle Değiştirilen PDF'leri Nasıl Kaydederim?

IronOCR, filtrelerle veya filtresiz değiştirilen PDF'leri kaydeder. SaveAsSearchablePdf yönteminin ikinci parametresi, filtreler uygulanmış olarak kaydedilip kaydedilmeyeceğini belirtir.

Metin Bazlı PDF'lerin Uygulaması Nedir?

:path=/static-assets/ocr/content-code-examples/how-to/image-quality-correction-searchable-pdf.cs
using IronOcr;

// Create OCR engine: filters are applied at the OcrInput level, so no configuration changes are needed here
var ocr = new IronTesseract();
var ocrInput = new OcrInput();

// Load the scanned PDF as the OCR source
ocrInput.LoadPdf("invoice.pdf");

// Convert to grayscale: removes color noise that can reduce OCR accuracy on color-printed documents
ocrInput.ToGrayScale();
// Run OCR on the preprocessed input
OcrResult result = ocr.Read(ocrInput);

// Write the searchable PDF; true = embed the grayscale-filtered image rather than the original color scan
result.SaveAsSearchablePdf("outputGrayscale.pdf", true);
Imports IronOcr

' Create OCR engine: filters are applied at the OcrInput level, so no configuration changes are needed here
Dim ocr As New IronTesseract()
Dim ocrInput As New OcrInput()

' Load the scanned PDF as the OCR source
ocrInput.LoadPdf("invoice.pdf")

' Convert to grayscale: removes color noise that can reduce OCR accuracy on color-printed documents
ocrInput.ToGrayScale()
' Run OCR on the preprocessed input
Dim result As OcrResult = ocr.Read(ocrInput)

' Write the searchable PDF; True = embed the grayscale-filtered image rather than the original color scan
result.SaveAsSearchablePdf("outputGrayscale.pdf", True)
$vbLabelText   $csharpLabel

Kaydedilen PDF'ye Filtreleri Ne Zaman Uygulamalıyım?

Belgeleri daha temiz ve okunabilir hale getirirken filtreler uygulayın. Bu, arşivleme amaçlarına veya belgeleri farklı cihazlar arasında paylaşmaya yardımcı olur. Daha fazla bilgi için OCR ile Aranabilir PDF'ler Oluşturma sayfasına bakın.

Karmaşık tablolar içeren belgeler için, özel çıkarım için Belgede Tablo Okuma kısmını inceleyin. Yüksek hacimli işleme için, birden fazla belgeye filtre uygulamasını optimize etmek amacıyla Çoklu İşlem Tesseract OCR'ı inceleyin.

Sıkça Sorulan Sorular

Kötü görüntü renkleri, OCR doğruluğunu etkiliyor, nasıl düzeltebilirim?

IronOCR, ikilileştirme, gri tonlama dönüştürmesi, ters çevirme ve renk değiştirme gibi birçok renk düzeltme yöntemlerini sağlar. Bu filtreler, metin ile arka plan arasındaki kontrastı artırarak metin okunabilirliğini artırır ve kötü renk kalitesine sahip görüntülerden metinleri doğru bir şekilde çıkarılması için OCR motorunu kolaylaştırır.

İkilileştirme nedir ve OCR için ne zaman kullanmalıyım?

Binarizasyon, IronOCR'nin Binarize yöntemi ile görüntüleri iki renkli formata (tipik olarak siyah ve beyaz) dönüştürür. Düzensiz aydınlatma veya arka plan gürültüsü olan taranmış belgeler için özellikle etkilidir, çünkü görüntüyü analiz ederek ve ayrım için optimal eşikleri belirleyerek, metin ile arka plan arasında net bir ayrım oluşturur.

Bir görüntüden sadece belirli renkteki metni nasıl ayıklarım?

IronOCR'nun SelectTextColor yöntemi, karmaşık görüntü manipülasyonuna gerek kalmadan belirli metin renklerine odaklanmanıza olanak tanır. Hedef rengi ve tolerans seviyesini belirlemeniz yeterlidir - örneğin, SelectTextColor(new IronSoftware.Drawing.Color("#DB645C"), 60) - sadece o renk aralığındaki metni ayıklamak için.

Görüntüleri ikili yerine gri tonlamalıya dönüştürmeyi ne zaman yapmalıyım?

IronOCR'nun ToGrayScale yöntemini, metin tanıma ile etkileşime geçen renkli arka planlar veya filigranlarla uğraşırken kullanın. İkilileştirmeden farklı olarak, gri tonlama ince varyasyonları içeren görüntülerdeki detayları korur, bu da görüntü kalitesini koruyarak görsel karmaşayı azaltmak istediğinizde idealdir.

Renk filtrelerinin sonuçlarını görmek için düzeltilmiş görüntüleri dışa aktarabilir miyim?

Evet, IronOCR renk düzeltmelerini uyguladıktan sonra değiştirilmiş görüntüleri dışa aktarmak için SaveAsImages yöntemi sağlar. Bu, önceki ve sonraki sonuçları karşılaştırmanıza olanak tanır ve hangi renk düzeltme yöntemlerinin size özgü görüntüler için en iyi çalıştığını belirlemenize yardımcı olur.

Görüntülerim için en iyi renk düzeltme filtresini nasıl belirlerim?

IronOCR, görüntüleriniz için en uygun filtre kombinasyonunu belirlemeye yardımcı olan bir Filtre Sihirbazı aracı içerir. Toplu işlem için, belge türünüz için en iyi OCR sonuçlarını elde etmek amacıyla ikilileştirme gibi birden fazla filtreyi diğer ön işleme teknikleriyle birleştirebilirsiniz.

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
Gözden Geçiren
Jeff Fritz
Jeffrey T. Fritz
Baş Program Yöneticisi - .NET Topluluğu Ekibi
Jeff, .NET ve Visual Studio ekipleri için bir Baş Program Yöneticisidir. .NET Conf sanal konferans serisinin baş yapımcısıdır ve haftada iki kez canlı yayınlanan 'Fritz and Friends' adlı bir akış programı sunar; burada izleyicilerle birlikte teknoloji konuşur ve kod yazar. Jeff, en büyük Microsoft geliştirici etkinlikleri için atölyeler, sunumlar ve içerik planları yazar, Microsoft Build, Microsoft Ignite, .NET Conf ve Microsoft MVP Summit gibi etkinliklerde yer alır.
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.