IRONSOFTWAREHOME

C# Guide: Using IronOCR Image Filters for Better OCR

Curtis Chau
Curtis Chau
Updated: 29 Haziran 2026

IronOCR, ön işleme gerektirebilecek görüntüleri okumak için ihtiyaç duyduğunuz araçları sağlar. Görüntülerinizi işlenebilir hale getirmek için manipüle edebilecek geniş bir filtre yelpazesinden seçim yapabilirsiniz.

Hızlı Başlangıç: OCR Görüntülerini Temizlemek İçin Filtreleri Uygula

Sadece bir basit çağrı zincirinde, OCR'dan önce tarama netliğini artırmak için DeNoise, Binarize ve Deskew filtrelerini uygulayabilirsiniz. Bu örnek, IronOCR'un yerleşik filtrelerini kullanarak görüntüleri nasıl kolayca iyileştirebileceğinizi ve hemen başlayabileceğinizi gösterir.

  1. 1Install IronOCR with NuGet Package Manager

    PM > Install-Package IronOcr

  2. 2Bu kod parçacığını kopyalayın ve çalıştırın.

    using var input = new IronOcr.OcrInput("scan.jpg"); input.DeNoise(true).Binarize().Deskew(45); var result = new IronOcr.IronTesseract().Read(input);
    C#
  3. 3Canlı 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 Görüntü Filtreleri Listesi

Aşağıdaki Görüntü filtreleri performansı gerçekten artırabilir:

  • Filters to change the Image Orientation
    • Rotate - Görüntüleri saat yönünde belirli bir dereceye kadar döndürür. Saat yönünün tersine döndürmek için negatif sayılar kullanın.
    • Deskew - Bir resmi doğru şekilde yukarı çevirir ve dik konuma getirir. Bu, özellikle OCR için çok faydalıdır çünkü Tesseract'ın eğik taramalara toleransı 5 derece kadar düşük olabilir.
    • Scale - OCR giriş sayfalarını orantılı olarak ölçeklendirir.
  • Filters to manipulate Image Colors
    • Binarize - Bu görüntü filtresi, her pikseli siyah veya beyaza çevirir, ara ton yoktur. Bu, çok düşük metin-arka plan kontrastı durumlarında OCR performansını artırabilir.
    • ToGrayScale - Bu görüntü filtresi, her pikseli gri tonlara çevirir. OCR doğruluğunu artırma olasılığı düşük ama hızı artırabilir.
    • Invert - Her rengi tersine çevirir. Örneğin, beyaz siyah olur ve tam tersi.
    • ReplaceColor - Bir görüntüde bir rengi belirli bir eşik dahilinde başka bir renkle değiştirir.
  • Filters to improve Contrast in an Image
    • Contrast - Kontrastı otomatik olarak artırır. Bu filtre genellikle düşük kontrastlı taramalarda OCR hızını ve doğruluğunu artırır.
    • Dilate - Gelişmiş Morfoloji. Dilate görüntüdeki nesnelerin sınırlarına pikseller ekler. Erode'un tersi.
    • Erode - Gelişmiş Morfoloji. Erozyon nesne sınırlarından pikselleri kaldırır. Dilate'un tersi.
  • Filters to reduce Image Noise
    • Sharpen - Bulanık olan OCR belgelerini keskinleştirir ve alfa kanallarını beyaza düzeltir.
    • DeNoise - Dijital gürültüyü giderir. Bu filtrenin yalnızca gürültünün beklenildiği senaryolarda kullanılması önerilir.
    • EnhanceResolution - Düşük kaliteli görüntülerin çözünürlüğünü artırır. Bu filtre genellikle gerekli değildir çünkü OcrInput.MinimumDPI ve OcrInput.TargetDPI düşük çözünürlüklü girişleri otomatik olarak yakalar ve çözer.

Filtre Örneği ve Kullanımı

Aşağıdaki örnekte kodunuzda filtreleri nasıl uygulayabileceğinizi gösteriyoruz.

using IronOcr;
using System;

var ocr = new IronTesseract();
using var input = new OcrInput();
input.LoadImage("my_image.png");
input.Deskew();

var result = ocr.Read(input);
Console.WriteLine(result.Text);

Hata Ayıklama Filtresi / Filtre ne yapıyor?

Programınızda görüntü veya barkod okuma ile ilgili zorluk yaşıyorsanız, filtrelenmiş sonucun bir görüntüsünü kaydetmenin bir yolu vardır. Bu şekilde, her filtrenin ne yaptığını ve görüntünüzü nasıl manipüle ettiğini hata ayıklayarak görebilirsiniz.

using IronOcr;
using System;

var file = "skewed_image.tiff";
var ocr = new IronTesseract();
using var input = new OcrInput();
var pageindices = new int[] { 1, 2 };
input.LoadImageFrames(file, pageindices);
// Here we apply the filter: Deskew
input.Deskew();

// Save the input with filter(s) applied
input.SaveAsImages("my_deskewed");

// We read, then print the text to the console
var result = ocr.Read(input);
Console.WriteLine(result.Text);

Filtre Kullanım Durumları

Döndür

API Referansı

Filtre Açıklaması

Döndür, bir görüntüye elle belirli bir dönüş ayarlamak için kullanılan bir filtredir. IronOCR, Deskew() çalıştırma işlevselliğine sahiptir, ancak bunun için tolerans derecesi oldukça sınırlıdır ve yaklaşık 15 derece kadar neredeyse mükemmel düz olan görüntüler için en iyi biçimde kullanılır. 90 derece yanlış veya ters çevrilmiş giriş görüntüleri için, Rotate() çağırmalıyız.

Kullanım Durumu Kod Örneği

Ters çevrilmiş bir görüntüyü düzeltmek için Rotate() çağrı örneği:

using IronOcr;
using System;

var image = "screenshot.png";
var ocr = new IronTesseract();
using var input = new OcrInput();
// Load at least one image
input.LoadImage(image);

// Rotate 180 degrees because image is upside-down
input.Rotate(180);

// Read image into variable: result
var result = ocr.Read(input);

// Example print to console
Console.WriteLine(result.Text);
Önce Input.Rotate(180)Sonra Input.Rotate(180)

Kayma

API Referansı

Filtre Açıklaması

Bir görüntüyü belirli tolerans dereceleri dahilinde düzleştirmeye çalışmak için Hough Dönüşümü kullanır. Bu, tam olarak düz olmayan belgeler önemlidir çünkü eğik bir belge yanlış okunabilir.

Lütfen dikkate alın: Bu yöntem bir boole döndürür, filtre uygulanmışsa true ve görüntü yönü tespit edilemediği için uygulanamamışsa false döner. Sayfada yönü tanımlamak için içerik yoksa başarısız olacaktır.

Kullanım Durumu Kod Örneği

Eğilmiş bir görüntüyü düzeltmek için Deskew() çağrı örneği:

using IronOcr;
using System;

var image = @"paragraph_skewed.png";
var ocr = new IronTesseract();
using var input = new OcrInput();
// Load at least one image
input.LoadImage(image);

// Apply deskew with 15 degree snap
bool didDeskew = input.Deskew(15);
if (didDeskew)
{
    // Read image into variable: result
    var result = ocr.Read(input);
    Console.WriteLine(result.Text);
}
else
{
    Console.WriteLine("Deskew not applied because Image Orientation could not be determined.");
}

Ölçek

API Referansı

Filtre Açıklaması

Ölçek, mevcut pikselleri kullanarak bir görüntüyü yeniden boyutlandırmaya yardımcı olan faydalı bir görüntü manipülasyon filtresidir. Bu, bir barkod tarandığında kullanılır çünkü görüntü sadece birkaç piksel genişliğinde olup, her çubuk bir piksel genişliğindedir ya da yazı metni çok küçük olup antialiasing yoktur.

Lütfen dikkate alın: Barkodlar iyi okunduğunda 1000px x 1000px barkod boyutları için bir tatlı nokta vardır; bu, barkodunuz bulunmuyorsa dikkate alınmalıdır.

Kullanım Durumu Kod Örneği

Barkodlardaki çubuklar arasındaki boşlukları tarayıcı için genişletmek için Scale() çağrı örneği:

using IronOcr;
using System;

var image = @"small_barcode.png";
var ocr = new IronTesseract();

// Optional: This example uses a barcode
ocr.Configuration.ReadBarCodes = true;

using var input = new OcrInput();
// Load at least one image
input.LoadImage(image);

// Apply scale
input.Scale(400); // 400% is 4 times larger

// Read image into variable: result
var result = ocr.Read(input);

// Example print to console
Console.WriteLine(result.Text);

Binari

API Referansı

Filtre Açıklaması

Binari filtresi, bir adaptif algoritmaya bağlı olarak bir görüntüdeki tüm pikselleri ya siyah ya da beyaz olarak sınıflandırır. Bu, tüm renkleri kaldırır ve arka planı düz beyaz hale getirir, metin olarak tanınan her şeyin tamamen siyah renkte olduğu kolay okuma sağlar.

Kullanım Durumu Kod Örneği

Renkli metni hizalamak, arka plan renklerini ve gürültüyü kaldırmak için Binarize() çağrı örneği:

using IronOcr;
using System;

var image = @"no-binarize.jpg";
var ocr = new IronTesseract();

using var input = new OcrInput();
// Load at least one image
input.LoadImage(image);

// Apply Binarize
input.Binarize();

// Read image into variable: result
var result = ocr.Read(input);

// Example print to console
Console.WriteLine(result.Text);
Önce Binarize()Sonra Binarize()

Çevir

API Referansı

Filtre Açıklaması

IronOCR en iyi, görüntü black text on a white background olduğunda okur. Invert filtresi, bir görüntüdeki tüm renkleri tersine çevirerek bunu başarmak için kullanılır.

Kullanım Durumu Kod Örneği

Siyah üzerine beyazı beyaz üzerine siyah yapmak için Invert() çağrı örneği:

using IronOcr;
using System;

var image = @"before-invert.png";
var ocr = new IronTesseract();

using var input = new OcrInput();
// Load at least one image
input.LoadImage(image);

// Apply Invert
input.Invert(true);

// Read image into variable: result
var result = ocr.Read(input);

// Example print to console
Console.WriteLine(result.Text);
BeforeAfter

Sıkça Sorulan Sorular

Görüntü filtreleri C# dilinde OCR doğruluğunu nasıl artırır?

IronOCR'daki görüntü filtreleri, OCR doğruluğunu artırarak, görüntü kalitesini yükseltmek için ön işlem yapar. Binarize ve Kontrast gibi filtreler, renkler ve kontrastı ayarlayarak okunabilirliği artırır, Döndür ve Eğiklik Düzeltme ise görüntü yönünü düzeltir.

Görüntü yönlendirme sorunlarını düzeltmek için hangi filtreler mevcuttur?

IronOCR, görüntü yönlendirme sorunlarını düzeltmek için Döndür ve Eğiklik Düzeltme filtreleri sağlar. Döndür, görüntü açılarını manuel olarak ayarlamanıza olanak tanırken, Eğiklik Düzeltme hafifçe eğik olan görüntüleri otomatik olarak düzeltir.

Binarize filtresi, görüntü ön işlemeyi nasıl etkiler?

IronOCR'daki Binarize filtresi, görüntü piksellerini siyah-beyaz renklere dönüştürerek arka plan renklerini kaldırır ve metin görünürlüğünü artırır, özellikle düşük kontrast koşullarında OCR doğruluğunu iyileştirir.

Gürültü azaltma filtrelerini ne zaman kullanmak uygundur?

Keskinleştir ve Gürültü Azalt gibi gürültü azaltma filtreleri, görüntülerde dijital gürültü olduğunda kullanılmalıdır. Bu filtreler görüntüyü temizleyerek metni daha net hale getirir ve IronOCR'da daha iyi OCR sonuçları elde edilmesini sağlar.

Görüntü çözünürlüğünü artırmak OCR performansını etkileyebilir mi?

Evet, Çözünürlüğü Artır filtresini kullanmak, düşük kaliteli görüntülerin çözünürlüğünü artırarak OCR performansını iyileştirebilir. IronOCR'un varsayılan MinimumDPI ve TargetDPI ayarları genellikle yeterli olsa da, gerekirse ilave çözünürlük artırma sağlayabilir.

Renk manipülasyon filtreleri OCR'da ne rol oynar?

IronOCR'daki İnvert, ToGrayScale ve Binarize gibi renk manipülasyon filtreleri, metin okunabilirliğini artırmak için görüntü renklerini ayarlar. İnvert, renk şemalarını değiştirir, ToGrayScale, görüntüleri gri tonlamalıya dönüştürür ve Binarize, görüntüleri siyah-beyaz hale getirir.

Kontrast filtresi ve Keskinleştirme filtresi arasındaki fark nedir?

IronOCR'daki Kontrast filtresi, açık ve koyu alanlar arasındaki farkı artırarak metnin netliğini artırırken, Keskinleştirme filtresi, metni daha belirgin hale getirmek için kenarları güçlendirir ve her ikisi de daha iyi bir OCR tanımını destekler.

IronOCR'da filtrelenmiş görüntüleri nasıl kaydeder ve hata ayıklarsınız?

Filtre uygulandıktan sonra SaveAsImages fonksiyonunu kullanarak IronOCR'da filtrelenmiş görüntüleri kaydetmek ve hatalarını gidermek mümkündür. Bu, filtre etkilerini görselleştirmenize ve ön işleme adımlarının görüntü kalitesini OCR için geliştirdiğinden emin olmanıza yardımcı olur.

IronOCR'da mevcut gelişmiş morfoloji filtreleri nelerdir?

IronOCR, Büyüt ve Aşındır gibi gelişmiş morfoloji filtreleri sunar. Büyüt, özellikleri artırmak için nesne sınırlarına piksel eklerken, Aşındır bunları kaldırır ve her ikisi de OCR doğruluğunu artırmak için görüntü ayrıntılarını netleştirmek amacıyla kullanılır.

How do the Dilate and Erode filters function in IronOCR?

Dilate and Erode are advanced morphology filters. Dilate adds pixels to object boundaries, while Erode removes them. These filters can be used to refine image details and enhance OCR results depending on specific image characteristics.

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ılandırılmış, görsel olarak çekici kılavuzlar oluşturmayı seviyor.

...
Daha Fazla Oku

Başlamaya Hazır mısınız?

Nuget Downloads 6,236,385Sürüm:2026.9yeni yayınlandı

Ücretsiz 30 Günlük Deneme Anahtarınızı anında alın.
Kredi kartı veya hesap oluşturma gerektirmez
PDF için C# NuGet Kütüphanesi
NuGet ile yükleyin

Sürüm: 2026.9

PM > Install-Package IronOcr
nuget.org/packages/IronOcr/
  1. Çözüm Gezgini'nde Referanslar'a sağ tıklayın, NuGet Paketlerini Yönet
  2. "IronOCR" aratıp seçin
  3. Paketi seçin ve yükleyin
C# PDF DLL
DLL İndir

Sürüm: 2026.9

veya buradan Windows Yükleyicisini indirin.

  1. IronOCR'u ~/Libs gibi bir yere indirip sıkıştırmasını açın, Çözüm dizininizde
  2. Visual Studio Çözüm Gezgini'nde, Referanslar'a sağ tıklayın. Gözat'ı seçin, "IronOCR.dll"

$999'dan itibaren lisanslar

Key in blue circle

Ücretsiz 30 günlük Deneme Anahtarınızı anında edinin.

Your trial license will be sent to your email address

Herhangi bir sınırlama yoktur. %100 erişim. Kredi kartı gerekmez.

bullet_checkedKredi kartı veya hesap oluşturma gerektirmezHerhangi bir sınırlama yoktur. %100 erişim. Kredi kartı gerekmez.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Bağımsız Danışmanlık Alın
Aşağıdaki formu doldurun veya sales@ironsoftware.com adresine e-posta gönderin
Bilgileriniz daima gizli kalacaktır.
Dünya Çapında Milyonlarca Mühendisin Güvendiği
Iron Software müşteri logoları
Ücretsiz 30 Günlük Deneme Anahtarınızı anında alın.
Kredi kartı veya hesap oluşturma gerektirmez