C# ile OCR'de Görüntü Yönünü Düzeltin
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.
-
NuGet Paket Yöneticisi ile https://www.nuget.org/packages/IronOcr yükleyin
PM > Install-Package IronOcr -
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)); -
Canlı ortamınızda test etmek için dağıtın
Bugün projenizde IronOCR kullanmaya başlayın ücretsiz deneme ile
Minimal İş Akışı (5 adımda)
- Görüntü yönünü düzeltmek için bir C# kütüphanesi indirin
- Okuma için PDF belgesini ve görüntüleri içe aktarın
- Döndürme, eğriliği düzeltme ve ölçeklendirme gibi istenen yön düzeltmesini uygulayın
- Görülmek üzere düzeltilmiş görüntüyü dışa aktarın
- OCR işleme için
Readyöntemini kullanın
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:
-
Karakter tanıyamama
-
Yanlış kelime sınırları
-
Paragraf algılamama
- Sonuçlarda güven puanlarının düşmesi
: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
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.
Önce
Sonra
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:
-
Net yatay çizgilerle dolu belgeler
-
Formlar ve yapılandırılmış belgeler
-
Kitaplardan veya dergilerden taranmış sayfalar
-
Tutarlı eğiklik içeren Çok sayfalı TIFF dosyaları
- Hassas hizalama gerektiren Finansal belgeler
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ı:
-
Muhafazakar açı limitleriyle başlayın (10-15 derece)
-
Düzeltmeleri doğrulamak için OcrResult güven skorlarını kullanın
-
Bileşen sorunlar için döndürmeden sonra masa düzeltmeyi uygulayın
-
Toplu işleme başlamadan önce örnek belgeleri test edin
-
Büyük gruplar için ilerleme izleme kullanın
- 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
Önce
Sonra
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:
-
Belirli görüntü bölgeleri ile çalışırken
-
Tanımlı alanlara sahip formlar işlenirken
-
Kimlik belgeleri verileri çıkarılırken
-
Barkod okuma için pozisyonları korurken
- Belirli bölgelerle MICR çeklerini okurken
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
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:
Kombine düzeltmeler için en iyi uygulamalar nelerdir?
Maksimum sonuç için düzeltmeleri bu sırayla uygulayın:
-
Yönelim sorunları için Döndürme ilk sırada
-
Hizalamayı tamamlamak için Eğriliği Düzeltme
- 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
Hangi ek ön işleme prosedürleri, sonuçları iyileştirir?
Yönlendirme düzeltmesinin ötesinde şu iyileştirmeleri dikkate alın:
-
Solmuş belgeler için Renk düzeltmesi
-
Gürültü azaltma için Kalite filtreleri
-
Metin konumu için Bilgisayar görsüsü
- Düzeltmeleri doğrulamak için Vurgu metin hata ayıklama
Ç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:
-
Tekli görüntüler:
SaveAsImages()yöntemi -
Gömülü metin ile Aranabilir PDF'ler
-
Web entegrasyonu için hOCR HTML dışa aktarımı
- Bulut saklama için PDF akışları
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.

