Aspose.BarCode를 사용하여 단일 이미지에서 여러 QR 코드를 스캔하는 방법 .NET

Aspose.BarCode를 사용하여 단일 이미지에서 여러 QR 코드를 스캔하는 방법 .NET

이 글은 어떻게 해야 하는지 보여줍니다. 스캔 및 하나의 이미지에 존재하는 여러 QR 코드를 해독 도서관은 배치 탐지 및 추출을 허용하여 양식, 티켓, 인포 라벨 또는 여러 QR 코드를 동시에 사용하는 다른 문서를 쉽게 처리합니다.

현실 세계 문제

조직은 종종 수신 또는 여러 QR 코드를 포함하는 이미지 (검사 형식, 대량 라벨, 이벤트 패스 등)를 생성합니다. 각 코드의 수동 검사는 느리고 실용적입니다. 개발자는 이러한 이미지의 모든 QR 코드를 하나의 자동화 된 단계로 처리하는 빠르고 신뢰할 수있는 방법이 필요합니다.

해결책의 개요

Aspose.BarCode for .NET supports batch QR recognition: it can scan and decode all QR codes within a single image file or stream. The result is a collection of decoded objects, enabling high-throughput document automation, ticket validation, or data collection workflows.


원칙

시작하기 전에, 당신이 가지고 있는지 확인하십시오 :

  1. Visual Studio 2019 또는 이후
  2. .NET 6.0 또는 이후 (또는 .NET Framework 4.6.2+)
  3. Aspose.BarCode for .NET installed via NuGet
  4. C#에 대한 기본 지식
PM> Install-Package Aspose.BarCode

단계별 실행

단계 1: 설치 및 설정 Aspose.BarCode

Aspose.BarCode 패키지를 추가하고 필요한 이름 공간을 포함합니다.:

using Aspose.BarCode.BarCodeRecognition;

단계 2: 입력 데이터를 준비하십시오

여러 QR 코드를 포함하는 이미지 파일을 준비하거나 얻으십시오 (예를 들어, “multi_qr_sample.png”).

string imagePath = "multi_qr_sample.png";

단계 3: QR 코드 배치 인식 옵션을 설정

QR 스캔을 위해 바코드 리더를 설정합니다. 추가 배치 옵션이 필요하지 않습니다: 리더는 모든 현재 QR 코드를 자동으로 감지합니다.

BarCodeReader reader = new BarCodeReader(imagePath, DecodeType.QR);

단계 4: 배치 QR 스캔 프로세스를 실행

모든 QR 코드를 통해 Iterate를 사용하십시오 :

foreach (BarCodeResult result in reader.ReadBarCodes())
{
    Console.WriteLine($"Type: {result.CodeTypeName}");
    Console.WriteLine($"Text: {result.CodeText}");
}

단계 5: 출력 및 포스트 처리 처리 처리

귀하의 응용 프로그램에 의해 요구되는대로 해독된 QR 데이터를 저장, 검증 또는 처리합니다 (데이터베이스 입력, 이벤트 검증 등).


단계 6 : 실수 처리 실행

using Aspose.BarCode.BarCodeRecognition;
using System;

class Program
{
    static void Main()
    {
        string imagePath = "QR_sample.png";
        try
        {
            using (BarCodeReader reader = new BarCodeReader(imagePath, DecodeType.QR))
            {
                foreach (BarCodeResult result in reader.ReadBarCodes())
                {
                    Console.WriteLine($"Type: {result.CodeTypeName}");
                    Console.WriteLine($"Text: {result.CodeText}");
                }
            }
        }
        catch (Exception ex)
        {
            Console.WriteLine($"Error: {ex.Message}");
        }
    }
} 

완전한 예제

using Aspose.BarCode.BarCodeRecognition;
using System;

class Program
{
    static void Main()
    {
        string imagePath = "multi_qr_sample.png";
        try
        {
            using (BarCodeReader reader = new BarCodeReader(imagePath, DecodeType.QR))
            {
                foreach (BarCodeResult result in reader.ReadBarCodes())
            {
                Console.WriteLine($"Type: {result.CodeTypeName}");
                Console.WriteLine($"Text: {result.CodeText}");
            }
        }
        }
        catch (Exception ex)
        {
            Console.WriteLine($"Error: {ex.Message}");
        }
    }
} 

사용 사례 및 응용 프로그램

  • 대량 티켓 또는 패스 스캔: 이벤트 또는 트랜지스 스테이션에서 체크인 시스템
  • 배치 문서 자동화 : 양식 또는 스캔 된 페이지에서 메타 데이터를 추출
  • 재산 및 재산 관리 : 단일 레이블 또는 크레이트에 여러 QR 코드를 스캔

일반적인 도전과 해결책

도전 1 : QR 코드는 너무 가까워집니다. 해결책 : 각 코드 주위에 명확한 조용한 영역을 인쇄/설치 디자인에서 사용하십시오.

도전 2 : 일부 QR 코드가 발견되지 않았습니다. 해결책 : 이미지 해상도를 증가시키거나 이미지 (예 : 경계)를 사전 처리하여 명확성을 향상시킵니다.

도전 3 : 원치 않는 바코드가 존재합니다 해결책 : QR를 사용하여 엄격하게 해독을 제한합니다. DecodeType.QR 오직.


성과 고려

  • 높은 속도 응용 프로그램을 위한 스트림 또는 메모리 버퍼를 사용하십시오.
  • 리더를 사용하여 자원을 보존하는
  • 최상의 속도와 정확성 균형을 위해 이미지 크기를 조정합니다.

최고의 실천

  1. 사용하기 전에 각각의 디코딩 결과를 확인합니다.
  2. 추적 및 감사를 위한 기록 결과
  3. 다양한 샘플 이미지로 테스트 배치 스캔
  4. 문서 배열에서 QR 코드의 명확한 분리를 보장합니다.

고급 시나리오

1. Batch Scan QR Codes from a MemoryStream

using Aspose.BarCode.BarCodeRecognition;
using (FileStream fs = File.OpenRead("sample.png"))
using (BarCodeReader reader = new BarCodeReader(fs, DecodeType.QR))
{
    foreach (BarCodeResult result in reader.ReadBarCodes())
    {
        Console.WriteLine(result.CodeText);
    }
}

2. Process Results for Database Entry

using Aspose.BarCode.BarCodeRecognition;

List<string> qrData = new List<string>();
string imagePath = "sample.png"; // Use a valid test file path
using (BarCodeReader reader = new BarCodeReader(imagePath, DecodeType.QR))
{
    foreach (BarCodeResult result in reader.ReadBarCodes())
    {
        qrData.Add(result.CodeText);
    }
}
// Insert qrData into database as needed

결론

Aspose.BarCode for .NET을 사용하면 단일 이미지에 존재하는 모든 QR 코드를 효율적으로 배치하여 이벤트 관리, 자산 추적 또는 문서 작업 흐름에서 높은 볼륨 자동화를 제공할 수 있습니다.

자세한 내용은 Aspose.BarCode를 참조하십시오. API 참조 .

 한국어