C#에서 바코드 방향 수정하는 방법 | IronBarcode

C#에서 바코드 방향을 수정하는 방법

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

IronBarcode는 내장된 AutoRotate 기능을 사용하여 바코드 방향을 자동으로 수정하며, 수작업 이미지 회전 없이 모든 각도에서 바코드를 감지하고 읽을 수 있어, 기울어지거나 회전된 이미지에서도 정확한 바코드 판독을 보장합니다.

바코드 방향은 제품이나 문서에 바코드가 인쇄되거나 표시되는 각도를 나타냅니다. 다양한 레이아웃과 디자인 요구에 맞추기 위해 여러 각도로 조정할 수 있습니다. 가장 일반적인 방향은 가로로, 이는 표준이며 가장 널리 사용되는 형식입니다. 0 이외의 방향 각도는 라이브러리가 값을 감지하고 가져오는 데 도전 과제가 됩니다. IronBarcode는 바코드 및 QR 코드의 0이 아닌 모든 방향을 자동으로 감지하여 방향을 자동으로 수정합니다.

빠른 시작: 한 줄로 이미지 회전 자동 수정

다음은 IronBarcode의 AutoRotate 옵션을 사용하여 회전된 이미지에서도 바코드를 정확하게 읽을 수 있는 한 줄의 코드로 방향을 쉽게 수정하는 방법입니다.

  1. NuGet 패키지 관리자를 사용하여 https://www.nuget.org/packages/BarCode 설치하기

    PM > Install-Package BarCode
  2. 다음 코드 조각을 복사하여 실행하세요.

    var result = IronBarCode.BarcodeReader.Read("rotatedImage.png", new IronBarCode.BarcodeReaderOptions { AutoRotate = true });
  3. 실제 운영 환경에서 테스트할 수 있도록 배포하세요.

    무료 체험판으로 오늘 프로젝트에서 IronBarcode 사용 시작하기

    arrow pointer

내 응용 프로그램에서 바코드 방향을 어떻게 수정하나요?

자동 방향 수정 적용을 위해 BarcodeReaderOptionsAutoRotate 속성을 true로 설정하십시오. 이 속성은 기본적으로 true로 설정되어 있어 아무것도 하지 않아도 됩니다. 0이 아닌 방향의 바코드 이미지를 읽는 것이 즉시 작동해야 합니다.

AutoRotate 기능은 QR 코드, 데이터 매트릭스 및 전통적인 선형 바코드와 같은 다양한 바코드 형식을 다룰 때 특히 유용합니다. 이미지에서 바코드를 읽거나 PDF 문서에서 스캔하든, 방향 수정은 신뢰할 수 있는 결과를 보장합니다.

다음 이미지를 샘플로 사용합시다. Download the following 20° rotation and 45° rotation sample images.

Barcode rotated 20 degrees clockwise showing vertical stripes at an angle for orientation testing
Barcode rotated 45 degrees showing diagonal orientation requiring correction

AutoRotate를 구현하는 데 필요한 코드는 무엇인가요?

: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);
$vbLabelText   $csharpLabel

AutoRotate 기능은 고급 머신 러닝 알고리즘을 활용하여 바코드 방향을 자동으로 감지합니다. 이는 단일 이미지에서 여러 바코드를 처리할 때나 다양한 방향을 가진 이미지 일괄 처리를 수행할 때 특히 가치가 있습니다.

다양한 회전 각도와 작업하기

IronBarcode의 방향 수정은 다양한 회전 각도를 원활하게 처리합니다. 다음 예제는 다양한 회전 각도에서 바코드를 읽는 방법을 보여줍니다:

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($"Rotation Applied: {results[0].WasRotated}");
    }
}
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($"Rotation Applied: {results[0].WasRotated}");
    }
}
$vbLabelText   $csharpLabel

성능 고려 사항

AutoRotate는 기본적으로 활성화되어 있지만, 그 성능 영향을 이해하면 바코드 읽기 워크플로우를 최적화하는 데 도움이 됩니다. 이 기능은 IronBarcode의 판독 속도 옵션과 효율적으로 작동하여 응용 프로그램의 요구에 맞춰 정확도와 성능의 균형을 조정할 수 있습니다.

고속 처리가 필요한 애플리케이션의 경우, AutoRotate를 다른 최적화 기법과 결합할 수 있습니다:

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)
};
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)
};
$vbLabelText   $csharpLabel

이미지 수정 기능과의 통합

AutoRotate는 IronBarcode의 이미지 보정 필터와 원활하게 작동합니다. 회전된 품질이 낮은 이미지를 다룰 때 여러 수정을 적용할 수 있습니다:

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);
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);
$vbLabelText   $csharpLabel

방향 수정을 위한 최선의 방법

  1. 기본 동작: AutoRotate는 기본적으로 활성화되어 있으므로 이전에 비활성화했거나 활성 상태를 보장하려는 경우가 아니면 명시적으로 설정할 필요가 없습니다.

  2. 잘라내기 영역과 결합: 성능을 개선하기 위해 잘라내기 영역을 사용할 때, 회전된 바코드를 수용할 수 있을 만큼 자르는 영역이 충분히 큰지 확인하세요.

  3. 멀티 스레드 처리: AutoRotate는 스레드 안전성이 있으며 비동기 및 멀티 스레드 작업과 잘 작동하여 대량 바코드 처리 응용 프로그램에 적합합니다.

  4. 형식별 고려사항: AutoRotate는 지원되는 모든 바코드 형식과 함께 작동하지만, PDF417 및 Data Matrix와 같은 일부 형식은 추가적인 형식별 옵션의 혜택을 받을 수 있습니다.

많은 경우 회전 수정만으로는 충분하지 않으며 필터가 필요합니다. 다음 기사에서 이미지 필터 사용 방법을 배워보세요: "이미지 수정 필터 사용 방법"

자주 묻는 질문

C# 애플리케이션에서 회전된 바코드 이미지를 어떻게 수정할 수 있나요?

IronBarcode는 내장된 자동 회전(AutoRotate) 기능을 사용하여 회전된 바코드 이미지를 자동으로 보정합니다. BarcodeReaderOptions에서 AutoRotate를 true로 설정하기만 하면(기본적으로 활성화됨), 라이브러리가 수동으로 회전할 필요 없이 어떤 각도의 바코드라도 감지하고 읽습니다.

바코드 방향 중 어떤 것을 자동으로 보정할 수 있나요?

IronBarcode의 자동 회전 기능은 20°, 45°, 90°, 180°, 270°를 포함한 모든 0도 이상의 회전 방향을 감지하고 수정할 수 있습니다. 이 기능은 QR 코드, 데이터 매트릭스, 기존 선형 바코드 등 다양한 바코드 형식에서 작동합니다.

기울어진 바코드를 처리하기 위해 특별한 코드를 작성해야 하나요?

특별한 코드는 필요하지 않습니다. IronBarcode의 AutoRotate 속성은 기본적으로 활성화되어 있으므로 방향 보정 기능이 바로 작동합니다. 다음 한 줄의 코드만 필요합니다. var result = IronBarCode.BarcodeReader.Read("rotatedImage.png");

PDF 문서에서도 방향 보정 기능이 작동하나요?

네, IronBarcode의 자동 회전 기능은 PDF 문서뿐 아니라 이미지에서 바코드를 스캔할 때도 완벽하게 작동합니다. 방향 보정 기능 덕분에 원본 파일 형식에 관계없이 안정적인 결과를 얻을 수 있습니다.

자동 방향 감지 기능은 어떤 기술로 구현되었습니까?

IronBarcode는 고급 머신러닝 알고리즘을 사용하여 바코드 방향을 자동으로 감지합니다. 이러한 지능적인 접근 방식을 통해 수동 조작 없이도 기울어지거나 회전된 이미지에서도 정확한 바코드 판독이 가능합니다.

커티스 차우
기술 문서 작성자

커티스 차우는 칼턴 대학교에서 컴퓨터 과학 학사 학위를 취득했으며, Node.js, TypeScript, JavaScript, React를 전문으로 하는 프론트엔드 개발자입니다. 직관적이고 미적으로 뛰어난 사용자 인터페이스를 만드는 데 열정을 가진 그는 최신 프레임워크를 활용하고, 잘 구성되고 시각적으로 매력적인 매뉴얼을 제작하는 것을 즐깁니다.

커티스는 개발 분야 외에도 사물 인터넷(IoT)에 깊은 관심을 가지고 있으며, 하드웨어와 소프트웨어를 통합하는 혁신적인 방법을 연구합니다. 여가 시간에는 게임을 즐기거나 디스코드 봇을 만들면서 기술에 대한 애정과 창의성을 결합합니다.

시작할 준비 되셨나요?
Nuget 다운로드 2,108,094 | 버전: 2026.3 방금 출시되었습니다
Still Scrolling Icon

아직도 스크롤하고 계신가요?

빠른 증거를 원하시나요? PM > Install-Package BarCode
샘플을 실행하세요 실이 바코드로 변하는 모습을 지켜보세요.