C#'de Barkod Yönlendirmesini Nasıl Düzeltebilirim? | IronBarcode

Barcode Yönünü C# ile Nasıl Düzeltebilirim?

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

IronBarcode, dahili AutoRotate özelliğini kullanarak barkod yönünü otomatik olarak düzeltir ve manuel resim döndürmeye gerek kalmadan herhangi bir açıda barkodları tespit eder ve okur, eğik veya döndürülmüş görüntülerden bile doğru barkod okumanın sağlanmasını garanti eder.

Barkod yönü, bir barkodun bir ürün ya da belge üstüne basılı veya görüntülenmiş olduğu açıyı ifade eder. Çeşitli açıları ayarlayarak farklı yerleşim ve tasarım gereksinimlerine uygun hale getirilebilir. En yaygın yönlendirme, barkodun soldan sağa hizalandığı, standart ve en yaygın kullanılan format olan yatay yönlendirmedir. Sıfır olmayan herhangi bir yönlendirme açısı, kütüphaneler için değeri tespit etme ve alma açısından zorluk teşkil eder. IronBarcode, barkodlar ve QR kodları için sıfır olmayan yönleri tespit etmek amacıyla otomatik yönlendirme düzeltmesi sunar.

Hızlı Başlangıç: Tek satırda otorotasyon görüntü düzeltmesi

İşte yönü nasıl kolayca düzeltebileceğiniz: IronBarcode'un varsayılan olarak etkinleştirilmiş olan AutoRotate seçeneğini kullanarak, resimler döndüğünde bile barkodları doğru bir şekilde okumak için yalnızca bir satır kod.

  1. IronBarcode aşağıdaki NuGet Paket Yöneticisi ile yükleyin

    PM > Install-Package BarCode
  2. Bu kod parçacığını kopyalayın ve çalıştırın.

    var result = IronBarCode.BarcodeReader.Read("rotatedImage.png", new IronBarCode.BarcodeReaderOptions { AutoRotate = true });
  3. Canlı ortamınızda test için dağıtım yapın

    Ücretsiz deneme ile bugün projenizde IronBarcode kullanmaya başlayın

    arrow pointer

Uygulama İçerisinde Barkod Yönlendirmesini Nasıl Düzeltirim?

Otomatik yön düzeltmeyi uygulamak için BarcodeReaderOptions içindeki AutoRotate özelliğini true olarak ayarlayın. Bu özellik varsayılan olarak true'dur, bu yüzden bir şey yapmanız gerekmez. Sıfır olmayan yönlendirilmiş bir barkod görüntüsünü okumak, kutudan çıktığı gibi çalışmalıdır.

AutoRotate özelliği, QR kodları, Data Matrix ve geleneksel linear barkodlar da dahil olmak üzere çeşitli barkod formatları ile çalışırken özellikle faydalıdır. İster görüntülerden barkod okuyun ister PDF belgelerinden tarayın, yönlendirme düzeltmesi güvenilir sonuçlar sağlar.

Aşağıdaki görüntüyü örneğimiz olarak kullanalım. Aşağıdaki 20° döndürme ve 45° döndürme örnek görüntülerini indirin.

Yönlendirme testi için saat yönünde 20 derece döndürülmüş, açılı dikey şeritler gösteren barkod
Barcode rotated 45 degrees showing diagonal orientation requiring correction

AutoRotate'u Uygulamak İçin Hangi Koda İhtiyacım Var?

:path=/static-assets/barcode/content-code-examples/how-to/image-orientation-correct-autorotate.cs
using IronBarCode;
using System;

BarcodeReaderOptions myOptionsExample = new BarcodeReaderOptions()
{
    // Turn on auto rotation in ML detection
    AutoRotate = true,
};

var results = BarcodeReader.Read("rotate20.png", myOptionsExample);

// Print out the value
Console.WriteLine(results[0].Value);
Imports IronBarCode
Imports System

Private myOptionsExample As New BarcodeReaderOptions() With {.AutoRotate = True}

Private results = BarcodeReader.Read("rotate20.png", myOptionsExample)

' Print out the value
Console.WriteLine(results(0).Value)
$vbLabelText   $csharpLabel

AutoRotate özelliği, barkod yönünü otomatik olarak tespit etmek için gelişmiş makine öğrenimi algoritmalarını kullanır. Bu, tek bir görüntüde birden fazla barkod ile çalışırken veya çeşitli yönlendirmelere sahip görüntü gruplarını işlerken özellikle değerlidir.

Farklı Döndürme Açıları ile Çalışma

IronBarcode'un yönlendirme düzeltmesi, çeşitli döndürme açılarını sorunsuz bir şekilde işler. Aşağıda farklı döndürme açılarında barkod okuma işlemini gösteren bir örnek var:

:path=/static-assets/barcode/content-code-examples/how-to/image-orientation-correction-3.cs
using IronBarCode;
using System;
using System.Collections.Generic;

// Process multiple rotated images
var rotatedImages = new List<string> { "rotate20.png", "rotate45.png", "rotate90.png" };
var options = new BarcodeReaderOptions
{
    AutoRotate = true,
    // Combine with other reading optimizations
    Speed = ReadingSpeed.Balanced,
    ExpectMultipleBarcodes = false
};

foreach (var imagePath in rotatedImages)
{
    var results = BarcodeReader.Read(imagePath, options);
    if (results.Length > 0)
    {
        Console.WriteLine($"Image: {imagePath} - Barcode Value: {results[0].Value}");
        Console.WriteLine($"Barcode Type: {results[0].BarcodeType}");
        Console.WriteLine($"Barcode Rotation: {results[0].Rotation}");
    }
}
Imports IronBarCode
Imports System
Imports System.Collections.Generic

' Process multiple rotated images
Dim rotatedImages As New List(Of String) From {"rotate20.png", "rotate45.png", "rotate90.png"}
Dim options As New BarcodeReaderOptions With {
    .AutoRotate = True,
    ' Combine with other reading optimizations
    .Speed = ReadingSpeed.Balanced,
    .ExpectMultipleBarcodes = False
}

For Each imagePath In rotatedImages
    Dim results = BarcodeReader.Read(imagePath, options)
    If results.Length > 0 Then
        Console.WriteLine($"Image: {imagePath} - Barcode Value: {results(0).Value}")
        Console.WriteLine($"Barcode Type: {results(0).BarcodeType}")
        Console.WriteLine($"Barcode Rotation: {results(0).Rotation}")
    End If
Next
$vbLabelText   $csharpLabel

Performans Hususları

AutoRotate varsayılan olarak etkinleştirilmiş olmasına rağmen, performans etkilerini anlamak barkod okuma işlemi iş akışınızı optimize etmeye yardımcı olur. Özellik, IronBarcode'un okuma hızı seçenekleriyle verimli bir şekilde çalışır ve böylece uygulamanızın ihtiyaçlarına göre doğruluk ve performans arasında denge kurmanıza olanak tanır.

Yüksek hızlı işlem gerektiren uygulamalar için, AutoRotate diğer optimize teknikleri ile birleştirebilirsiniz:

:path=/static-assets/barcode/content-code-examples/how-to/image-orientation-correction-4.cs
var fastReadOptions = new BarcodeReaderOptions
{
    AutoRotate = true,
    Speed = ReadingSpeed.Faster,
    // Specify expected barcode types to improve performance
    ExpectBarcodeTypes = BarcodeEncoding.QRCode | BarcodeEncoding.Code128,
    // Define crop region if barcode location is predictable
    CropArea = new System.Drawing.Rectangle(100, 100, 300, 300)
};
Imports System.Drawing

Dim fastReadOptions = New BarcodeReaderOptions With {
    .AutoRotate = True,
    .Speed = ReadingSpeed.Faster,
    ' Specify expected barcode types to improve performance
    .ExpectBarcodeTypes = BarcodeEncoding.QRCode Or BarcodeEncoding.Code128,
    ' Define crop region if barcode location is predictable
    .CropArea = New Rectangle(100, 100, 300, 300)
}
$vbLabelText   $csharpLabel

Görüntü Düzeltme Özellikleri ile Entegrasyon

AutoRotate, IronBarcode'un görüntü düzeltme filtreleri ile sorunsuz çalışır. Düşük kaliteli ve aynı zamanda döndürülmüş görüntülerle çalışırken, çoklu düzeltmeler uygulayabilirsiniz:

:path=/static-assets/barcode/content-code-examples/how-to/image-orientation-correction-5.cs
var advancedOptions = new BarcodeReaderOptions
{
    AutoRotate = true,
    // Apply additional image corrections
    ImageFilters = new ImageFilterCollection
    {
        new AdaptiveThresholdFilter(),
        new BrightnessFilter(1.2f),
        new ContrastFilter(1.5f)
    }
};

var results = BarcodeReader.Read("low-quality-rotated-barcode.jpg", advancedOptions);
Imports System

Dim advancedOptions As New BarcodeReaderOptions With {
    .AutoRotate = True,
    ' Apply additional image corrections
    .ImageFilters = New ImageFilterCollection From {
        New AdaptiveThresholdFilter(),
        New BrightnessFilter(1.2F),
        New ContrastFilter(1.5F)
    }
}

Dim results = BarcodeReader.Read("low-quality-rotated-barcode.jpg", advancedOptions)
$vbLabelText   $csharpLabel

Yönlendirme Düzeltme İçin En İyi Uygulamalar

  1. Varsayılan Davranış: AutoRotate varsayılan olarak etkin olduğundan, genellikle bunu önceden devre dışı bırakmadıysanız veya etkin olduğundan emin olmak istemiyorsanız açıkça ayarlamanız gerekmez.

  2. Kesme Bölgeleriyle Birleştirme: Performansı artırmak için kesme bölgeleri kullanırken, döndürülmüş barkodu yerleştirmek için kesme alanının yeterince büyük olduğundan emin olun.

  3. Çok İzlekli İşleme: AutoRotate izlek güvenlidir ve async ve çok izlekli işlemler ile iyi çalışır, bu da onu yüksek hacimli barkod işleme uygulamaları için uygun hale getirir.

  4. Formata Özgü Dikkat Edilmesi Gerekenler: AutoRotate tüm desteklenen barkod formatları ile çalışırken, PDF417 ve Data Matrix gibi bazı formatlar ek formata özgü seçeneklerden fayda görebilir.

Birçok durumda, döndürmenin düzeltilmesi yeterli olmayabilir ve bir filtre gerekli olabilir. Görüntü filtrelerini kullanmayı şu makalede öğrenin: "Görüntü Düzeltme Filtrelerini Kullanma."

Sıkça Sorulan Sorular

C# uygulamamda döndürülmüş barkod görüntülerini nasıl düzeltirim?

IronBarcode, yerleşik AutoRotate özelliği ile döndürülmüş barkod görüntülerini otomatik olarak düzeltir. Sadece BarkodReaderOptions'ta AutoRotate'yi true olarak ayarlayın (varsayılan olarak açık) ve kütüphane barkodları manuel döndürme gerektirmeden herhangi bir açıda algılar ve okur.

Hangi barkod yönlendirmeleri otomatik olarak düzeltilebilir?

IronBarcode'un AutoRotate özelliği, 20°, 45°, 90°, 180°, ve 270° döndürmeler dahil olmak üzere sıfır olmayan herhangi bir derece yönlenmesini algılayabilir ve düzeltebilir. Bu özellik QR kodları, Veri Matrisi ve geleneksel lineer barkodlar dahil çeşitli barkod formatları ile çalışır.

Eğimli barkodları ele almak için özel bir kod yazmam gerekiyor mu?

Özel bir kod gerekmez. IronBarcode'un AutoRotate özelliği varsayılan olarak etkinleştirilmiş olduğundan, yönlendirme düzeltmesi kutudan çıktığı gibi çalışır. Sadece bir satır kod yeterlidir: var result = IronBarCode.BarcodeReader.Read("dönmüşImage.png");

Yönlendirme düzeltmesi PDF belgeleri ile çalışabilir mi?

Evet, IronBarcode'un AutoRotate özelliği, PDF belgelerindeki barkodları tararken olduğu kadar görüntülerde de sorunsuz şekilde çalışır. Yönlendirme düzeltmesi, kaynak format ne olursa olsun güvenilir sonuçlar sağlar.

Otomatik yönlenme algılama hangi teknoloji ile güçlendirilmiştir?

IronBarcode, barkod yönlenmesini otomatik olarak algılamak için gelişmiş makine öğrenmesi algoritmaları kullanır. Bu akıllı yaklaşım, elle müdahale olmadan eğimli veya döndürülmüş görüntülerden bile doğru barkod okumayı sağlar.

Barkod operasyonlarında IronBarcode kullanmanın avantajları nelerdir?

IronBarcode, entegrasyon kolaylığı, birçok barkod formatını destekleme, yüksek kaliteli görüntü üretimi ve sağlam okuma yetenekleri gibi avantajlar sunarak, C#'ta barkod operasyonları için kapsamlı bir araçtır.

IronBarcode barkod görünümünü özelleştirme desteği sağlıyor mu?

Evet, IronBarcode, barkod görünümünü özelleştirmek için renk, boyut ve metin notları gibi geniş seçenekler sunar, bu da barkodları belirli tasarım gereksinimlerinize göre uyarlamanıza imkan tanır.

IronBarcode, iş süreçlerindeki verimliliği artırmaya nasıl yardımcı olabilir?

IronBarcode, hızlı ve doğru barkod üretimi ve okuma yeteneği sağlayarak, manuel veri girişi hatalarını azaltır ve envanter ile varlık takibini iyileştirerek iş süreçlerinin verimliliğini artırır.

Bir projede IronBarcode'u uygulamak için hangi programlama becerileri gereklidir?

IronBarcode'u bir projede uygulamak için temel C# programlama bilgisi yeterlidir, çünkü bu kütüphane, geliştiricilere rehberlik eden basit yöntemler ve kapsamlı belgeler sağlar.

IronBarcode, hem küçük projeler hem de büyük kurumsal uygulamalar için uygun mu?

IronBarcode, küçük projeler kadar geniş çaplı kurumsal uygulamalar için de uygun, ölçeklenebilir ve çok yönlü olacak şekilde tasarlanmıştır ve sağlam barkod çözümleri gerektiren uygulamalara hizmet eder.

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 2,331,688 | Sürüm: 2026.7 yeni yayınlandı
Still Scrolling Icon

Hâlâ Kaydırıyor Musunuz?

Hızlıca kanıt ister misiniz? PM > Install-Package BarCode
bir örnek çalıştır dizginizin barkoda dönüştüğünü izle.