C# Kullanarak OCR'de DPI Nasıl Ayarlanır

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

Daha iyi OCR doğruluğu için düşük çözünürlüklü görüntüleri yükseltmek üzere IronOCR'nin OcrInput öğesindeki TargetDPI özelliğini ayarlayın. Bu yapılandırma, çözünürlüğü 100 DPI kadar düşük olsa bile bulanık veya pikselli belgelerde metin tanımayı önemli ölçüde iyileştirebilir.

İnç Başına Nokta (DPI), görüntü kalitesini ölçer ve taranan belgeler ya da dijital fotoğraflardaki detay seviyesini belirler. Belgeleri taramak hızlı ve verimli olsa da, bu işlem genellikle düşük çözünürlüklü dosyalarla sonuçlanır, özellikle varsayılan veya hızlı tarama ayarları kullanıldığında. Bu ayrıntı eksikliği, metni bulanık veya pikselli göstererek veri çıkarımı için engeller oluşturmaktadır.

OCR performansı, görüntü kalitesine bağlıdır. OCR motorları, karakter şekillerini ve desenlerini analiz ederek bunları makine tarafından okunabilir metne dönüştürür. Bir görselin DPI değeri düşük olduğunda, her harfi net bir şekilde tanımlamak için yeterli piksel bulunmadığından, ince detaylar kaybolur ve bu da yanlış sonuçlara yol açar. Taranmış belgeler veya eski dijitalleştirme sistemleri ile çalışan geliştiriciler için DPI optimizasyonunu anlamak, güvenilir metin çıkarımı için çok önemlidir.

IronOCR bu zorlukları etkili bir şekilde yönetir. 225 DPI kadar düşük çözünürlüklere sahip taramalarda yüksek doğruluk oranı elde eder. Kütüphanenin görüntü ön işleme yetenekleri, çeşitli görüntü kalitesi sorunlarını otomatik olarak tespit eder ve telafi eder, bu da onu çeşitli kaynaklardan gelen belgeleri işlemek için uygun hale getirir. İster tek satır kodla basit OCR uygulayın ister karmaşık belge işleme hatları oluşturun, DPI optimizasyonu kritik bir faktör olmaya devam eder.

Hızlı Başlangıç: Daha Keskin OCR Sonuçlar için Hedef DPI Ayarlayın

IronOCR ile düşük çözünürlüklü resimleri tek bir satırda ölçekleyerek metin netliğini ve tanımını minimum çabayla iyileştirin.

  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.

    var result = new IronOcr.IronTesseract().Read(new IronOcr.OcrInput { TargetDPI = 300 }.LoadImage("low-res.png"));
  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

Daha İyi OCR Sonuçları İçin DPI Nasıl Ayarlanır?

Bu örnekte, TargetDPI özelliğinin etkinliğini göstermek için yaklaşık 100 DPI düşük çözünürlüklü bir örnek görüntü kullanılmış ve yapay gürültü eklenmiştir. DPI ayarlarını nasıl yapılandıracağınızı anlamak, görüntü ön işleme üzerinde kapsamlı kontrol sağlayan OcrInput sınıfı ile çalışırken önemlidir.

Görüntüdeki gerçek metin: "Testing testing testing blurry text example example example".

Düşük çözünürlüklü 100 DPI örneği, bulanık ve pikselleşmiş metinle zayıf OCR giriş kalitesini gösteriyor

Görüntü DPI'sını Yükseltmek İçin Hangi Koda İhtiyacım Var?

Bu örnekte, görüntü çözünürlüğünü yükseltmek için TargetDPI değerini 300 olarak ayarlayacağız. Ardından giriş görüntüsünü yükleyeceğiz ve çıkarılan metni Text ile, güven düzeyini ise Confidence ile PRINT edeceğiz. Optimal DPI ayarı genellikle kullanım durumunuza ve kaynak materyalin kalitesine bağlı olarak 250-400 DPI arasında değişir. Birden fazla görüntü filtresini içeren ileri düzey senaryolar için OCR görüntü optimizasyon filtreleri rehberimize başvurun.

:path=/static-assets/ocr/content-code-examples/how-to/dpi-setting.cs
using IronOcr;
using System;

var ocrTesseract = new IronTesseract();

using var ocrInput = new OcrInput();
// Set the target DPI to 300 for better OCR accuracy
ocrInput.TargetDPI = 300;

ocrInput.LoadImage(@"images\image.png");

// Perform OCR on the image with the specified DPI
var ocrResult = ocrTesseract.Read(ocrInput);
// Display the text extracted from the image
Console.WriteLine(ocrResult.Text);
// Display the confidence level of the OCR result
Console.WriteLine(ocrResult.Confidence);
Imports IronOcr
Imports System

Dim ocrTesseract As New IronTesseract()

Using ocrInput As New OcrInput()
    ' Set the target DPI to 300 for better OCR accuracy
    ocrInput.TargetDPI = 300

    ocrInput.LoadImage("images\image.png")

    ' Perform OCR on the image with the specified DPI
    Dim ocrResult = ocrTesseract.Read(ocrInput)
    ' Display the text extracted from the image
    Console.WriteLine(ocrResult.Text)
    ' Display the confidence level of the OCR result
    Console.WriteLine(ocrResult.Confidence)
End Using
$vbLabelText   $csharpLabel

Yükseltilmiş DPI ile Ne Tür Sonuçlar Bekleyebilirim?

OCR sonuçlarını gösteren hata ayıklama konsolu: DPI optimizasyonundan sonra %85 güven puanıyla çıkarılan metin

Çıktı, IronOCR'nin %85 güven puanı elde ettiğini gösteriyor. Önemli derecede gürültü ve kaynak görüntünün düşük başlangıç DPI'sına rağmen, sonuç doğrudur ve büyütme özelliğinin etkinliğini göstermektedir. Bu doğruluk seviyesi, düşük kaliteli girdilerle zorlanan geleneksel OCR çözümlerini aşar. Daha yüksek doğruluk gerektiren uygulamalar için, ilerleme takibi uygulamayı düşünün; bu sayede gerçek zamanlı olarak güven seviyelerini izleyebilir ve ayarları dinamik olarak ayarlayabilirsiniz.

IronOCR, düşük çözünürlüklü görüntüleri tek bir kütüphane içinde ölçeklendirerek otomatik olarak geliştiren yerleşik yetenekler içerir. Bu yaklaşım, dış görüntü işleme araçlarına olan ihtiyacı ortadan kaldırarak iş akışınızı sadeleştirir ve bağımlılıkları azaltır. Geliştiriciler için Windows üzerinde IronOCR ile başlangıç yaparken, bu özellik ek bir yapılandırma gerektirmeden hemen çalışır.

DPI Ayarı OCR Doğruluğunu Nasıl Etkiler?

Farkı göstermek için, TargetDPI özelliğini ayarlamadan aynı düşük çözünürlüklü görüntüyü işleme sonucunu burada görebilirsiniz. Bu karşılaştırma, güvenilir metin çıkarımı için uygun DPI yapılandırmasının neden önemli olduğunu göstermektedir.

Doğru DPI'yi bulmak denge gerektirir. Yüksek DPI daha fazla doğruluk sağlar ancak daha yavaş işlem yapar; düşük DPI daha hızlıdır ancak daha az güvenilirdir. Şüpheye düştüğünüzde, IronTesseract'nin otomatik ön işleme özelliğinin en uygun ayarları belirlemesine izin verin. TargetDPI özelliğini 0 olarak ayarlayarak otomatik yükseltmeyi devre dışı bırakabilirsiniz. Özel uygulamalar için Tesseract görüntü DPI optimizasyonu kılavuzumuzu inceleyin.

DPI Yükseltme Olmadan Ne Olur?

Hata ayıklama konsolu, kötü OCR sonuçlarını gösteriyor: %79 güven ile bozuk metin, düşük DPI çıkarma kalitesini gösteriyor.

Yükseltme olmadan, güven puanı %79'a düşer ve çıkarılan metin önemli ölçüde daha az doğru olur. Bu karşılaştırma, TargetDPI ayarının düşük kaliteli görüntülerde OCR sonuçlarını nasıl iyileştirdiğini göstermektedir. Tablolar, formlar veya çok sütunlu düzenler içeren karmaşık belgelerle uğraşırken fark daha belirgin hale gelir.

PDF Belgeleri için DPI Nasıl Ayarlanır?

Bir PDF işlenirken, IronOCR belgeyi sadece içindeki görselleri değil, tamamını hedef DPI'a kadar yükseltir. Bu kapsamlı yaklaşım, belgenin tamamında tutarlı kaliteyi sağlar, ki bu iş uygulamalarında PDF OCR metin çıkarma için önemlidir. Gelişmiş PDF işleme için, arama yapılabilir PDF'lerle çalışmak gibi, doğru DPI yapılandırması daha da kritik hale gelir.

Daha yüksek DPI genellikle daha iyi OCR sonuçlarına yol açsa da, en uygun ayar PDF'ler arasında değişiklik gösterir. Eğer hangi değeri kullanacağınızdan emin değilseniz, DPI ayarını varsayılan olarak bırakın ve IronOCR'un en iyi yapılandırmayı otomatik olarak belirlemesine izin verin. Kütüphanenin algoritmaları, font boyutu, görüntü kalitesi ve içerik yoğunluğu gibi belge özelliklerini analiz ederek uygun ön işleme parametrelerini seçer.

// Example: Processing a PDF with custom DPI settings
using IronOcr;

var ocrTesseract = new IronTesseract();

using var ocrInput = new OcrInput();

// Configure DPI specifically for PDF processing
ocrInput.TargetDPI = 250; // Lower DPI often works well for PDFs

// Load a multi-page PDF document
ocrInput.LoadPdf(@"documents\scanned-report.pdf");

// Optional: Process only specific pages
// ocrInput.LoadPdf(@"documents\scanned-report.pdf", PageSelection: new int[] {1, 3, 5});

// Apply additional filters if needed
ocrInput.DeNoise(); // Remove digital noise
ocrInput.Sharpen(); // Enhance text edges

// Perform OCR with confidence tracking
var ocrResult = ocrTesseract.Read(ocrInput);

// Process results page by page
foreach (var page in ocrResult.Pages)
{
    Console.WriteLine($"Page {page.PageNumber}: {page.Confidence}% confidence");
    Console.WriteLine(page.Text);
}
// Example: Processing a PDF with custom DPI settings
using IronOcr;

var ocrTesseract = new IronTesseract();

using var ocrInput = new OcrInput();

// Configure DPI specifically for PDF processing
ocrInput.TargetDPI = 250; // Lower DPI often works well for PDFs

// Load a multi-page PDF document
ocrInput.LoadPdf(@"documents\scanned-report.pdf");

// Optional: Process only specific pages
// ocrInput.LoadPdf(@"documents\scanned-report.pdf", PageSelection: new int[] {1, 3, 5});

// Apply additional filters if needed
ocrInput.DeNoise(); // Remove digital noise
ocrInput.Sharpen(); // Enhance text edges

// Perform OCR with confidence tracking
var ocrResult = ocrTesseract.Read(ocrInput);

// Process results page by page
foreach (var page in ocrResult.Pages)
{
    Console.WriteLine($"Page {page.PageNumber}: {page.Confidence}% confidence");
    Console.WriteLine(page.Text);
}
Imports IronOcr

' Example: Processing a PDF with custom DPI settings
Dim ocrTesseract As New IronTesseract()

Using ocrInput As New OcrInput()
    ' Configure DPI specifically for PDF processing
    ocrInput.TargetDPI = 250 ' Lower DPI often works well for PDFs

    ' Load a multi-page PDF document
    ocrInput.LoadPdf("documents\scanned-report.pdf")

    ' Optional: Process only specific pages
    ' ocrInput.LoadPdf("documents\scanned-report.pdf", PageSelection:=New Integer() {1, 3, 5})

    ' Apply additional filters if needed
    ocrInput.DeNoise() ' Remove digital noise
    ocrInput.Sharpen() ' Enhance text edges

    ' Perform OCR with confidence tracking
    Dim ocrResult = ocrTesseract.Read(ocrInput)

    ' Process results page by page
    For Each page In ocrResult.Pages
        Console.WriteLine($"Page {page.PageNumber}: {page.Confidence}% confidence")
        Console.WriteLine(page.Text)
    Next
End Using
$vbLabelText   $csharpLabel

Uyarı TargetDPI için maksimum değer 32.766'dır. Bu sınırdan daha yüksek bir DPI ayarlanması istisna oluşturur. Bu, elde edilen görüntü boyutlarının Tesseract'ın desteklediği maksimum boyut olan 32.767 x 32.767 pikseli aşmasından kaynaklanır. Sınır aşıldığında, şu hata mesajını alacaksınız: 'TargetDPI is too high and would result in an image too large ({new_width} x {new_height}) for Tesseract. Tesseract için maksimum görüntü boyutu 32767 x 32767

Çok sayıda belge işleyen kurumsal uygulamalar için, dinamik bir DPI ayarlama stratejisi uygulamayı düşünün. Orta bir ayarla başlayın (300 DPI) ve güven skorlarına göre ayarlayın. Bu yaklaşım, farklı belge türleri arasında en iyi performansı sağlayarak işlem hızını doğrulukla dengeler. DPI optimizasyonunu diğer ön işleme teknikleriyle birleştirmek, zorlu belgeler için daha iyi sonuçlar verebilir.

Belirli belge türleri ile çalışırken, DPI gereksinimleri değişebilir. Örneğin, plaka okumak genellikle küçük karakter boyutu ve kamera açılarından kaynaklanan potansiyel görüntü bozulması nedeniyle daha yüksek DPI ayarları gerektirir. Benzer şekilde, MICR çeklerinin işlenmesi, özel MICR yazı tipi karakterlerini doğru bir şekilde yakalamak için belirli DPI yapılandırmalarından faydalanır.

Geliştiriciler web uygulamalarına veya bulut hizmetlerine OCR entegre ederken, DPI optimizasyonu anlamak işlem sürelerini ve sunucu kaynaklarını yönetmek için kritik hale gelir. DPI ayarlarını ince ayar yapabilme yeteneği, belirli uygulama gereksinimleriniz ve altyapı kısıtlamalarınız doğrultusunda doğruluk ve performans arasındaki dengeyi optimize etmenize olanak tanır.

Sıkça Sorulan Sorular

DPI nedir ve OCR doğruluğu için neden önemlidir?

DPI (İnç Başına Nokta), görüntü kalitesini ölçer ve taranan belgelerde detay seviyesini belirler. OCR doğruluğu açısından, daha yüksek DPI daha net karakter tanımları demektir. IronOCR, gelişmiş görüntü ön işleme yetenekleri sayesinde 225 DPI kadar düşük çözünürlüklü görüntülerle yüksek doğruluğu koruyabilir.

Düşük çözünürlüklü görüntülerde OCR sonuçlarını nasıl iyileştirebilirim?

IronOCR'un OcrInput sınıfındaki TargetDPI özelliğini düşük çözünürlüklü görüntüleri ölçeklemek için ayarlayın. Örneğin, TargetDPI'ı 300 olarak ayarlamak, bulanık veya pikselli belgelerde, hatta 100 DPI kadar düşük çözünürlüklerde bile, metin tanımayı önemli ölçüde iyileştirebilir.

C# dilinde OCR için DPI'yi ayarlamanın en hızlı yolu nedir?

IronOCR kullanarak, DPI'yi tek satırda kodla yapılandırabilirsiniz: var result = new IronOcr.IronTesseract().Read(new IronOcr.OcrInput { TargetDPI = 300 }.LoadImage("low-res.png")). Bu, görsel netlik ve tanıma iyileştirmesi için görüntünüzü otomatik olarak ölçeklendirir.

Low-resolution taranmış belgelerde OCR etkili çalışabilir mi?

Evet, IronOCR özellikle düşük çözünürlüklü taranmış belgeleri etkili bir şekilde ele almak için tasarlanmıştır. 225 DPI kadar düşük çözünürlüklerde bile yüksek doğruluk elde eder ve çeşitli kalite sorunlarını algılayan ve telafi eden otomatik görüntü ön işleme özellikleri içerir.

OCR için DPI ayarlarını uygulamanın temel adımları nelerdir?

Süreç beş adımı içerir: 1) IronOCR kütüphanesini indirin, 2) Yeni bir OcrInput nesnesi oluşturun, 3) İstediğiniz değere TargetDPI özelliğini ayarlayın, 4) LoadImage yöntemiyle görüntünüzü yükleyin ve 5) Read yöntemi ile metni çıkarın.

Varsayılan tarama ayarları çoğu zaman neden zayıf OCR performansıyla sonuçlanır?

Varsayılan veya hızlı tarama ayarları, genellikle zaman ve saklama alanı tasarrufu sağlamak için düşük çözünürlüklü dosyalar üretir. Bu, ince detayların kaybolduğu bulanık veya pikselli metinlerle sonuçlanır ve OCR motorlarının karakter şekillerini doğru bir şekilde tanımasını zorlaştırır. IronOCR'un TargetDPI özelliği, bu sınırlamayı aşmaya yardımcı olur.

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.