C# için OCR İçin Görüntü Yönü Nasıl Düzeltilir | IronOCR

C# ile OCR'de Görüntü Yönünü Düzeltin

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

IronOCR, döndürme, eğriliği düzeltme ve ölçeklendirme yöntemleriyle görüntü yönü sorunlarını düzeltir. Bu dönüşümleri .NET uygulamalarınızda doğru OCR metin çıkartma için eğri taramaları, ters döndürülmüş belgeleri ve yanlış boyutlandırılmış görüntüleri düzeltmek için zincirleyin.

Hızlı Başlat: Tek Satırda Döndür-Eğriliği Düzelt-Ölçeklendir

IronOCR'nin OcrInput yöntemini zincirleyerek, görüntünüzü döndürmek, eğikliği gidermek ve ölçeklendirmek için tek bir çağrıda bulunun — doğru OCR için görüntüleri hazırlayın, gereksiz kod olmadan.

  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.

    var result = new IronOcr.OcrInput().LoadImage("skewed.png").Rotate(90).Deskew(45).Scale(150).Let(input => new IronOcr.IronTesseract().Read(input));
  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


IronOCR'de Görüntüleri Nasıl Döndürürüm?

Döndürme, metnin dikey durmasını ve doğru hizalanmasını sağlamak için bir görüntünün yönünü belirli bir açıyla değiştirir. Bu, tarayıcılara yanlış yerleştirilmiş taranan belgeleri veya garip açılarda çekilmiş fotoğrafları düzeltir.

Derece değerini Rotate yöntemine iletin. Pozitif değerler saat yönünde; negatif değerler saat yönünün tersine döner. Döndürme, içerik yönünü ayarlarken orijinal boyutları koruyarak görüntü merkez noktası etrafında gerçekleşir.

Görüntü Döndürmeyi Ne Zaman Kullanmalıyım?

Görüntü döndürme, yanlış yönlendirilmiş olarak taranmış veya fotoğrafçılığı yapılmış belgeleri düzeltir. Yaygın senaryolar şunlardır

:

  • Baş aşağı veya yana döndürülmüş belgeler

  • Yön değişikliği gerektiren mobil fotoğraflar

  • Tutarsız sayfa yönlerine sahip çoklu sayfalı belgeler

  • Farklı tarama standartlarına sahip tarihsel arşivler

  • Yönün değişiklik gösterdiği Pasaport taraması

  • Farklı kamera açılarından Plaka tanıma

Otomatik döndürme algılama için, metin analizi yoluyla doğru yönü belirleyen IronOCR'nin DetectPageOrientation yöntemini kullanın.

Hangi Derece Değerleri En İyi Çalışır?

Yaygın döndürme değerleri, standart yön sorunları için 90 derece (90, 180, 270) katlarıdır. Fine ayarlamalar için IronOCR herhangi bir derece değerini destekler:

  • 90/-270 derece: Manzara'dan portre dönüştürme

  • 180 derece: Baş aşağı belgeler

  • 270/-90 derece: Portre'den manzara dönüştürme

  • Küçük açılar (1-10 derece): Küçük ayarlamalar, ancak eğriliği düzeltme küçük eğik durumların çoğunda daha iyi çalışır

Eski ekipmanlardan taranan belgeler için, diğer ön işleme adımlarıyla döndürmeyi birleştirin.

Döndürme OCR Doğruluğunu Nasıl Etkiler?

Doğru döndürme, OCR doğruluğu için önemlidir. IronOCR'nin Tesseract 5 motoru, soldan sağa, yukarıdan aşağıya metin akışı bekler. Yanlış hizalanmış metin aşağıdaki durumlara neden olabilir:


:path=/static-assets/ocr/content-code-examples/how-to/image-orientation-correction-rotate-image.cs

using IronOcr;

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

// Add image
using var imageInput = new OcrImageInput("paragraph_skewed.png");

// Rotate the image 180 degrees clockwise
imageInput.Rotate(180);

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

' Instantiate IronTesseract
Dim ocrTesseract As New IronTesseract()

' Add image
Using imageInput As New OcrImageInput("paragraph_skewed.png")
    ' Rotate the image 180 degrees clockwise
    imageInput.Rotate(180)

    ' Export the modified image
    imageInput.SaveAsImages("rotate")
End Using
$vbLabelText   $csharpLabel

Değiştirilmiş görüntüleri SaveAsImages yöntemi kullanarak dışa aktarın. Aşağıda döndürmeden önce ve sonra görüntü gösterilmektedir.

Original skewed text document before rotation correction
Document with 180-degree rotated text showing upside-down content that requires IronOCR rotation correction

Eğik Görüntüleri Nasıl Düzeltirim?

Eğriliği düzeltme, eğik veya çarpık görüntüleri düzelterek, eğimli metin hizalamasını sağlamak için düzeltir. Bu, tarayıcılara eğri yerleştirilmiş belgeleri veya hafif açıyla çekilmiş fotoğrafları düzeltir.

Eğikliği gidermek için Deskew yöntemini uygulayın. Düzeltmek için maksimum eğiklik açısını belirten bir tamsayı geçirin. Yüksek değerler, daha fazla düzeltmeye olanak tanır ancak işlem süresini yavaşlatır ve ters düz sayfalar gibi hatalara yol açabilir. Varsayılan 15 derece maksimum, çoğu senaryoyu etkili bir biçimde yönetir.

Masa düzeltme için hangi açı değerlerini kullanmalıyım?

Opmtimal masa düzeltme açıları, belge kalitesi ve gereksinimlere bağlıdır:

  • Varsayılan (parametresiz): Çoğu belge için otomatik tespit

  • 5-15 derece: Hafif eğik taramalar, doğruluğu hızla dengeler

  • 15-30 derece: Çok eğik belgeler; 20 derecenin üzerindeki açılar için döndürmeyi dikkate alın

  • 30+ derece: Aşırı düzeltme yapabilir; resim filtrelerini bunun yerine kullanın

Çok eğık belgelerde, masa düzeltmeyi resim optimizasyon filtreleri ile birleştirin. Filtre Sihirbazı optimal ön işleme adımlarını tanımlamaya yardımcı olabilir.

Masa düzeltme en etkili ne zaman olur?

Masa düzeltme en iyi şu durumlardadır:

Daha az etkili şu durumlardadır:

  • Düzensiz taban hatlarına sahip el yazısı metinler

  • Çoklu metin yönlerine sahip görüntüler

  • Ağır grafikli belge veya tablolar

  • Zaten uygun şekilde hizalanmış ekran görüntüleri

Aşırı düzeltme sorunlarından nasıl kaçınabilirim?

Masa düzeltme sorunlarından kaçınmanın yolları:

  1. Muhafazakar açı limitleriyle başlayın (10-15 derece)

  2. Düzeltmeleri doğrulamak için OcrResult güven skorlarını kullanın

  3. Bileşen sorunlar için döndürmeden sonra masa düzeltmeyi uygulayın

  4. Toplu işleme başlamadan önce örnek belgeleri test edin

  5. Büyük gruplar için ilerleme izleme kullanın

  6. Uzun süren işlemler için iptal tokenleri uygulayın

:path=/static-assets/ocr/content-code-examples/how-to/image-orientation-correction-rotate-image.cs

using IronOcr;

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

// Add image
using var imageInput = new OcrImageInput("paragraph_skewed.png");

// Rotate the image 180 degrees clockwise
imageInput.Rotate(180);

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

' Instantiate IronTesseract
Dim ocrTesseract As New IronTesseract()

' Add image
Using imageInput As New OcrImageInput("paragraph_skewed.png")
    ' Rotate the image 180 degrees clockwise
    imageInput.Rotate(180)

    ' Export the modified image
    imageInput.SaveAsImages("rotate")
End Using
$vbLabelText   $csharpLabel
Original document with noticeable tilt requiring deskew correction
Document after deskew correction showing properly aligned horizontal text

Daha iyi OCR için görüntüleri nasıl boyutlandırırım?

Boyutlandırma, görüntüleri metni doğru bir şekilde tanımak için standart boyutlara getirerek yeniden boyutlandırır. Uygun boyutlandırma, metnin ne çok küçük olmasını ve doğru olarak algılanmasını, ne de çok büyük olmasını ve verimli bir şekilde işlenmesini sağlar.

%100 hiçbir etki yok anlamına gelen bir yüzde değeri kullanarak Scale yöntemini uygulayın. İkinci parametre olan ScaleCropArea, kırpma alanlarının orantılı olarak ölçeklenip ölçeklenmeyeceğini belirler ( 'true' olarak önerilir). Boyutlandırma, metnin bozulmasını önlemek için oranı korur.

Optimal böyüt yüzdelemeleri nelerdir?

Optimal böyüt, kaynak çözünürlük ve OCR gereksinimlerine bağlıdır:

  • 50-80%: Daha hızlı işlem için yüksek çözünürlük (600+ DPI) taramalar

  • 100%: Orijinal boyutlarda, böyüt yok

  • 120-150%: Karakter tanımayı artırmak için düşük çözünürlüklü resimler

  • 200%+: Çok küçük metinler, ancak DPI ayarları daha iyi olabilir

En iyi sonuçlar için 20-30 piksel arasında metin yüksekliği hedefleyin. Çözünürlük optimizasyonu için detaylı kılavı için Tesseract için görüntü DPI'sını optimize etme konusuna bakın.

Boyutlandırma OCR performansını nasıl etkiler?

Boyutlandırma, doğruluk ve hız üzerinde etkilidir:

  • Küçültme (100%'den az): Daha hızlı işlem ama ince detaylar kaybolabilir

  • Büyütme (100%'den fazla): Daha iyi doğruluk, küçük metin için ama daha yavaş işlem

  • Hafıza kullanımı: Görüntü boyutlarıyla karesel olarak artar

  • İşlem süresi: Büyük boyutlarla artar

Performans optimizasyonu için hız için hızlı OCR yapılandırması ve hız için çoklu iş parçacığı bakın.

ScaleCropArea ne zaman kullanmalıyım?

ScaleCropArea şunlar için kullanın:

Orijinal kırpma koordinatlarına ihtiyaçınız yoksa true olarak ayarlayın.


:path=/static-assets/ocr/content-code-examples/how-to/image-orientation-correction-rotate-image.cs

using IronOcr;

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

// Add image
using var imageInput = new OcrImageInput("paragraph_skewed.png");

// Rotate the image 180 degrees clockwise
imageInput.Rotate(180);

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

' Instantiate IronTesseract
Dim ocrTesseract As New IronTesseract()

' Add image
Using imageInput As New OcrImageInput("paragraph_skewed.png")
    ' Rotate the image 180 degrees clockwise
    imageInput.Rotate(180)

    ' Export the modified image
    imageInput.SaveAsImages("rotate")
End Using
$vbLabelText   $csharpLabel

Farklı boyut değerleri nasıl karşılaştırılır?

Aşağıdaki karşılaştırma, boyutlandırmanın boyutları ve metin açıklığını nasıl etkilediğini gösterir. Orta derecede böyüt metin okunabilirliğini korurken işleme gereksinimlerini düzenler:

50%, 100%, ve 150% böyütte metin belgesi ölçü farklarını gösteren bir karşılaştırma
Farklı böyütlerde oluşturulan metni yanyana karşılaştırarak 3D bakışta OCR kalite korunumu

Kombine düzeltmeler için en iyi uygulamalar nelerdir?

Maksimum sonuç için düzeltmeleri bu sırayla uygulayın:

  1. Yönelim sorunları için Döndürme ilk sırada

  2. Hizalamayı tamamlamak için Eğriliği Düzeltme

  3. OCR işlemesini optimize etmek için Boyutlandırma

Bu sıra her düzeltmenin öncekine dayandığını ve hataların birikmesini engellediğini sağlar. Karmaşık işleme ihtiyaçları için IronOCR'nin kapsamlı resim filtrelerini ve resim kalitesi düzeltme araçlarını keşfedin.

Tüm yönlendirme düzeltmelerini nasıl birleştiririm?

Kapsamlı görüntü hazırlığı için birden fazla düzeltmeyi zincirleyin:


/* :path=/static-assets/ocr/content-code-examples/how-to/image-orientation-correction-combined.cs */

using IronOcr;

// Create OCR engine with optimized configuration

IronTesseract ocrTesseract = new IronTesseract();

// Load and process image with all corrections

using var imageInput = new OcrImageInput("skewed_document.png");

// Apply corrections in optimal sequence

imageInput

    .Rotate(90)           // Fix major orientation

    .Deskew(15)          // Correct minor tilts

    .Scale(150, true);   // Enhance for OCR

// Perform OCR on corrected image

OcrResult result = ocrTesseract.Read(imageInput);

// Access extracted text

string extractedText = result.Text;

/* :path=/static-assets/ocr/content-code-examples/how-to/image-orientation-correction-combined.cs */

using IronOcr;

// Create OCR engine with optimized configuration

IronTesseract ocrTesseract = new IronTesseract();

// Load and process image with all corrections

using var imageInput = new OcrImageInput("skewed_document.png");

// Apply corrections in optimal sequence

imageInput

    .Rotate(90)           // Fix major orientation

    .Deskew(15)          // Correct minor tilts

    .Scale(150, true);   // Enhance for OCR

// Perform OCR on corrected image

OcrResult result = ocrTesseract.Read(imageInput);

// Access extracted text

string extractedText = result.Text;
Imports IronOcr

' Create OCR engine with optimized configuration

Dim ocrTesseract As New IronTesseract()

' Load and process image with all corrections

Using imageInput As New OcrImageInput("skewed_document.png")

    ' Apply corrections in optimal sequence

    imageInput _
        .Rotate(90) _          ' Fix major orientation
        .Deskew(15) _          ' Correct minor tilts
        .Scale(150, True)      ' Enhance for OCR

    ' Perform OCR on corrected image

    Dim result As OcrResult = ocrTesseract.Read(imageInput)

    ' Access extracted text

    Dim extractedText As String = result.Text

End Using
$vbLabelText   $csharpLabel

Hangi ek ön işleme prosedürleri, sonuçları iyileştirir?

Yönlendirme düzeltmesinin ötesinde şu iyileştirmeleri dikkate alın:

Çoklu belgeyi etkin bir şekilde yönetmek için toplu işleme sırasında senkronizasyon desteği uygulayın. Büyük işlemler için zaman aşımı ile işlemi izleyin.

Düzeltilmiş görüntüleri nasıl dışa aktarabilirim?

İşlenmiş görselleri doğrulama veya sonraki kullanım için dışa aktarın:

Karmaşık iş akışlarını uygulamadan önce basit tek satırlı OCR ile düzeltmeleri test edin.

Sıkça Sorulan Sorular

OCR işleminden önce eğilimli veya çevrilmiş görüntüleri nasıl düzeltirim?

IronOCR güçlü görüntü yönü düzeltmesini OcrInput sınıfı aracılığıyla sağlar. Yamulan taramaları, baş aşağı belgeleri ve yanlış boyutlandırılmış görüntüleri düzeltmek için Rotate(), Deskew() ve Scale() gibi yöntemleri zincirleyebilirsiniz. Örneğin, metin çıkarmadan önce tek satırda birden fazla düzeltme uygulamak için input.Rotate(90).Deskew(45).Scale(150) kullanın.

Farklı belge yönleri için hangi döndürme açılarını kullanmalıyım?

IronOCR herhangi bir döndürme açısını destekler, ancak yaygın değerler şunları içerir: Yataydan dikeye dönüşüm için 90 derece, baş aşağı belgeler için 180 derece ve dikeyden yataya dönüşüm için 270 derece. Küçük ayarlamalar için (1-10 derece), hafif eğilimli belgelerle daha iyi sonuçlar almak için IronOCR'un Deskew() yöntemini kullanmayı düşünün.

Belgelerimin doğru yönünü otomatik olarak algılayabilir miyim?

Evet, IronOCR, metin analizi yoluyla doğru yönü otomatik olarak belirleyen bir DetectPageOrientation yöntemi içerir. Bu özellik, özellikle tarihi arşivler veya çeşitli kaynaklardan gelen çok sayfalı belgeler gibi tutarsız yönlere sahip belge grupları işlenirken kullanışlıdır.

Görüntü düzeltmesi için eğrilme düzeltme ile dönüşü ne zaman kullanmalıyım?

Belgeler tamamen yatay veya baş aşağı olduğunda büyük yön sorunları için IronOCR'un Rotate() yöntemini (90, 180, 270 derece) kullanın. Tarama belgelerinde genellikle bulunan hafif eğilim ve dönmeler için Deskew() yöntemini kullanın. Kötü taranmış görüntülerin kapsamlı düzeltmesi için her iki yöntemi de zincirleyebilirsiniz.

Daha iyi OCR doğruluğu için görüntüleri nasıl ölçeklendirebilirim?

IronOCR'un Scale() yöntemi, görüntüleri yüzde oranında yeniden boyutlandırmanıza olanak tanır. Örneğin, Scale(150) görüntü boyutunu %50 artırır ve bu, düşük çözünürlüklü taramalarda OCR doğruluğunu artırabilir. Bu, döndürme ve eğrilikle birleştirildiğinde, kapsamlı görüntü ön işleme işlemi için özellikle yararlıdır.

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.