How to Detect Page Rotation in C# with IronOCR
IronOCR'un DetectPageOrientation yöntemi, PDF belgeleri ve görüntülerde sayfa dönüş açılarını (0°, 90°, 180°, 270°) otomatik olarak tanımlar. Her sayfa için bir RotationAngle özelliği döndürür, bu da doğru metin çıkarımı için güven puanları ile programatik yönlendirme düzeltmesine olanak tanır.
Sayfa dönmesi tespiti, bir belgenin sayfasının saat yönünde veya saat yönünün tersine 0, 90, 180 veya 270 derece döndürülüp döndürülmediğini tanımlar. Bu bilgi, sayfaların doğru bir şekilde render edilmesi ve metin çıkarılması için doğru yönlendirme ile görüntülenmesini veya işlenmesini sağlar.
Başlangıç: Sayfa Dönmesini Belirlemek İçin DetectPageOrientation Kullan
Bu örnek, PDF'de IronOCR'un DetectPageOrientation kullanılarak RotationAngle özelliğine erişimi gösterir. Minimal kod ile hızlı sayfa dönmesi tespiti ve düzeltmesi sağlar.
-
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 rotationResults = new IronOcr.OcrInput().LoadPdf("doc.pdf").DetectPageOrientation(); Console.WriteLine(rotationResults.First().RotationAngle); -
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)
- Sayfa dönmesini tespit etmek için bir C# kütüphanesi indirin
- Okuma için PDF belgesini ve görüntüleri içe aktarın
- Tüm sayfaların dönüşünü tespit etmek için
DetectPageOrientationyöntemini kullanın - Sayfa dönüşünü düzeltmek için
RotationAngleözelliğine erişin - Uç durumları ele almak için
HighConfidenceözelliğine erişin
Dökümanlarımda Sayfa Dönmesini Nasıl Tespit Ediyorum?
Bir belgeyi yükledikten sonra, her sayfanın rotasyonunu belirlemek için DetectPageOrientation yöntemini kullanın. Bu yöntem 0, 90, 180 ve 270 dereceyi destekler. Bu standart dönüşlerin ötesinde çarpık görüntüler için, IronOCR'un görüntü düzeltme filtrelerinden Deskew yöntemini kullanın. Daha sonra, tespit edilen açı kullanılarak görüntüyü orijinal yönelimine geri döndürün. Bir örnek PDF ile çalışalım.
:path=/static-assets/ocr/content-code-examples/how-to/detect-page-rotation-detect-page-rotation.cs
using IronOcr;
using System;
using var input = new OcrInput();
// Load PDF document
input.LoadPdf("Clockwise90.pdf");
// Detect page rotation
var results = input.DetectPageOrientation();
// Ouput result
foreach(var result in results)
{
Console.WriteLine(result.PageNumber);
Console.WriteLine(result.HighConfidence);
Console.WriteLine(result.RotationAngle);
}
Imports IronOcr
Imports System
Private input = New OcrInput()
' Load PDF document
input.LoadPdf("Clockwise90.pdf")
' Detect page rotation
Dim results = input.DetectPageOrientation()
' Ouput result
For Each result In results
Console.WriteLine(result.PageNumber)
Console.WriteLine(result.HighConfidence)
Console.WriteLine(result.RotationAngle)
Next result
Tespit Sonuçları Ne Anlama Geliyor?
PageNumber: Sayfanın sıfır bazlı indeksi.RotationAngle: Derece cinsinden dönme açısı. Yönlendirmeyi düzeltmek içinRotateyöntemi ile kullanın.HighConfidence: Sınır durumlarını ele almak için yönelim sonucu güven seviyesi.
Yüksek Güven Değerlerini Ne Zaman Kullanmalıyım?
HighConfidence özelliği, dönme tespitinin belirsiz olabileceği belirsiz veya düşük kaliteli belgeler için çok önemlidir. Seyrek metin, alışılmadık düzenler veya kötü tarama kalitesine sahip belgeler genellikle daha düşük güven puanları döndürür. Bu durumlarda, tespit öncesi ek doğrulama uygulayın veya görüntü kalite düzeltme filtreleri uygulayın.
Bu değeri, düşük güvene sahip sayfalar için yedek stratejiler uygulamak veya manuel inceleme yapmak için kullanın. Örneğin, güven %80'in altına düşerse, sayfayı birden fazla yönlendirme ile işleyin ve OCR sonuçlarını karşılaştırın veya manuel inceleme için işaretleyin. IronOCR'un bilgisayar görme özellikleri, zorlu belgelerde metin bölgelerini daha doğru tanımlamaya yardımcı olur.
Algılanan Dönmeyi Nasıl Düzeltebilirim?
Dönme açısını belirledikten sonra, OCR öncesi yönlendirmeyi düzeltmek için Rotate yöntemini OcrInput nesnenizde kullanın. Bu, optimal metin tanıma doğruluğunu sağlar. Detaylı yönlendirme düzeltmeleri için görüntü yönelim düzeltme rehberine bakın. Düzeltme işlemi şöyle:
// Apply rotation correction based on detection results
if (result.RotationAngle != 0)
{
input.Rotate(360 - result.RotationAngle); // Rotate back to 0°
}
// Apply rotation correction based on detection results
if (result.RotationAngle != 0)
{
input.Rotate(360 - result.RotationAngle); // Rotate back to 0°
}
' Apply rotation correction based on detection results
If result.RotationAngle <> 0 Then
input.Rotate(360 - result.RotationAngle) ' Rotate back to 0°
End If
Ek ön işleme gerektiren belgeler için, OCR işleme öncesi kapsamlı belge hazırlama yöntemleri sunan OcrInput Sınıfını düşünün.
Tespit Hızı ve Doğruluğunu Nasıl Özelleştirebilirim?
DetectPageOrientation yöntemi, tespit detaylarını kontrol etmek için isteğe bağlı bir parametre kabul eder. Gereksinimlerinize göre tespit hızı ve doğruluğunu ayarlamanıza olanak tanıyan OrientationDetectionMode enumlar sağlayarak yapabilirsiniz.
Bunu uygulama şekliniz şöyle:
:path=/static-assets/ocr/content-code-examples/how-to/detect-page-rotation-detect-page-rotation-advanced.cs
using IronOcr;
using System;
using var input = new OcrInput();
// Load PDF document
input.LoadPdf("Clockwise90.pdf");
// Detect page rotation with Fast mode
var results = input.DetectPageOrientation(OrientationDetectionMode.Fast);
// Ouput result
foreach(var result in results)
{
Console.WriteLine(result.PageNumber);
Console.WriteLine(result.HighConfidence);
Console.WriteLine(result.RotationAngle);
}
Imports IronOcr
Imports System
Using input As New OcrInput()
' Load PDF document
input.LoadPdf("Clockwise90.pdf")
' Detect page rotation with Fast mode
Dim results = input.DetectPageOrientation(OrientationDetectionMode.Fast)
' Output result
For Each result In results
Console.WriteLine(result.PageNumber)
Console.WriteLine(result.HighConfidence)
Console.WriteLine(result.RotationAngle)
Next
End Using
Hangi Tespit Modunu Seçmeliyim?
OrientationDetectionMode için dört hızlılık seçeneği mevcuttur:
- Hızlı: Daha düşük doğrulukla yüksek hızlı tespit. Hızın kritik olduğu taslaklar veya toplu işlemler için idealdir.
DetectPageOrientationiçin varsayılan. Binlerce sayfayı çoklu iş parçacığı desteği ile verimli bir şekilde işler. - Dengeli: Dengeli hız ve doğruluk. Üretim görevleri için uygundur. Performansı korurken doğruluğu artırmak için Gelişmiş Tarama eklentisi yeteneklerini kullanır.
- Detaylı: Düşük hız, yüksek doğruluk. Özellikle karmaşık düzenlere veya karma içeriklere sahip belgeler gibi hassas veya kritik görevler için en iyisidir.
- Aşırı Detaylı: En yavaş hız, en yüksek doğruluk. Detaylı yeterli olmadığında veya metin aşırı eğik ve bozulmuş olduğunda kullanın.
Yaygın Performans Dikkatleri Nelerdir?
Performans, modlar arasında önemli ölçüde değişiklik gösterir. Hızlı mod dakikada yüzlerce sayfa işler; Aşırı Detaylı sayfa başına saniyeler alabilir. Doğruluk gereksinimlerine ve zaman kısıtlamalarına göre seçim yapın. Optimum performans için:
- Görüntü Çözünürlüğü: Daha yüksek DPI ayarları doğruluğu artırır ancak işlem süresini uzatır. Dönüş tespiti için genellikle 150-300 DPI yeterlidir.
- Belge Türü: Metin yoğun belgeler, dağınık düzenlerden daha hızlı ve daha doğru işlemden geçer. Tespitten önce görüntü kalitesini optimize etmek için Filtre Sihirbazı kullanın.
- Kaynak Kullanımı: Büyük yığınları işlerken bellek kullanımını izleyin. Geri bildirim sağlamak ve sistem kaynaklarını yönetmek için ilerleme takibi uygulayın.
- Paralel İşleme: Toplu işlemler için IronOCR'un çoklu iş parçacığını kullanarak birden fazla belgeyi aynı anda işleyin ve doğruluğu koruyun.
Karma Yönlendirmeli Belgeleri Nasıl İşlerim?
Karışık yönlendirme içeren belgeler için, her sayfayı DetectPageOrientation ile bireysel olarak işleyin ve sonra OCR öncesi sayfa sayfası dönüş düzeltmeleri uygulayın. Bu, başlangıç durumundan bağımsız olarak doğru yönlendirmeyi sağlar. İşte etkili bir yaklaşım:
// Process each page with individual rotation detection
for (int i = 0; i < results.Count; i++)
{
var pageResult = results[i];
// Apply rotation only to pages that need it
if (pageResult.RotationAngle != 0 && pageResult.HighConfidence)
{
// Correct the specific page
input.Pages[i].Rotate(360 - pageResult.RotationAngle);
}
}
// Process each page with individual rotation detection
for (int i = 0; i < results.Count; i++)
{
var pageResult = results[i];
// Apply rotation only to pages that need it
if (pageResult.RotationAngle != 0 && pageResult.HighConfidence)
{
// Correct the specific page
input.Pages[i].Rotate(360 - pageResult.RotationAngle);
}
}
' Process each page with individual rotation detection
For i As Integer = 0 To results.Count - 1
Dim pageResult = results(i)
' Apply rotation only to pages that need it
If pageResult.RotationAngle <> 0 AndAlso pageResult.HighConfidence Then
' Correct the specific page
input.Pages(i).Rotate(360 - pageResult.RotationAngle)
End If
Next
Taranmış belgeler ile değişen kaliteye sahip veya çok sayfalı TIFF'ler içeren karmaşık senaryolar için her sayfayı ayrı ayrı önceden işlemeyi optimal sonuçlar için yapın.
Karma formatlı girdileri işlerken Ocr Sonuç Sınıfı ayrıntılı sayfa bilgileri sağlar ve bu, karmaşık hata ayıklama ve kalite kontrol iş akışlarını olanaklı kılar. Yüksek hacimli üretim ortamları için, hızı ve doğruluğu dengelemek için Hızlı OCR Yapılandırma seçeneklerini keşfedin.
Hem metin hem de barkod içeren belgeleri işlerken, IronOCR'un Barkod & QR Okuma ile OCR yeteneklerini kullanarak tüm bilgiyi tek bir geçişte çıkarın, verimliliği artırın.
Sıkça Sorulan Sorular
Sayfa dönüş algılama nedir ve neden önemlidir?
Sayfa dönüş algılama, bir belgenin sayfasının 0°, 90°, 180° veya 270° derece döndürülüp döndürülmediğini belirler. Bu, IronOCR'nin sayfaların doğru yönde işlendiğinden emin olması için kritik öneme sahiptir; böylece PDF'lerden ve görüntülerden doğru metin çıkarımı iletebilir.
C# kullanarak PDF'lerde sayfa dönüşünü hızlı bir şekilde nasıl algılarım?
Basit bir kodla IronOCR'un DetectPageOrientation yöntemini kullanın: var rotationResults = new IronOcr.OcrInput().LoadPdf("doc.pdf").DetectPageOrientation(); Bu, tüm sayfalar için rotation information döndürür ve RotationAngle özelliği yoluyla erişilebilir.
Hangi dönüş açıları algılanabilir?
IronOCR'un DetectPageOrientation yöntemi, 0°, 90°, 180° ve 270° derecelik standart dönüşleri algılayabilir. Bu standart dönüşlerin ötesindeki eğik görüntüler için, IronOCR'un görüntü düzeltme filtrelerinden Deskew yöntemini kullanın.
DetectPageOrientation ne tür bilgiler döndürür?
Yöntem her sayfa için üç ana özellik döndürür: PageNumber (sıfır tabanlı indeks), RotationAngle (IronOCR'un Rotate yöntemiyle kullanılacak derecelik dönüş) ve HighConfidence (uç durumları işlemek için güven seviyesi).
HighConfidence özelliğini ne zaman kullanmalıyım?
HighConfidence özelliğini döndürme tespitinin belirsiz olabileceği belirsiz veya düşük kaliteli belgelerle çalışırken kullanın. IronOCR'daki seyrek metinler, alışılmadık düzenler veya düşük tarama kalitesine sahip belgeler genellikle daha düşük güven puanları döndürür, ek doğrulama veya görüntü kalitesi düzeltme filtreleri gerektirebilir.
Bu özellik belirli türdeki belgelerde en iyi şekilde çalışır mı?
IronOCR'un DetectPageOrientation işlevi, metinle yoğun belgelerde en iyi performansı gösterir. Az metin içeren veya karmaşık düzenlere sahip belgelerde, en iyi sonuçlar için tespit öncesinde görüntü kalitesi düzeltme filtrelerini uygulamayı düşünün.

