# C# Görüntü Düzeltme Filtreleri ile OCR Okuma İyileştirme
IronOCR, beş temel görüntü düzeltme filtresi (`sharpen`, `enhance resolution`, `denoise`, `dilate` ve `erode`) sağlar. Bu filtreler, metin netliğini artırarak ve metin çıkarımı öncesi gürültüyü azaltarak OCR doğruluğunu önemli ölçüde iyileştirmek için görüntüleri önceden işler.
*as-heading:2(Hızlı Başlangıç: Net Metin için Keskinleştirme Filtresini Uygulayın)*
Bulanık bir görüntüyü tek bir kod satırı ile keskinleştirmek için IronOCR'nin `OcrImageInput` kullanın. Bu örnek, doğru OCR için görüntü geliştirmeyi göstermektedir.
```cs
:title=Fix Blurry Text Instantly
new IronOcr.OcrImageInput("sample.png").Sharpen().SaveAsImages("output.png");
```
<div class="hsg-featured-snippet">
<h3>Asgari İş Akışı (5 adım)</h3>
<ol>
<li><a class="js-modal-open" data-modal-id="trial-license-after-download" href="https://nuget.org/packages/IronOcr/">Filtreler kullanarak görüntü düzeltme için C# kütüphanesi indirin</a></li>
<li>PDF belgesini ve okumak için görselleri içe aktarın</li>
<li>Keskinleştirme, çözünürlüğü artırma, parazit giderme, genişletme ve aşındırma gibi istenilen filtreleri uygulayın</li>
<li>Düzeltilmiş resmi görüntülemek için dışa aktarın</li>
<li><code>Okuma</code> yöntemini OCR işlemesi için kullanın</li>
</ol>
</div>
<br class="clear" />
## Keskinleştirme Filtresini Nasıl Uygularım?
Bu filtre, resimdeki kenarlar boyunca kontrastı artırarak daha belirgin metin sınırları oluşturur. Metin netliğini artırır, karakter tanıma işlemini daha doğru hale getirir.
### Keskinleştirme Neden OCR Doğruluğunu Artırır?
Keskinleştirme filtresi, kenar kontrastını artırarak metin ile arka plan arasındaki sınırları vurgular. Karakter tanıma algoritmaları, düzgün ve net harf şekillerine ihtiyaç duyar. Tarama belgeleri veya düşük kaliteli fotoğraflarda yaygın olarak görülen bulanık metin, yumuşak kenarları nedeniyle OCR motorlarının karakter sınırlarını yanlış tanımlamasına yol açar. OCR için optimal görüntü işleme hakkında daha fazla bilgi edinmek için, [OCR Görüntü Optimizasyon Filtreleri](https://ironsoftware.com/csharp/ocr/examples/ocr-image-filters-for-net-tesseract/) konulu kapsamlı rehberimize göz atın.
Keskinleşme filtresini uygulamak için `OcrImageInput` nesnesinin `Sharpen` metodunu çağırın:
```csharp
using IronOcr;
// Instantiate IronTesseract
IronTesseract ocrTesseract = new IronTesseract();
// Add image
using var imageInput = new OcrImageInput("sample.jpg");
// Apply sharpen filter
imageInput.Sharpen();
// Export filtered image
imageInput.SaveAsImages("sharpen.jpg");
```
### Keskinleştirme Filtresini Ne Zaman Kullanmalıyım?
Odak dışı kalmış hafif görüntülerde, yumuşak metin kenarlarına sahip tarama belgelerinde veya zayıf aydınlatmada çekilen fotoğraflarda keskinleştirmeyi kullanın. Net metni aşırı keskinleştirmekten kaçının, çünkü bu durum artifaktlar ekler ve doğruluğu azaltır. Aşırı bulanık taramalar için, keskinleştirmeyi diğer filtrelerle birleştirin veya [Düşük Kalite Taramalarını ve Görüntüleri Düzeltme](https://ironsoftware.com/csharp/ocr/examples/ocr-low-quality-scans-tesseract/) kılavuzumuza bakın.
Filtrelenmiş görüntüleri `SaveAsImages` metodu kullanarak dışa aktarın. Aşağıda 'öncesi ve sonrası' karşılaştırması bulunmaktadır.
<div class="competitors-section__wrapper-even-1">
<div class="competitors__card" style="width: 48%;">
<img src="/static-assets/ocr/how-to/image-quality-correction/sample.jpg" alt="Blurred text sample showing business article content before applying sharpen filter" class="img-responsive add-shadow" />
<p class="competitors__download-link" style="color: #181818; font-style: italic;">Önce</p>
</div>
<div class="competitors__card" style="width: 48%;">
<img src="/static-assets/ocr/how-to/image-quality-correction/sharpen_0.webp" alt="İyileştirilmiş kenar tanımını ve karakter netliğini gösteren keskinleştirme filtresi uygulaması sonrası metin örneği" class="img-responsive add-shadow" />
<p class="competitors__download-link" style="color: #181818; font-style: italic;">Sonra</p>
</div>
</div>
<hr />
## OCR için Çözünürlüğü Nasıl Artırırım?
Bu filtre, piksel yoğunluğunu artırarak keskinliği ve netliği iyileştirir. Düşük çözünürlüklü görüntülerdeki metinleri daha doğru okuyabilmeleri için OCR motorlarına yardımcı olur.
### OCR için Hangi DPI Hedeflenmelidir?
OCR motorları en iyi 300 DPI (inch başına nokta) üzerinde çalışır. Düşük çözünürlükler, karakter yanlış tanımasına neden olur; Daha yüksek çözünürlükler, doğruluğu artırmadan işlemeyi yavaşlatır. IronOCR'un geliştirme filtresi, görüntüleri optimal DPI seviyelerine akıllıca ölçeklendirir. Ayrıntılı rehber için, [DPI Ayarları rehberimize](https://ironsoftware.com/csharp/ocr/how-to/dpi-setting/) bakın.
Bu filtreyi uygulamak için `EnhanceResolution` metodunu çağırın. Varsayılan hedef 225 DPI'dır:
```csharp
using IronOcr;
// Create OCR input
var imageInput = new OcrImageInput("low-res-scan.jpg");
// Apply enhance resolution filter with default 225 DPI
imageInput.EnhanceResolution();
// Or specify a custom DPI
imageInput.EnhanceResolution(300);
// Combine with OCR reading
var ocr = new IronTesseract();
var result = ocr.Read(imageInput);
Console.WriteLine($"Extracted text: {result.Text}");
```
### Çözünürlük Artırımı Ne Zaman Önemlidir?
Çözünürlük artırımı şu durumlarda kritik öneme sahiptir:
- Ekran çözünürlüğünde (72-96 DPI) yakalanan ekran görüntüleri
- İnternetten indirilen web görüntüleri
- Düşük çözünürlükte taranmış tarihi belgeler
- Doğal olarak düşük çözünürlükte olan faks iletileri
[OCR Tesseract Görüntü DPI örneği](https://ironsoftware.com/csharp/ocr/examples/ocr-image-dpi-for-tesseract/), DPI'nin belgenin türüne göre doğruluğu nasıl etkilediğine dair içgörüler sağlar.
<div class="competitors-section__wrapper-even-1">
<div class="competitors__card" style="width: 48%;">
<img src="/static-assets/ocr/how-to/image-quality-correction/sample.jpg" alt="Low-resolution text sample showing blurry, pixelated business article requiring OCR enhancement" class="img-responsive add-shadow" />
<p class="competitors__download-link" style="color: #181818; font-style: italic;">Önce</p>
</div>
<div class="competitors__card" style="width: 48%;">
<img src="/static-assets/ocr/how-to/image-quality-correction/enhanceResolution_0.webp" alt="Daha iyi OCR doğruluğu için DPI iyileştirmesinden sonra daha net karakterleri gösteren çözünürlüğü artırılmış metin" class="img-responsive add-shadow" />
<p class="competitors__download-link" style="color: #181818; font-style: italic;">Sonra</p>
</div>
</div>
<hr />
## Görüntülerden Parazit Nasıl Giderilir?
Parazit giderici filtreler, görüntülerde istenmeyen artifaktları azaltır. Parazit azaltma, metni arka plan paraziti etkisinden ayırarak daha temiz ve daha kesin OCR sonuçları üretir.
### 2x2 ve 3x3 Morfoloji Arasındaki Fark Nedir?
Morfoloji boyutu, parazit giderme gücünü belirler. 2x2 morfoloji, ince metni koruyarak minimal artifaktlar için nazik bir parazit azaltma uygular. 3x3 morfoloji, çok aşınmış belgeler için ciddi parazit giderme sağlar ancak çok küçük metni etkileyebilir.
Gürültü giderme filtresini uygulamak için `DeNoise` metodunu kullanın. Varsayılan morfoloji 2x2'dir. 3x3 morfoloji için 'true' parametresini geçin:
```csharp
using IronOcr;
// Load noisy document
var imageInput = new OcrImageInput("noisy-scan.pdf");
// Apply denoise filter with default 2x2 morphology
imageInput.DeNoise();
// Apply stronger denoising with 3x3 morphology
imageInput.DeNoise(true);
// Combine with other filters for severely degraded images
imageInput.DeNoise()
.Sharpen()
.EnhanceResolution(300);
// Process with OCR
var ocr = new IronTesseract();
var result = ocr.Read(imageInput);
// Check confidence levels
foreach (var page in result.Pages)
{
Console.WriteLine($"Page confidence: {page.Confidence}%");
}
```
### Görüntülerimin Parazit Gidermeye İhtiyacı Olduğunu Nasıl Anlarım?
Bu parazit göstergelerine bakın:
- Arka planda rastgele lekeler veya noktalar
- Zayıf tarama sonucunda tuz ve biber paraziti
- Yüksek ISO fotoğrafçılığından granülarite
- Geri dönüşümlü kağıttan gelen arka plan dokusu
Otomatik parazit tespiti için, [Filtre Sihirbazımızı](https://ironsoftware.com/csharp/ocr/examples/filter-wizard/) keşfedin.
<div class="competitors-section__wrapper-even-1">
<div class="competitors__card" style="width: 48%;">
<img src="/static-assets/ocr/how-to/image-quality-correction/sample.jpg" alt="Japon teknoloji yöneticileri hakkındaki metni bozan beneklerle ve artefaktlarla dolu gürültülü taranmış belge" class="img-responsive add-shadow" />
<p class="competitors__download-link" style="color: #181818; font-style: italic;">Önce</p>
</div>
<div class="competitors__card" style="width: 48%;">
<img src="/static-assets/ocr/how-to/image-quality-correction/denoise_0.webp" alt="Gürültü giderme filtresi arka plan lekelerini kaldırıp metin netliğini artırdıktan sonra temiz belge" class="img-responsive add-shadow" />
<p class="competitors__download-link" style="color: #181818; font-style: italic;">Sonra</p>
</div>
</div>
<hr />
## Genişletme Filtresini Nasıl Kullanırım?
Genişletme, görüntülerde parlak bölgeleri genişletir. Metni kalınlaştırır, daha belirgin hale getirerek OCR yazılımının yorumlamasını kolaylaştırır.
### Metne Ne Zaman Genişletme Uygulamalıyım?
Genişletme, ince veya kırık metin karakterlerinde en iyi şekilde çalışır:
- Mürekkebi tutarsız eski daktilo belgeleri
- Solmuş makbuzlar ve termal kağıt çıktıları
- İnce çizgi yazı tiplerine sahip belgeler
- Görüntü formatlarında aşırı sıkıştırılmış metin
Genişletme, karakterler içindeki küçük boşlukları doldurur ve zayıf vuruş bağlantılarını güçlendirir. Bu, OCR motorlarının kırık karakterleri birden fazla sembol olarak yanlış yorumlamasını önler.
Genişletme filtresini uygulamak için `Dilate` metodunu kullanın. Varsayılan morfoloji 2x2'dir; 3x3 için 'true' parametresini geçin:
```csharp
using IronOcr;
// Create OCR engine
var ocrTesseract = new IronTesseract();
// Apply dilate filter
var imageInput = new OcrImageInput("thin-text.jpg");
imageInput.Dilate();
// For more aggressive dilation
imageInput.Dilate(true);
// Practical example for faded receipt processing
var receiptInput = new OcrImageInput("faded-receipt.jpg");
receiptInput.Dilate()
.DeNoise()
.EnhanceResolution(300);
// Configure for better receipt reading
ocrTesseract.Configuration.PageSegmentationMode = TesseractPageSegmentationMode.SingleBlock;
ocrTesseract.Configuration.ReadBarCodes = true;
// Perform OCR
var result = ocrTesseract.Read(receiptInput);
```
### Aşırı Genişletme ile Yaygın Sorunlar Nelerdir?
Aşırı genişletme şu sorunlara neden olabilir:
- Karakter kanaması veya bitişik harflerin birleştirilmesi
- İç detayların kaybı ('e' veya '8' içindeki açıklıklar)
- Kalın metin için azalan doğruluk
Sonuçları izleyin ve buna göre ayarlayın. Karışık metin ağırlıklarına sahip belgeler için, görüntü kalitesi düzeltme filtrelerimizi seçici olarak kullanın.
<div class="competitors-section__wrapper-even-1">
<div class="competitors__card" style="width: 48%;">
<img src="/static-assets/ocr/how-to/image-quality-correction/sample.jpg" alt="OCR için genişletme filtrelemesinden fayda görecek ince metin çizgileri içeren belge" class="img-responsive add-shadow" />
<p class="competitors__download-link" style="color: #181818; font-style: italic;">Önce</p>
</div>
<div class="competitors__card" style="width: 50%;">
<img src="/static-assets/ocr/how-to/image-quality-correction/dilate_0.webp" alt="Kalınlaştırılmış karakter çizgilerini ve iyileştirilmiş okunabilirliği gösteren genişletme filtresi sonrası metin" class="img-responsive add-shadow" />
<p class="competitors__download-link" style="color: #181818; font-style: italic;">Sonra</p>
</div>
</div>
<hr />
## Aşındırma Filtresini Nasıl Uygularım?
Aşındırma, görüntülerde parlak alanların boyutunu azaltır, kalın veya bozulmuş karakterleri rafine eder ve karakter ayrımını iyileştirir.
### Kalın Metinde Aşındırma Neden Yardımcı Olur?
Aşındırma, metin vuruşlarını inceltir ve bitişik karakterleri ayırır. Bu filtre şu durumlarda mükemmeldir:
- Aşırı mürekkepli basılı belgeler
- Karakter kanaması olan fotokopiler
- Birleşik görünen kalın metin
- Düşük kaliteli faks iletileri
Dikkatli aşındırma, karakter ayrımını geri yükler ve bireysel harf tanımını iyileştirir, tüm kelimelerin yanlış okunmasını önler.
Bu filtreyi uygulamak için `Erode` metodunu kullanın. Varsayılan morfoloji 2x2'dir; 3x3 için 'true' parametresini geçin:
```csharp
using IronOcr;
// Create OCR instance
var ocrTesseract = new IronTesseract();
// Load image with thick text
var imageInput = new OcrImageInput("thick-text.jpg");
// Apply erode filter
imageInput.Erode();
// Stronger erosion for heavily bleeding text
imageInput.Erode(true);
// Example: Processing a poor-quality photocopy
var photocopyInput = new OcrImageInput("thick-text-photocopy.pdf");
// Apply erosion followed by sharpening for best results
photocopyInput.Erode()
.Sharpen()
.EnhanceResolution(300);
// Configure OCR for better accuracy
ocrTesseract.Configuration.BlackListCharacters = "~`@#$%^&*()_+-={}[]|\\:\";<>?,./";
ocrTesseract.Configuration.WhiteListCharacters = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789 ";
var ocrResult = ocrTesseract.Read(photocopyInput);
// Extract with confidence check
var highConfidenceText = ocrResult.Blocks
.Where(b => b.Confidence > 90)
.Select(b => b.Text);
```
### Aşındırmayı Metin Okunabilirliği ile Nasıl Dengelerim?
Doğru aşındırma seviyesini bulmak dikkatli testler gerektirir:
- Varsayılan 2x2 morfolojiyle başlayın
- Temsili belge örneklerinde test edin
- Noktalama işaretlerinin görünür kalıp kalmadığını kontrol edin
- İnce yazı tiplerinin kırılmadığından emin olun
Karışık metin ağırlıklarına sahip belgeler için, [ileri yapılandırma seçeneklerimize](https://ironsoftware.com/csharp/ocr/examples/csharp-configure-setup-tesseract/) göz atın.
<div class="competitors-section__wrapper-even-1">
<div class="competitors__card" style="width: 48%;">
<img src="/static-assets/ocr/how-to/image-quality-correction/sample.jpg" alt="Aşındırma filtresi işleminden fayda görecek birleşmiş/kalın karakterler içeren belge" class="img-responsive add-shadow" />
<p class="competitors__download-link" style="color: #181818; font-style: italic;">Önce</p>
</div>
<div class="competitors__card" style="width: 50%;">
<img src="/static-assets/ocr/how-to/image-quality-correction/erode_0.webp" alt="Ayrılmış karakterleri ve inceltilmiş çizgi kalınlığını gösteren aşındırma filtresi sonrası metin" class="img-responsive add-shadow" />
<p class="competitors__download-link" style="color: #181818; font-style: italic;">Sonra</p>
</div>
</div>
## Filtrelenmiş Görüntüleri Aranabilir PDF'ler Olarak Nasıl Kaydederim?
IronOCR, filtreler uygulanmış veya orijinal hallerinde düzeltilmiş PDF'leri kaydetmenizi sağlar. `SaveAsSearchablePdf` metodunun ikinci parametresi, filtrelerle birlikte kaydedip kaydedilmediğini belirler.
### Filtre Değişikliklerini Korumak Neden Faydalıdır?
Filtre değişikliklerini korumak birkaç avantaj sunar:
- Daha temiz ve okunabilir belgeler oluşturur
- Belge yığınları arasında tutarlılığı korur
- Metin kalitesi iyileştirmelerinin görsel onayını sağlar
- Kalite kontrol karşılaştırmalarını etkinleştirir
Aranabilir PDF'ler oluşturmak, görsel görünümü korurken bir OCR metin katmanı ekler. [aranabilir PDF'ler oluşturma rehberimize](https://ironsoftware.com/csharp/ocr/how-to/searchable-pdf/) göz atın.
```csharp
using IronOcr;
var ocr = new IronTesseract();
var ocrInput = new OcrInput();
// Load a PDF file
ocrInput.LoadPdf("invoice.pdf");
// Apply multiple filters for comprehensive improvement
ocrInput.ToGrayScale()
.DeNoise()
.Sharpen()
.EnhanceResolution(300);
// Perform OCR
OcrResult result = ocr.Read(ocrInput);
// Save the result as a searchable PDF with filters applied
result.SaveAsSearchablePdf("outputFiltered.pdf", true);
// Or save without filters to preserve original appearance
result.SaveAsSearchablePdf("outputOriginal.pdf", false);
// Export to other formats
result.SaveAsTextFile("extracted-text.txt");
result.SaveAsHocrFile("output.html");
```
### Filtrelenmiş ve Orijinal PDF'ler Arasında Nasıl Seçim Yaparım?
**Filtrelerle kaydedin (true) ne zaman:**
- Orijinal belge kalitesi zayıf
- Belgeler arasında tutarlı görünüm gerekiyor
- Filtrelenmiş sürüm, okunabilirliği önemli ölçüde artırıyor
- Belgeleri uzun süreli depolama için arşivleme
**Filtreler olmadan kaydedin (false) ne zaman:**
- Orijinal görünümün korunması yasal olarak gerekli
- Renk bilgisi önemli
- Belge özgünlüğü korunmalı
- Filtreler sadece OCR doğruluğu için gerekli
Gelişmiş PDF işleme seçenekleri için, [PDF OCR Metin Çıkarma rehberimizi](https://ironsoftware.com/csharp/ocr/examples/csharp-pdf-ocr/) keşfedin. Optimal filtre kombinasyonları için, [Filtre Sihirbazı eğitimine](https://ironsoftware.com/csharp/ocr/how-to/filter-wizard/) göz atın.
IronOCR, beş temel görüntü düzeltme filtresi (sharpen, enhance resolution, denoise, dilate ve erode) sağlar. Bu filtreler, metin netliğini artırarak ve metin çıkarımı öncesi gürültüyü azaltarak OCR doğruluğunu önemli ölçüde iyileştirmek için görüntüleri önceden işler.
Hızlı Başlangıç: Net Metin için Keskinleştirme Filtresini Uygulayın
Bulanık bir görüntüyü tek bir kod satırı ile keskinleştirmek için IronOCR'nin OcrImageInput kullanın. Bu örnek, doğru OCR için görüntü geliştirmeyi göstermektedir.
PDF belgesini ve okumak için görselleri içe aktarın
Keskinleştirme, çözünürlüğü artırma, parazit giderme, genişletme ve aşındırma gibi istenilen filtreleri uygulayın
Düzeltilmiş resmi görüntülemek için dışa aktarın
Okuma yöntemini OCR işlemesi için kullanın
Keskinleştirme Filtresini Nasıl Uygularım?
Bu filtre, resimdeki kenarlar boyunca kontrastı artırarak daha belirgin metin sınırları oluşturur. Metin netliğini artırır, karakter tanıma işlemini daha doğru hale getirir.
Keskinleştirme Neden OCR Doğruluğunu Artırır?
Keskinleştirme filtresi, kenar kontrastını artırarak metin ile arka plan arasındaki sınırları vurgular. Karakter tanıma algoritmaları, düzgün ve net harf şekillerine ihtiyaç duyar. Tarama belgeleri veya düşük kaliteli fotoğraflarda yaygın olarak görülen bulanık metin, yumuşak kenarları nedeniyle OCR motorlarının karakter sınırlarını yanlış tanımlamasına yol açar. OCR için optimal görüntü işleme hakkında daha fazla bilgi edinmek için, OCR Görüntü Optimizasyon Filtreleri konulu kapsamlı rehberimize göz atın.
Keskinleşme filtresini uygulamak için OcrImageInput nesnesinin Sharpen metodunu çağırın:
using IronOcr;// Instantiate IronTesseractIronTesseract ocrTesseract = new IronTesseract();// Add imageusing var imageInput = new OcrImageInput("sample.jpg");// Apply sharpen filterimageInput.Sharpen();// Export filtered imageimageInput.SaveAsImages("sharpen.jpg");
using IronOcr;
// Instantiate IronTesseract
IronTesseract ocrTesseract = new IronTesseract();
// Add image
using var imageInput = new OcrImageInput("sample.jpg");
// Apply sharpen filter
imageInput.Sharpen();
// Export filtered image
imageInput.SaveAsImages("sharpen.jpg");
ImportsIronOcr' Instantiate IronTesseractPrivate ocrTesseract As New IronTesseract()' Add imagePrivate imageInput = New OcrImageInput("sample.jpg")' Apply sharpen filterimageInput.Sharpen()' Export filtered imageimageInput.SaveAsImages("sharpen.jpg")
Imports IronOcr
' Instantiate IronTesseract
Private ocrTesseract As New IronTesseract()
' Add image
Private imageInput = New OcrImageInput("sample.jpg")
' Apply sharpen filter
imageInput.Sharpen()
' Export filtered image
imageInput.SaveAsImages("sharpen.jpg")
Keskinleştirme Filtresini Ne Zaman Kullanmalıyım?
Odak dışı kalmış hafif görüntülerde, yumuşak metin kenarlarına sahip tarama belgelerinde veya zayıf aydınlatmada çekilen fotoğraflarda keskinleştirmeyi kullanın. Net metni aşırı keskinleştirmekten kaçının, çünkü bu durum artifaktlar ekler ve doğruluğu azaltır. Aşırı bulanık taramalar için, keskinleştirmeyi diğer filtrelerle birleştirin veya Düşük Kalite Taramalarını ve Görüntüleri Düzeltme kılavuzumuza bakın.
Filtrelenmiş görüntüleri SaveAsImages metodu kullanarak dışa aktarın. Aşağıda 'öncesi ve sonrası' karşılaştırması bulunmaktadır.
Önce
Sonra
OCR için Çözünürlüğü Nasıl Artırırım?
Bu filtre, piksel yoğunluğunu artırarak keskinliği ve netliği iyileştirir. Düşük çözünürlüklü görüntülerdeki metinleri daha doğru okuyabilmeleri için OCR motorlarına yardımcı olur.
OCR için Hangi DPI Hedeflenmelidir?
OCR motorları en iyi 300 DPI (inch başına nokta) üzerinde çalışır. Düşük çözünürlükler, karakter yanlış tanımasına neden olur; Daha yüksek çözünürlükler, doğruluğu artırmadan işlemeyi yavaşlatır. IronOCR'un geliştirme filtresi, görüntüleri optimal DPI seviyelerine akıllıca ölçeklendirir. Ayrıntılı rehber için, DPI Ayarları rehberimize bakın.
Bu filtreyi uygulamak için EnhanceResolution metodunu çağırın. Varsayılan hedef 225 DPI'dır:
using IronOcr;// Create OCR inputvar imageInput = new OcrImageInput("low-res-scan.jpg");// Apply enhance resolution filter with default 225 DPIimageInput.EnhanceResolution();// Or specify a custom DPIimageInput.EnhanceResolution(300);// Combine with OCR readingvar ocr = new IronTesseract();var result = ocr.Read(imageInput);Console.WriteLine($"Extracted text: {result.Text}");
using IronOcr;
// Create OCR input
var imageInput = new OcrImageInput("low-res-scan.jpg");
// Apply enhance resolution filter with default 225 DPI
imageInput.EnhanceResolution();
// Or specify a custom DPI
imageInput.EnhanceResolution(300);
// Combine with OCR reading
var ocr = new IronTesseract();
var result = ocr.Read(imageInput);
Console.WriteLine($"Extracted text: {result.Text}");
ImportsIronOcr' Create OCR inputDim imageInput As New OcrImageInput("low-res-scan.jpg")' Apply enhance resolution filter with default 225 DPIimageInput.EnhanceResolution()' Or specify a custom DPIimageInput.EnhanceResolution(300)' Combine with OCR readingDim ocr As New IronTesseract()Dim result = ocr.Read(imageInput)Console.WriteLine($"Extracted text: {result.Text}")
Imports IronOcr
' Create OCR input
Dim imageInput As New OcrImageInput("low-res-scan.jpg")
' Apply enhance resolution filter with default 225 DPI
imageInput.EnhanceResolution()
' Or specify a custom DPI
imageInput.EnhanceResolution(300)
' Combine with OCR reading
Dim ocr As New IronTesseract()
Dim result = ocr.Read(imageInput)
Console.WriteLine($"Extracted text: {result.Text}")
Çözünürlük Artırımı Ne Zaman Önemlidir?
Çözünürlük artırımı şu durumlarda kritik öneme sahiptir:
Parazit giderici filtreler, görüntülerde istenmeyen artifaktları azaltır. Parazit azaltma, metni arka plan paraziti etkisinden ayırarak daha temiz ve daha kesin OCR sonuçları üretir.
2x2 ve 3x3 Morfoloji Arasındaki Fark Nedir?
Morfoloji boyutu, parazit giderme gücünü belirler. 2x2 morfoloji, ince metni koruyarak minimal artifaktlar için nazik bir parazit azaltma uygular. 3x3 morfoloji, çok aşınmış belgeler için ciddi parazit giderme sağlar ancak çok küçük metni etkileyebilir.
Gürültü giderme filtresini uygulamak için DeNoise metodunu kullanın. Varsayılan morfoloji 2x2'dir. 3x3 morfoloji için 'true' parametresini geçin:
using IronOcr;// Load noisy documentvar imageInput = new OcrImageInput("noisy-scan.pdf");// Apply denoise filter with default 2x2 morphologyimageInput.DeNoise();// Apply stronger denoising with 3x3 morphologyimageInput.DeNoise(true);// Combine with other filters for severely degraded imagesimageInput.DeNoise() .Sharpen() .EnhanceResolution(300);// Process with OCRvar ocr = new IronTesseract();var result = ocr.Read(imageInput);// Check confidence levelsforeach (var page in result.Pages){Console.WriteLine($"Page confidence: {page.Confidence}%");}
using IronOcr;
// Load noisy document
var imageInput = new OcrImageInput("noisy-scan.pdf");
// Apply denoise filter with default 2x2 morphology
imageInput.DeNoise();
// Apply stronger denoising with 3x3 morphology
imageInput.DeNoise(true);
// Combine with other filters for severely degraded images
imageInput.DeNoise()
.Sharpen()
.EnhanceResolution(300);
// Process with OCR
var ocr = new IronTesseract();
var result = ocr.Read(imageInput);
// Check confidence levels
foreach (var page in result.Pages)
{
Console.WriteLine($"Page confidence: {page.Confidence}%");
}
ImportsIronOcr' Load noisy documentDim imageInput As New OcrImageInput("noisy-scan.pdf")' Apply denoise filter with default 2x2 morphologyimageInput.DeNoise()' Apply stronger denoising with 3x3 morphologyimageInput.DeNoise(True)' Combine with other filters for severely degraded imagesimageInput.DeNoise() _ .Sharpen() _ .EnhanceResolution(300)' Process with OCRDim ocr As New IronTesseract()Dim result = ocr.Read(imageInput)' Check confidence levelsFor Each page In result.PagesConsole.WriteLine($"Page confidence: {page.Confidence}%")Next
Imports IronOcr
' Load noisy document
Dim imageInput As New OcrImageInput("noisy-scan.pdf")
' Apply denoise filter with default 2x2 morphology
imageInput.DeNoise()
' Apply stronger denoising with 3x3 morphology
imageInput.DeNoise(True)
' Combine with other filters for severely degraded images
imageInput.DeNoise() _
.Sharpen() _
.EnhanceResolution(300)
' Process with OCR
Dim ocr As New IronTesseract()
Dim result = ocr.Read(imageInput)
' Check confidence levels
For Each page In result.Pages
Console.WriteLine($"Page confidence: {page.Confidence}%")
Next
Görüntülerimin Parazit Gidermeye İhtiyacı Olduğunu Nasıl Anlarım?
Genişletme, görüntülerde parlak bölgeleri genişletir. Metni kalınlaştırır, daha belirgin hale getirerek OCR yazılımının yorumlamasını kolaylaştırır.
Metne Ne Zaman Genişletme Uygulamalıyım?
Genişletme, ince veya kırık metin karakterlerinde en iyi şekilde çalışır:
Mürekkebi tutarsız eski daktilo belgeleri
Solmuş makbuzlar ve termal kağıt çıktıları
İnce çizgi yazı tiplerine sahip belgeler
Görüntü formatlarında aşırı sıkıştırılmış metin
Genişletme, karakterler içindeki küçük boşlukları doldurur ve zayıf vuruş bağlantılarını güçlendirir. Bu, OCR motorlarının kırık karakterleri birden fazla sembol olarak yanlış yorumlamasını önler.
Genişletme filtresini uygulamak için Dilate metodunu kullanın. Varsayılan morfoloji 2x2'dir; 3x3 için 'true' parametresini geçin:
using IronOcr;// Create OCR enginevar ocrTesseract = new IronTesseract();// Apply dilate filtervar imageInput = new OcrImageInput("thin-text.jpg");imageInput.Dilate();// For more aggressive dilationimageInput.Dilate(true);// Practical example for faded receipt processingvar receiptInput = new OcrImageInput("faded-receipt.jpg");receiptInput.Dilate() .DeNoise() .EnhanceResolution(300);// Configure for better receipt readingocrTesseract.Configuration.PageSegmentationMode = TesseractPageSegmentationMode.SingleBlock;ocrTesseract.Configuration.ReadBarCodes = true;// Perform OCRvar result = ocrTesseract.Read(receiptInput);
using IronOcr;
// Create OCR engine
var ocrTesseract = new IronTesseract();
// Apply dilate filter
var imageInput = new OcrImageInput("thin-text.jpg");
imageInput.Dilate();
// For more aggressive dilation
imageInput.Dilate(true);
// Practical example for faded receipt processing
var receiptInput = new OcrImageInput("faded-receipt.jpg");
receiptInput.Dilate()
.DeNoise()
.EnhanceResolution(300);
// Configure for better receipt reading
ocrTesseract.Configuration.PageSegmentationMode = TesseractPageSegmentationMode.SingleBlock;
ocrTesseract.Configuration.ReadBarCodes = true;
// Perform OCR
var result = ocrTesseract.Read(receiptInput);
ImportsIronOcr' Create OCR engineDim ocrTesseract As New IronTesseract()' Apply dilate filterDim imageInput As New OcrImageInput("thin-text.jpg")imageInput.Dilate()' For more aggressive dilationimageInput.Dilate(True)' Practical example for faded receipt processingDim receiptInput As New OcrImageInput("faded-receipt.jpg")receiptInput.Dilate() _ .DeNoise() _ .EnhanceResolution(300)' Configure for better receipt readingocrTesseract.Configuration.PageSegmentationMode = TesseractPageSegmentationMode.SingleBlockocrTesseract.Configuration.ReadBarCodes = True' Perform OCRDim result = ocrTesseract.Read(receiptInput)
Imports IronOcr
' Create OCR engine
Dim ocrTesseract As New IronTesseract()
' Apply dilate filter
Dim imageInput As New OcrImageInput("thin-text.jpg")
imageInput.Dilate()
' For more aggressive dilation
imageInput.Dilate(True)
' Practical example for faded receipt processing
Dim receiptInput As New OcrImageInput("faded-receipt.jpg")
receiptInput.Dilate() _
.DeNoise() _
.EnhanceResolution(300)
' Configure for better receipt reading
ocrTesseract.Configuration.PageSegmentationMode = TesseractPageSegmentationMode.SingleBlock
ocrTesseract.Configuration.ReadBarCodes = True
' Perform OCR
Dim result = ocrTesseract.Read(receiptInput)
Aşırı Genişletme ile Yaygın Sorunlar Nelerdir?
Aşırı genişletme şu sorunlara neden olabilir:
Karakter kanaması veya bitişik harflerin birleştirilmesi
İç detayların kaybı ('e' veya '8' içindeki açıklıklar)
Kalın metin için azalan doğruluk
Sonuçları izleyin ve buna göre ayarlayın. Karışık metin ağırlıklarına sahip belgeler için, görüntü kalitesi düzeltme filtrelerimizi seçici olarak kullanın.
Önce
Sonra
Aşındırma Filtresini Nasıl Uygularım?
Aşındırma, görüntülerde parlak alanların boyutunu azaltır, kalın veya bozulmuş karakterleri rafine eder ve karakter ayrımını iyileştirir.
Kalın Metinde Aşındırma Neden Yardımcı Olur?
Aşındırma, metin vuruşlarını inceltir ve bitişik karakterleri ayırır. Bu filtre şu durumlarda mükemmeldir:
Aşırı mürekkepli basılı belgeler
Karakter kanaması olan fotokopiler
Birleşik görünen kalın metin
Düşük kaliteli faks iletileri
Dikkatli aşındırma, karakter ayrımını geri yükler ve bireysel harf tanımını iyileştirir, tüm kelimelerin yanlış okunmasını önler.
Bu filtreyi uygulamak için Erode metodunu kullanın. Varsayılan morfoloji 2x2'dir; 3x3 için 'true' parametresini geçin:
using IronOcr;// Create OCR instancevar ocrTesseract = new IronTesseract();// Load image with thick textvar imageInput = new OcrImageInput("thick-text.jpg");// Apply erode filterimageInput.Erode();// Stronger erosion for heavily bleeding textimageInput.Erode(true);// Example: Processing a poor-quality photocopyvar photocopyInput = new OcrImageInput("thick-text-photocopy.pdf");// Apply erosion followed by sharpening for best resultsphotocopyInput.Erode() .Sharpen() .EnhanceResolution(300);// Configure OCR for better accuracyocrTesseract.Configuration.BlackListCharacters = "~`@#$%^&*()_+-={}[]|\\:\";<>?,./";ocrTesseract.Configuration.WhiteListCharacters = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789 ";var ocrResult = ocrTesseract.Read(photocopyInput);// Extract with confidence checkvar highConfidenceText = ocrResult.Blocks .Where(b => b.Confidence > 90) .Select(b => b.Text);
using IronOcr;
// Create OCR instance
var ocrTesseract = new IronTesseract();
// Load image with thick text
var imageInput = new OcrImageInput("thick-text.jpg");
// Apply erode filter
imageInput.Erode();
// Stronger erosion for heavily bleeding text
imageInput.Erode(true);
// Example: Processing a poor-quality photocopy
var photocopyInput = new OcrImageInput("thick-text-photocopy.pdf");
// Apply erosion followed by sharpening for best results
photocopyInput.Erode()
.Sharpen()
.EnhanceResolution(300);
// Configure OCR for better accuracy
ocrTesseract.Configuration.BlackListCharacters = "~`@#$%^&*()_+-={}[]|\\:\";<>?,./";
ocrTesseract.Configuration.WhiteListCharacters = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789 ";
var ocrResult = ocrTesseract.Read(photocopyInput);
// Extract with confidence check
var highConfidenceText = ocrResult.Blocks
.Where(b => b.Confidence > 90)
.Select(b => b.Text);
ImportsIronOcr' Create OCR instanceDim ocrTesseract As New IronTesseract()' Load image with thick textDim imageInput As New OcrImageInput("thick-text.jpg")' Apply erode filterimageInput.Erode()' Stronger erosion for heavily bleeding textimageInput.Erode(True)' Example: Processing a poor-quality photocopyDim photocopyInput As New OcrImageInput("thick-text-photocopy.pdf")' Apply erosion followed by sharpening for best resultsphotocopyInput.Erode() _ .Sharpen() _ .EnhanceResolution(300)' Configure OCR for better accuracyocrTesseract.Configuration.BlackListCharacters = "~`@#$%^&*()_+-={}[]|\:"";<>?,./"ocrTesseract.Configuration.WhiteListCharacters = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789 "Dim ocrResult = ocrTesseract.Read(photocopyInput)' Extract with confidence checkDim highConfidenceText = ocrResult.Blocks _ .Where(Function(b) b.Confidence > 90) _ .Select(Function(b) b.Text)
Imports IronOcr
' Create OCR instance
Dim ocrTesseract As New IronTesseract()
' Load image with thick text
Dim imageInput As New OcrImageInput("thick-text.jpg")
' Apply erode filter
imageInput.Erode()
' Stronger erosion for heavily bleeding text
imageInput.Erode(True)
' Example: Processing a poor-quality photocopy
Dim photocopyInput As New OcrImageInput("thick-text-photocopy.pdf")
' Apply erosion followed by sharpening for best results
photocopyInput.Erode() _
.Sharpen() _
.EnhanceResolution(300)
' Configure OCR for better accuracy
ocrTesseract.Configuration.BlackListCharacters = "~`@#$%^&*()_+-={}[]|\:"";<>?,./"
ocrTesseract.Configuration.WhiteListCharacters = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789 "
Dim ocrResult = ocrTesseract.Read(photocopyInput)
' Extract with confidence check
Dim highConfidenceText = ocrResult.Blocks _
.Where(Function(b) b.Confidence > 90) _
.Select(Function(b) b.Text)
Aşındırmayı Metin Okunabilirliği ile Nasıl Dengelerim?
Doğru aşındırma seviyesini bulmak dikkatli testler gerektirir:
Varsayılan 2x2 morfolojiyle başlayın
Temsili belge örneklerinde test edin
Noktalama işaretlerinin görünür kalıp kalmadığını kontrol edin
Filtrelenmiş Görüntüleri Aranabilir PDF'ler Olarak Nasıl Kaydederim?
IronOCR, filtreler uygulanmış veya orijinal hallerinde düzeltilmiş PDF'leri kaydetmenizi sağlar. SaveAsSearchablePdf metodunun ikinci parametresi, filtrelerle birlikte kaydedip kaydedilmediğini belirler.
Filtre Değişikliklerini Korumak Neden Faydalıdır?
Filtre değişikliklerini korumak birkaç avantaj sunar:
using IronOcr;var ocr = new IronTesseract();var ocrInput = new OcrInput();// Load a PDF fileocrInput.LoadPdf("invoice.pdf");// Apply multiple filters for comprehensive improvementocrInput.ToGrayScale() .DeNoise() .Sharpen() .EnhanceResolution(300);// Perform OCROcrResult result = ocr.Read(ocrInput);// Save the result as a searchable PDF with filters appliedresult.SaveAsSearchablePdf("outputFiltered.pdf", true);// Or save without filters to preserve original appearanceresult.SaveAsSearchablePdf("outputOriginal.pdf", false);// Export to other formatsresult.SaveAsTextFile("extracted-text.txt");result.SaveAsHocrFile("output.html");
using IronOcr;
var ocr = new IronTesseract();
var ocrInput = new OcrInput();
// Load a PDF file
ocrInput.LoadPdf("invoice.pdf");
// Apply multiple filters for comprehensive improvement
ocrInput.ToGrayScale()
.DeNoise()
.Sharpen()
.EnhanceResolution(300);
// Perform OCR
OcrResult result = ocr.Read(ocrInput);
// Save the result as a searchable PDF with filters applied
result.SaveAsSearchablePdf("outputFiltered.pdf", true);
// Or save without filters to preserve original appearance
result.SaveAsSearchablePdf("outputOriginal.pdf", false);
// Export to other formats
result.SaveAsTextFile("extracted-text.txt");
result.SaveAsHocrFile("output.html");
ImportsIronOcrDim ocr As New IronTesseract()Dim ocrInput As New OcrInput()' Load a PDF fileocrInput.LoadPdf("invoice.pdf")' Apply multiple filters for comprehensive improvementocrInput.ToGrayScale() _ .DeNoise() _ .Sharpen() _ .EnhanceResolution(300)' Perform OCRDim result AsOcrResult = ocr.Read(ocrInput)' Save the result as a searchable PDF with filters appliedresult.SaveAsSearchablePdf("outputFiltered.pdf", True)' Or save without filters to preserve original appearanceresult.SaveAsSearchablePdf("outputOriginal.pdf", False)' Export to other formatsresult.SaveAsTextFile("extracted-text.txt")result.SaveAsHocrFile("output.html")
Imports IronOcr
Dim ocr As New IronTesseract()
Dim ocrInput As New OcrInput()
' Load a PDF file
ocrInput.LoadPdf("invoice.pdf")
' Apply multiple filters for comprehensive improvement
ocrInput.ToGrayScale() _
.DeNoise() _
.Sharpen() _
.EnhanceResolution(300)
' Perform OCR
Dim result As OcrResult = ocr.Read(ocrInput)
' Save the result as a searchable PDF with filters applied
result.SaveAsSearchablePdf("outputFiltered.pdf", True)
' Or save without filters to preserve original appearance
result.SaveAsSearchablePdf("outputOriginal.pdf", False)
' Export to other formats
result.SaveAsTextFile("extracted-text.txt")
result.SaveAsHocrFile("output.html")
Filtrelenmiş ve Orijinal PDF'ler Arasında Nasıl Seçim Yaparım?
Filtrelerle kaydedin (true) ne zaman:
Orijinal belge kalitesi zayıf
Belgeler arasında tutarlı görünüm gerekiyor
Filtrelenmiş sürüm, okunabilirliği önemli ölçüde artırıyor
C#'ta hangi görüntü filtreleri OCR doğruluğunu artırabilir?
IronOCR, beş ana görüntü düzeltme filtresi sağlar: keskinleştir, çözünürlüğü artır, gürültüyü azalt, genleşme ve aşındırma. Bu filtreler, metin netliğini artırarak ve metin çıkarma öncesinde gürültüyü azaltarak OCR doğruluğunu önemli ölçüde artırmak için görüntüleri ön işler.
Bulanık bir görüntüyü daha iyi metin tanıma için nasıl keskinleştiririm?
Bulanık bir görüntüyü, IronOCR'un OcrImageInput ile tek satırlık bir kodla keskinleştirebilirsiniz: new IronOcr.OcrImageInput("sample.png").Sharpen(). Bu filtre, görüntüdeki kenarlar boyunca kontrastı artırarak daha belirgin metin sınırları oluşturur ve karakter tanıma doğruluğunu artırır.
Keskinleştirme neden OCR doğruluğunu artırır?
IronOCR'daki keskinleştirme filtresi, kenar kontrastını artırarak metin ve arka plan arasındaki sınırları vurgular. Bu önemlidir çünkü karakter tanıma algoritmaları net, belirgin harf şekillerine ihtiyaç duyar. Yumuşak kenarlara sahip bulanık metinler, OCR motorlarının karakter sınırlarını yanlış tanımlamasına neden olur.
OCR için keskinleştirme filtresini ne zaman kullanmalıyım?
IronOCR'un keskinleştirme filtresini, hafif bulanık görüntüler, yumuşak metin kenarlarına sahip taranmış belgeler veya kötü aydınlatma koşullarında çekilmiş fotoğraflar için kullanın. Net metni gereksiz yere keskinleştirmekten kaçının, çünkü bu, kusurlar ekler ve doğruluğu azaltır.
Optimal OCR performansı için hangi DPI hedeflenmelidir?
IronOCR, 300 DPI (inç başına nokta) çözünürlükteki görüntülerle en iyi şekilde çalışır. Daha düşük çözünürlükler, karakter yanlış tanımalarına neden olurken, daha yüksek çözünürlükler, doğruluğu artırmadan işlemi yavaşlatır. Düşük çözünürlüklü görüntülerde piksel yoğunluğunu artırmak için çözünürlük artırma filtresini kullanın.
Düzeltmeler uygulandıktan sonra filtrelenmiş görüntüleri dışa aktarabilir miyim?
Evet, IronOCR, SaveAsImages yöntemi ile filtrelenmiş görüntüleri dışa aktarmanıza olanak tanır. Bu, görüntü düzeltmelerinizin öncesi-sonrası karşılaştırmalarını görmenizi ve OCR çalıştırmadan önce iyileştirmeleri doğrulamanızı sağlar.
Görüntü filtrelerini uygulamak için minimum iş akışı nedir?
IronOCR ile minimal iş akışı 5 adım içerir: kütüphaneyi indirin, PDF veya görüntülerinizi içe aktarın, istenen filtreleri (keskinleştir, çözünürlüğü artır, gürültüyü azalt, genleşme, aşındırma) uygulayın, görüntüyü görüntülemek üzere dışa aktarın ve OCR işlemi için Read yöntemini kullanın.
What parameters should I consider when choosing between filtered and original PDFs?
Choose filtered PDFs when you need consistent appearance, improved readability, or archiving. Opt for original PDFs when preserving original appearance is legally required, or when maintaining color information and document authenticity is important.
What are common signs that my image needs denoising?
Noise indicators include random speckles, salt-and-pepper noise, graininess from high ISO photography, and background texture that interferes with text clarity.
What typical DPI settings are recommended for optimal OCR results?
OCR engines perform best at 300 DPI. Lower resolutions may lead to character misrecognition, while higher resolutions might slow processing without enhancing accuracy. IronOCR's enhancement filter can upscale images to the optimal DPI level.
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.