IRONSOFTWAREHOME

How to Read QR Codes from Images in C#

Curtis Chau
Curtis Chau
Updated: 2026년 5월 9일

IronQR는 IronDrawing로 이미지를 로드하고, QrImageInput 객체를 생성하여 C#에서 다양한 이미지 형식의 QR 코드를 읽을 수 있게 합니다. 그리고 QR 데이터를 효율적으로 디코딩하기 위해 BarcodeReader.Read 메서드를 사용합니다.

빠른 시작: C#에서 이미지의 QR 코드 읽기

다양한 이미지 형식의 QR 코드를 어떻게 읽나요?

IronQR 다양한 이미지 형식의 QR 코드를 읽는 기능을 내장하고 있습니다. 이 기능은 고급 머신러닝 모델을 사용하여 다양한 미디어 유형에서 정확한 디코딩을 보장합니다. 지원되는 형식은 다음과 같습니다.

  • JPEG(Joint Photographic Experts Group)
  • 휴대용 네트워크 그래픽(PNG)
  • GIF(그래픽 교환 형식)
  • TIFF(Tagged Image File Format)
  • 비트맵 이미지 파일(BMP)
  • WBMP
  • 웹P
  • 아이콘(ico)
  • WMF
  • RawFormat (raw)

이러한 형식 지원은 이미지 처리를 효율적으로 수행하는 오픈 소스 라이브러리인 IronDrawing 덕분에 가능합니다. 디지털 카메라, 스캐너, 모바일 기기 또는 웹 다운로드에서 생성된 QR 코드는 형식 변환 없이 처리할 수 있습니다.

이미지 스캔 테스트를 위한 위치 지정 사각형과 데이터 모듈을 보여주는 선명한 흑백 패턴의 QR 코드 샘플입니다.
  1. 1Install IronQR with NuGet Package Manager

    PM > Install-Package IronQR

  2. 2다음 코드 조각을 복사하여 실행하세요.

    // Import necessary IronQR and IronDrawing namespaces
    using IronSoftware.Drawing; 
    using IronBarcode;
    
    public class QRCodeReader
    {
        public static void Main()
        {
            // Load an image from a file path
            using (var inputImage = Image.FromFile("path/to/your/image/file.webp"))
            {
                // Create a QrImageInput object from the image
                var qrImageInput = new QrImageInput(inputImage);
    
                // Decode the QR 코드 from the image
                var result = BarcodeReader.Read(qrImageInput);
    
                // Iterate through each detected QR 코드 and display its information
                foreach (var barcodeResult in result.Barcodes)
                {
                    Console.WriteLine($"QR Code Data: {barcodeResult.Value}");
                }
            }
        }
    }
    C#
  3. 3실제 운영 환경에서 테스트할 수 있도록 배포하세요.

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

참고: "path/to/your/image/file.webp" 부분을 QR 코드 이미지 파일의 실제 경로로 바꾸세요.

샘플 이미지에 있는 QR 코드 값이 궁금하신가요? 아래 코드 조각을 사용해 보세요!

IronQR 여러 이미지 형식을 지원하는 이유는 무엇인가요?

QR 코드 읽기란 QR 코드 안에 저장된 정보를 스캔하고 해독하는 것을 의미합니다. 일반적으로 QR 코드의 데이터를 해석할 수 있는 소프트웨어와 연결된 카메라 또는 스캐너를 사용하여 이 작업을 수행합니다. QR 코드에 담긴 정보는 텍스트, URL, 연락처 정보 또는 기타 형태의 데이터일 수 있습니다.

IronQR의 다양한 형식 지원은 마케팅 자료 및 제품 포장에서부터 디지털 문서 및 웹 콘텐츠에 이르기까지 다양한 맥락에서 QR 코드가 나타나는 실제 응용 분야에 필수적입니다. IronQR 다양한 형식을 지원함으로써 개발자가 이미지 형식 호환성에 대한 걱정 없이 견고한 애플리케이션을 구축할 수 있도록 보장합니다. IronQR의 읽기 기능 에 대해 자세히 알아보고 이러한 유연성이 개발 워크플로를 어떻게 향상시키는지 이해해 보세요.

각 이미지 형식은 언제 사용해야 할까요?

QR 코드 처리에서 다양한 이미지 형식은 각각 다른 목적을 수행합니다.

  • PNG : 투명도가 필요한 QR 코드 또는 이미지 품질이 가장 중요한 경우에 가장 적합합니다. PNG의 무손실 압축은 QR 코드 패턴이 선명하고 읽기 쉽도록 보장합니다.
  • JPEG : QR 코드가 포함된 사진이나 파일 크기가 중요한 경우에 적합합니다. 압축으로 인한 가독성 저하를 방지하려면 더 높은 품질 설정(80% 이상)을 사용하십시오.
  • TIFF : 보관용 또는 기업 환경에서 스캔한 문서를 다룰 때 적합합니다.
  • WebP : 뛰어난 압축률과 품질 유지력을 제공하는 최신 포맷으로 웹 애플리케이션에 이상적입니다.

어떤 형식의 QR 코드든 최적의 결과를 얻으려면 이미지 해상도(인쇄용 QR 코드의 경우 최소 300 DPI)와 대비를 충분히 유지해야 합니다. 형식별 최적화 기법은 고급 QR 코드 읽기 예시를 참조하세요.

이미지 품질이 좋지 않으면 어떻게 되나요?

IronQR 불완전한 이미지를 처리하기 위한 내결함성 기능을 통합하고 있습니다. 이미지 품질이 낮은 경우, 라이브러리는 다음과 같은 여러 전략을 사용합니다.

  1. 오류 수정: QR 코드는 오류 수정 기능(L, M, Q, H 레벨)을 포함하며, 코드의 최대 30%가 손상되어도 데이터 복구가 가능합니다.
  2. 머신 러닝 강화: IronQR의 ML 모델은 블러, 왜곡, 조명 부족과 같은 일반적인 문제를 탐지하고 보정합니다.
  3. 사전 처리: 자동 이미지 강화 기능이 대조 및 선명도를 개선하여 디코딩 시도를 돕습니다.

까다로운 상황에서는 사용자 지정 QR 읽기 모드 옵션을 사용하여 읽기 프로세스를 세밀하게 조정하는 것을 고려해 보세요.

// Example: Reading QR 코드s with enhanced error correction
using IronBarcode;

public class EnhancedQRReader
{
    public static void ReadPoorQualityImage()
    {
        // Configure reader with multiple attempts and error correction
        var options = new BarcodeReaderOptions
        {
            Speed = ReadingSpeed.Detailed, // More thorough scanning
            ExpectMultipleBarcodes = true,  // Check for multiple codes
            ExpectBarcodeTypes = BarcodeType.QRCode // Focus on QR 코드s only
        };

        using (var inputImage = Image.FromFile("blurry_qr_code.jpg"))
        {
            var qrImageInput = new QrImageInput(inputImage);
            var results = BarcodeReader.Read(qrImageInput, options);
            
            foreach (var result in results.Barcodes)
            {
                Console.WriteLine($"Decoded: {result.Value}");
                Console.WriteLine($"Confidence: {result.Confidence}%");
            }
        }
    }
}
C#

QR 코드에서 값 추출하기

[//]: # (이것은 숨겨질 주석입니다.) 값은 위의 예시에서 이미 언급되었습니다. 다시 한번 정의할 때는 좀 더 간결하면서도 명확하게 설명하겠습니다.

대부분의 IronQR 함수는 여러 탐지를 지원하기 위해 컬렉션을 반환합니다. results은 객체의 시퀀스이므로 자체 Value 속성이 없습니다. 예제 코드는 컬렉션에서 첫 번째 QrResult를 선택하고 그 Value를 검색합니다.

using System;
using System.Collections.Generic;
using System.Linq;
using IronQr;
using System.Drawing;

// Import image
var inputImage = Image.FromFile("sample.jpg");

// Load the asset into QrImageInput
QrImageInput imageInput = new QrImageInput(inputImage);

// Create a QR Reader object
QrReader reader = new QrReader();

// Read the Input an get all embedded QR Codes
IEnumerable<QrResult> results = reader.Read(imageInput);

// Display the value of the first QR code found
Console.WriteLine($"QR code value is {results.First().Value}");

이미지에서 QR 코드 위치 감지

IronQR 단순한 디코딩을 넘어 이미지 내에서 QR 코드가 정확히 어디에 위치하는지 파악합니다. 이 위치 지정은 표준 좌표 시스템을 사용하며, PointF (0,0)은 이미지의 왼쪽 위 모서리를 나타냅니다. QR 코드의 모서리 정확한 공간 좌표는 Points[] 배열을 통해 접근할 수 있습니다.

예시에서는 감지된 QR 코드의 네 지점 모두의 좌표가 검색되어 콘솔에 출력됩니다.

참고해 주세요: 이 함수가 반환하는 좌표는 왼쪽 위, 오른쪽 위, 왼쪽 아래, 그리고 마지막으로 오른쪽 아래 순서로 엄격하게 "지그재그" 형태로 저장됩니다.
using System;
using System.Collections.Generic;
using IronQr;
using System.Drawing;
using System.Linq;

// Import an image containing a QR code
var inputImage = Image.FromFile("urlQr.png");

// Load the asset into a QrImageInput object
var imageInput = new QrImageInput(inputImage);

// Create a QR Reader object
var reader = new QrReader();

// Read the input and get all embedded QR codes
IEnumerable<QrResult> results = reader.Read(imageInput);

// [TL, TR, BL, BR]
string[] labels = { "Top-Left", "Top-Right", "Bottom-Left", "Bottom-Right" };

var points = results.First().Points;

for (int i = 0; i < points.Length; i++)
{
    Console.WriteLine($"{labels[i]}: {points[i].X}, {points[i].Y}");
}

QR 코드를 입력하세요

QR 코드

산출

시스템이 모든 QR 코드 모서리의 정확한 공간 좌표를 콘솔에 기록했음을 확인하십시오.

에지 검출 QR

지원되는 QR 코드 유형

QR 코드 생성 및 읽기 모두에서 다양한 유형의 QR 코드를 지원합니다. IronQR 다양한 애플리케이션 요구 사항을 충족하기 위해 다양한 QR 코드 형식을 포괄적으로 지원합니다. 지원되는 QR 코드 형식 에 대한 자세한 내용은 설명서를 참조하세요. 지원되는 QR 코드 유형은 다음과 같습니다.

  • QRCode: 오늘날 가장 일반적으로 사용되는 표준 QR 코드. 이 메모리 카드는 최대 7,089개의 숫자 또는 4,296개의 영숫자를 저장할 수 있어 웹사이트 URL, 연락처 정보 및 기타 용도에 적합합니다.
이미지 스캔 테스트를 위한 위치 지정 사각형과 데이터 모듈을 보여주는 선명한 흑백 패턴의 QR 코드 샘플입니다.
  • MicroQRCode: 제한된 공간에 맞게 설계된 표준 QR 코드의 작은 버전. 최대 35자의 숫자 또는 21자의 영숫자를 저장할 수 있어 소형 포장이나 작은 인쇄 라벨에 적합합니다.
찾기 패턴과 데이터 모듈을 포함한 표준 QR 코드의 일반적인 구조를 보여줍니다.
  • RMQRCode:RMQR코드(직사각형 마이크로 QR 코드)는 사각형보다는 직사각형으로 된 소형 상태입니다. 이 버전은 화면 비율을 유연하게 조절할 수 있어 직사각형 공간을 활용할 수 있는 애플리케이션에 유용합니다.
표준 위치 표시자와 데이터 패턴을 사용하는 정사각형이 아닌 형식을 보여주는 직사각형 QR 코드 예시

어떤 QR 코드 유형을 선택해야 할까요?

적절한 QR 코드 유형을 선택하는 것은 특정 사용 사례 및 제약 조건에 따라 달라집니다.

  • 표준 QR 코드 : 공간 제약이 없고 최대 데이터 용량이 필요한 일반적인 용도에 적합합니다. URL, Wi-Fi 자격 증명, vCard 연락처 또는 자세한 제품 정보에 적합합니다. 자세한 구현 내용은 QR 코드 생성 예시를 참조하세요.

  • 마이크로 QR 코드 : 전자 부품, 보석 태그 또는 의료 기기와 같이 작은 표면에 사용할 때 이상적입니다. 용량은 제한적이지만, 일련번호, 간단한 URL 또는 기본적인 추적 코드에는 적합합니다.

  • RMQR 코드 : 원통형 제품의 좁은 라벨이나 포장 가장자리의 길쭉한 공간과 같이 사용 가능한 공간에 특정 치수 제약이 있는 경우 직사각형 코드를 선택하십시오.

데이터 저장 용량 제한 사항은 무엇인가요?

데이터 용량을 이해하면 QR 코드 구현을 최적화하는 데 도움이 됩니다.

QR 코드 유형숫자만영숫자이진수한자
표준 QR7,0894,2962,9531,817
마이크로 QR3521159
RMQR변하기 쉬운변하기 쉬운변하기 쉬운변하기 쉬운

데이터 저장 계획을 세울 때 다음 요소들을 고려하십시오:

  • 웹 링크에 URL 단축 서비스를 사용하여 사용 가능한 공간을 최대한 활용하세요.
  • 대규모 데이터 세트에 대한 데이터 압축을 구현합니다.
  • 적절한 오류 수정 수준을 선택하십시오 (오류 수정 수준이 높을수록 용량이 감소합니다).

고급 구현을 위해서는 미적 요소와 데이터 용량의 균형을 맞추는 데 도움이 되는 스타일 지정 QR 코드 생성 가이드를 참조하세요.

마이크로코드와RMQR코드는 언제 사용해야 할까요?

마이크로코드와RMQR코드는 특정 시나리오에서 탁월한 성능을 발휘합니다.

마이크로 QR 코드는 다음과 같은 용도에 적합합니다.

  • 부품 추적이 필요한 전자 회로 기판
  • 환자 또는 약물 식별 정보가 필요한 소형 의료 기기
  • 각인 공간이 제한된 보석 감정 서비스
  • 제조 과정에서 사용되는 소형 제품 라벨

RMQR 코드는 다음과 같은 경우에 가장 적합합니다.

  • 튜브나 파이프에 붙이는 좁은 배송 라벨
  • 펜 배럴이나 도구에 길게 뻗은 공간
  • 배너형 마케팅 자료
  • 기존 직사각형 디자인 요소와의 통합

다음은 다양한 QR 코드 유형을 읽는 실용적인 예입니다.

using IronBarcode;
using IronSoftware.Drawing;

public class MultiTypeQRReader
{
    public static void ReadVariousQRTypes()
    {
        // Configure reader to handle all QR 코드 types
        var options = new BarcodeReaderOptions
        {
            ExpectBarcodeTypes = BarcodeType.QRCode | 
                                BarcodeType.MicroQRCode | 
                                BarcodeType.RectangularMicroQRCode
        };

        string[] imagePaths = {
            "standard_qr.png",
            "micro_qr.png", 
            "rectangular_qr.png"
        };

        foreach (var path in imagePaths)
        {
            using (var image = Image.FromFile(path))
            {
                var qrInput = new QrImageInput(image);
                var results = BarcodeReader.Read(qrInput, options);
                
                foreach (var qr in results.Barcodes)
                {
                    Console.WriteLine($"Type: {qr.BarcodeType}");
                    Console.WriteLine($"Data: {qr.Value}");
                    Console.WriteLine($"Format: {qr.Format}");
                    Console.WriteLine("---");
                }
            }
        }
    }
}
C#

실제 운영 환경에 배포하려면 NuGet 패키지 가이드를 참조하여 플랫폼에 맞는 패키지를 사용하고 있는지 확인하고, 모든 메서드 및 속성에 대한 자세한 설명은 API 참조를 확인하세요.

자주 묻는 질문

IronQR은 QR 코드 읽기를 위해 어떤 이미지 형식을 지원합니까?

IronQR은 JPEG, PNG, GIF, TIFF, BMP, WBMP, WebP, ICO, WMF 및 RawFormat을 포함한 다양한 이미지 형식의 QR 코드를 읽을 수 있도록 지원합니다. 이러한 포괄적인 형식 지원은 IronDrawing에서 제공하며, 이를 통해 형식 변환 없이 다양한 출처의 QR 코드를 처리할 수 있습니다.

C#에서 이미지 파일의 QR 코드를 읽는 방법은 무엇인가요?

IronQR을 사용하여 QR 코드를 읽으려면 먼저 Image.FromFile()을 사용하여 이미지를 불러오고, 불러온 이미지에서 QrImageInput 객체를 생성한 다음, BarcodeReader.Read()를 사용하여 QR 데이터를 디코딩합니다. 이 메서드는 각 QR 코드의 정보를 확인할 수 있도록 결과를 반환하며, 이 결과를 반복하여 각 QR 코드의 정보를 읽을 수 있습니다.

어떤 기술이 다양한 매체 유형에서 정확한 QR 코드 판독을 가능하게 합니까?

IronQR은 고급 머신러닝 모델을 사용하여 다양한 미디어 유형과 이미지 형식에서 정확한 QR 코드 디코딩을 보장합니다. 이러한 AI 기반 접근 방식은 까다로운 이미지 환경에서도 높은 정확도를 유지하는 데 도움이 됩니다.

하나의 이미지에서 여러 개의 QR 코드를 읽을 수 있나요?

네, IronQR은 단일 이미지에서 여러 개의 QR 코드를 감지하고 읽을 수 있습니다. BarcodeReader.Read 메서드는 결과 컬렉션을 반환하므로 foreach 루프를 사용하여 감지된 각 QR 코드를 순회하며 개별 QR 코드 데이터에 접근할 수 있습니다.

IronQR이 읽을 수 있는 QR 코드에는 어떤 유형의 데이터를 저장할 수 있습니까?

IronQR은 일반 텍스트, URL, 연락처 정보 및 기타 구조화된 데이터를 포함하여 QR 코드에 저장된 다양한 유형의 데이터를 디코딩할 수 있습니다. 디코딩된 정보는 각 BarcodeResult 객체의 Value 속성을 통해 접근할 수 있습니다.

What types of QR codes can IronQR read?

IronQR can read various types of QR codes, including Standard QR Code, Micro QR Code, and RMQR Code, supporting different use cases and data capacities for applications requiring compact or rectangular formats.

When should I choose Micro or RMQR codes?

Choose Micro QR codes for small surfaces like circuit boards or medical devices and RMQR codes for rectangular labels like narrow shipping labels or marketing materials that require fitting into elongated spaces.

How does IronQR locate a QR code within an image?

IronQR uses a standard coordinate system to pinpoint where a QR code is located within an image. It retrieves and prints the exact spatial coordinates of the QR code's corners using the Points[] array.

Curtis Chau
기술 문서 작성자

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

...
더 읽어보기

시작할 준비 되셨나요?

Nuget Downloads 74,386버전:2026.9방금 출시

지금 바로 30일 무료 체험판 키를 받으세요.
신용카드나 계정 생성은 필요하지 않습니다.
PDF용 C# NuGet 라이브러리
NuGet을 사용하여 설치하세요

버전: 2026.9

PM > Install-Package IronQR
nuget.org/packages/IronQR/
  1. 솔루션 탐색기에서 참조를 마우스 오른쪽 버튼으로 클릭하고 NuGet 패키지 관리를 선택합니다.
  2. 찾아보기를 선택하고 "IronQR"을 검색하세요.
  3. 패키지를 선택하고 설치하세요
C# PDF DLL
DLL 다운로드

버전: 2026.9

  1. IronQR을 다운로드하고 솔루션 디렉터리 내의 ~/Libs와 같은 위치에 압축을 푸세요.
  2. Visual Studio 솔루션 탐색기에서 참조를 마우스 오른쪽 버튼으로 클릭합니다. 찾아보기를 선택하고 "IronQR.dll"을 선택합니다.

라이선스 가격은 749달러 부터 시작합니다.

Key in blue circle

무료 30일 체험 키를 즉시 받으세요.

Your trial license will be sent to your email address

제한 없음. 100% 무제한 이용. 신용카드 불필요.

bullet_checked신용카드나 계정 생성은 필요하지 않습니다.제한 없음. 100% 무제한 이용. 신용카드 불필요.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
무료 라이브 데모를 예약하세요
Booking Badge

전 세계 수백만 엔지니어들이 신뢰하는 제품입니다.

Iron Software의 고객 로고
부담 없는 무료 상담을 받아보세요
아래 양식을 작성하시거나 sales@ironsoftware.com으로 이메일을 보내주세요.
고객님의 정보는 항상 비밀로 유지됩니다.
전 세계 수백만 엔지니어들이 신뢰하는 제품입니다.
Iron Software의 고객 로고
지금 바로 30일 무료 체험판 키를 받으세요.
신용카드나 계정 생성은 필요하지 않습니다.