C# ile Okuma için Görüntü Renklerini Nasıl Düzeltirim | IronOCR

Görüntü Renklerini C#'da Okuma İçin Nasıl Düzeltebilirim

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

IronOCR'nin binarizasyon, gri tonlama, ters çevirme ve renk değiştirme yöntemlerini kullanarak C#'da görüntü renklerini düzeltin ve metin okunabilirliğini ve OCR doğruluğunu artırın. Hedefli çıkarım için belirli metin renklerini okuyun.

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

IronOCR'un SelectTextColor metodunu kullanarak OCR'yi belirli metin renklerine odaklayın—karmaşık görüntü işlemeye gerek yoktur. Bir görüntü yükleyin, metin rengini ve toleransı seçin ve doğru OCR sonuçları için yalnızca o metni çıkarın.

  1. NuGet Paket Yöneticisi ile https://www.nuget.org/packages/IronOcr yükleyin

    PM > Install-Package IronOcr
  2. Bu kod parçasını kopyalayıp ç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 etmek için dağıtın

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

    arrow pointer


Binarizasyon ile OCR'yi Nasıl İyileştirebilirim?

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

Binarizasyon OCR Doğruluğunu Neden Artırır?

Binarize metodunu kullanarak binarizasyon uygulayın. OCR, beyaz arka plan üzerine siyah metin içeren yüksek kontrastlı görüntüler ile en iyi çalışır. Bu yöntem, arka plan ve karakterler arasında net bir ayrım yaratır.

Binarizasyon, düzensiz aydınlatma veya arka plan gürültüsü olan taranan belgelerde mükemmeldir. Algoritma, görüntüleri analiz eder ve ön plan metni arka plandan ayırmak için en uygun eşikleri belirler. Gelişmiş ön işleme teknikleri için, OCR Görüntü İyileştirme Filtreleri kılavuzuna bakın.

Binarizasyon İç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şlem için, binarizasyonu diğer filtrelerle birleştirin. Filtre Sihirbazı resimleriniz için en iyi filtre kombinasyonunu belirlemenize yardımcı olabilir.

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

SaveAsImages metodunu kullanarak değiştirilmiş görüntüleri dışa aktarın. Aşağıda binarizasyon ö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

Okunabilirliği Artırmak İçin Görüntüleri Gri Tonlamaya Nasıl Dönüştürürüm?

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

Gri Tonlama Diğer Yöntemlere Göre Ne Zaman Kullanılmalıdır?

ToGrayScale metodunu kullanarak gri tonlamayı uygulayın. Süreç, R, G ve B değerlerini ortalar.

Gri tonlama, metin tanımayı engelleyen renkli arka planlar veya filigranlar ile iyi çalışır. Binarizasyondan farklı olarak, gri tonlama ince değişikliklerle birlikte görüntülerdeki detayı korur. Yerleşik 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örüntüleri Düzeltme kısmına 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şlem adımlarıyla birleştirin. OcrInput Class belgeleri birden fazla filtresinin zincirleme yapılmasını açıklar.

Gri Tonlama Orijinaliyle 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 Ters Çevirmeliyim?

Renkleri ters çevirmek kontrastı artırır. Siyah arka plan üzerindeki beyaz metni beyaz arka plan üzerindeki siyah metne çevirmek okunabilirliği artırır.

Renk Ters Çevirme Nasıl Uygulanır?

Renkleri ters çevirmek için Invert metodunu kullanın. Renk kanallarını kaldırmak ve gri tonlama döndürmek için boolean bir değer geçirin.

Renk ters çevirme, negatif görüntüler veya koyu temalı ekran görüntüleriyle ilgilenir. Modern uygulamalar, geleneksel OCR'a meydan okuyan koyu mod arabirimlerini kullanır. Bu görüntüleri ters çevirmek en iyi tanımayı sağlar. Farklı görüntü türleri için Hızlı OCR Yapılandırma Kılavuzu kısmı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ürleri ile toplu işlem yapmak için otomatik koyu arka plan algılamayı uygulayın. Bilgisayarla Görü özellikleri, ters çevirme gerektiğini IronOCR'de belirler.

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

Invert metodunu gri tonlama ile ve gri tonlama olmadan 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

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

Belirli renkleri öne çıkarmak veya geri plana atmak için değiştirin. Metnin görünürlüğünü artırmak veya sorunlu kontrastları düzeltmek için kullanın.

Renk Değişiminde Tolerans Neden Önemlidir?

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

Tolerans, piksellerin hedef renginizle ne kadar yakın eşleşmesi gerektiğini belirler. Düşük değerler (0-50) tek tip renkler içindir. Yüksek değerler (100-200) anti-alias edilmiş metin veya sıkıştırma artefaktlarını ele alır. Bu, mürekkep sızması veya kağıt dokusunun varyasyonlar yarattığı taranmış belgelerde yardımcı olur.

Renk Değişimi Nasıl Uygulanır?

: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şimi Senaryoları Nasıl Ele Alınır?

Karmaşık senaryolar için birden fazla değiştirme zinciri:

/* :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 için Görüntü Düzeltme Filtreleri kısmına bakın.

Renk Değişiminin Görsel Sonuçları Nedir?

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 metodunu kullanarak belirli metin renklerini okuyun. Hedef rengi ve toleransı (0-255) belirtin. Tolerans, R, G ve B değerleri için piksel ve seçilen renk arasında izin verilen farklılıkları 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ümleri olan formlar için seçici renk okuması kullanın, vurgulanan metni çıkartın veya belirli uyarı mesajlarını okuyun. Yapılandırılmış veri çıkarımı için ileri işlem için OcrResult Class kısmına bakın.

Renk Seçiminden Ne Tür Bir Çıktı Bekleyebilirim?

OCR sonucu yalnızca turuncu renkli metni okur:

Hata ayıklama konsolu, iş belgesinden OCR'nin MASAYOSHI SON ve YASUMITSU SHIGETA'nun turuncu metnini çıkardığını gösterir

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

IronOCR, filtrelerle veya filtreler olmadan değiştirilmiş PDF'leri kaydeder. SaveAsSearchablePdf metodunun ikinci parametresi filtreler uygulanarak kaydedilip kaydedilmeyeceğini belirtir.

Aranabilir 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

Kayıtlı PDF'ye Ne Zaman Filtre Uygulamalıyım?

Daha temiz, daha okunabilir belgeler oluştururken filtreler uygulayın. Bu, arşivleme amacıyla veya belgeleri farklı cihazlar arasında paylaşırken yardımcı olur. Daha fazla bilgi için OCR ile Aranabilir PDFler Oluşturun kısmına bakın.

Tabloları içeren karmaşık belgeler için, özel çıkarım için Belgede Tablo Oku kısmına bakın. Yüksek hacimli işlem için, çoklu belgeler arasında filtre uygulamasını optimize etmek için Çoklu İş Parçacık Tesseract OCR kısmına bakın.

Sıkça Sorulan Sorular

OCR doğruluğunu etkileyen zayıf görüntü renklerini nasıl düzeltebilirim?

IronOCR, ikili dönüştürme, gri tonlama dönüştürme, ters çevirme ve renk değiştirme dahil olmak üzere çeşitli renk düzeltme yöntemleri saglar. Bu filtreler, metin ve arka plan arasındaki kontrastı artırarak metin okunabilirliğini artırır ve OCR motorunun yetersiz renk kalitesine sahip görüntülerden metni doğru bir şekilde çıkartmasını kolaylaştırır.

İkili dönüştürme nedir ve OCR için ne zaman kullanmalıyım?

İkili dönüştürme, IronOCR'nin Binarize yöntemini kullanarak görüntüleri iki renkli formatta (genellikle siyah ve beyaz) dönüştürür. Öneilen olarak taranmış belgeler için uygulanır çevserlamalaror, ışık koşulları ve arka plan gürültüsüne sahip olduğunda, metin ve arka plan arasında net bir ayrım oluşturur.

Sadece belirli renkli metni bir görüntüden nasıl çıkartırım?

IronOCR'nin SelectTextColor yöntemi, karmaşık görüntü işlemleri olmadan belirli metin renkleri üzerine OCR odaklanmasına izin verir. Hedef rengi ve tolerans seviyesini açıklayın - örneğin, SelectTextColor(new IronSoftware.Drawing.Color("#DB645C"), 60) - yalnızca bu renk aralığında olan metni çıkartmak için.

Görselleri ikili olarak dönüştürmek yerine gri tonlamalıya ne zaman dönüştürmeliyim?

IronOCR'nin ToGrayScale yöntemi renkli arka planlar veya metin tanımını engelleyen filigranlarla karşılaşıldığında kullanılmalıdır. İkili dönüştürmeden farklı olarak, gri tonlama görsellerde hassas detayları korur ve görüntü kalitesini sağlarken görsel karmaşıklığı azaltmak gereken durumlarda ideal bir çözüm sunar.

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

Evet, IronOCR renk düzeltmeleri uygulandıktan sonra değiştirilen görüntüleri dışa aktarmak için SaveAsImages yöntemini sağlar. Bu sayede, sonuçları karşılaştırabilir ve hangi renk düzeltme yöntemlerinin belirli resimlerinize en iyi çalıştığını belirlemenize yardımcı olur.

Resimlerim 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 Filter Wizard aracı içerir. Toplu işlem için, belge türünüze en iyi OCR sonuçlarını elde etmek üzere binarizasyon gibi birden fazla filtreyi diğer ön işleme teknikleriyle birleştirebilirsiniz.

Curtis Chau
Teknik Yazar

Curtis Chau, Bilgisayar Bilimleri alanında lisans derecesine sahiptir (Carleton Üniversitesi) ve Node.js, TypeScript, JavaScript ve React konularında uzmanlaşmış ön uç geliştirme üzerine uzmanlaşmıştır. Kullanıcı dostu ve estetik açıdan hoş arayüzler tasarlamaya tutkuyla bağlı olan Curtis, modern çerç...

Daha Fazlasını Oku
İnceleyen
Jeff Fritz
Jeffrey T. Fritz
Baş Program Yöneticisi - .NET Topluluk Ekibi
Jeff, aynı zamanda .NET ve Visual Studio ekipleri için Baş Program Yöneticisi'dir. Microsoft geliştirici etkinlikleri (Microsoft Build, Microsoft Ignite, .NET Conf, Microsoft MVP Summit) için atölye çalışmaları, sunumlar yazar ve içerik planlar ve haftada iki kez yayınlanan 'Fritz ve Arkadaşları' canlı yayınının ev sahibidir.
Başlamaya Hazır mısınız?
Nuget İndirmeler 5,585,834 | Sürüm: 2026.4 just released
Still Scrolling Icon

Hala Kaydiriyor musunuz?

Hızlı bir kanit mi istiyorsunuz? PM > Install-Package IronOcr
örnekleri çalıştır resminizin aranabilir metne donuşünü izleyin.