푸터 콘텐츠로 바로가기
IRONBARCODE 사용

C# QR 코드 리더 (초보자를 위한 단계별 튜토리얼)

오늘날의 디지털 중심 세계에서 QR 코드(Quick Response Codes)는 물리적 및 디지털 영역을 원활하게 연결하는 데 널리 사용되고 있습니다. 마케팅에서 물류, 금융에서 의료에 이르기까지 QR 코드는 효율적인 데이터 교환을 촉진하는 중요한 역할을 합니다.

이 기사에서는 C# 개발의 영역을 탐구하며, 시장에서 최고의 QR 코드 라이브러리 중 하나인 IronQR가 개발자가 QR 코드 인식을 활용하고 데이터를 손쉽게 디코딩하며 다양한 도메인에서 혁신을 주도할 수 있는 방법을 살펴봅니다.

Iron Software의 IronQR은 강력한 .NET QR 코드 리더 라이브러리로 두각을 나타냅니다. IronQR가 구현한 고급 머신 러닝 모델은 도전적인 시나리오에서도 탁월한 정확성과 효율성으로 QR 코드를 디코드할 수 있도록 애플리케이션을 강화합니다.

IronQR를 사용하여 C#으로 QR 코드를 읽는 방법

  1. .NET Windows Forms 애플리케이션 템플릿으로 Visual Studio 프로젝트를 생성합니다.
  2. IronQRNuGet 패키지 관리자를 통해 설치합니다.
  3. AForge 라이브러리를 사용하여 카메라에서 이미지를 QR 코드로 얻습니다.
  4. IronQR을 사용하여 QR 코드를 읽습니다.

IronQR은 .NET Framework 내에서 QR 코드 이미지를 스캔하고 생성하도록 설계된 주요 C# QR 코드 리더 라이브러리로 두각을 나타냅니다. 최신 ML 기술을 활용하여 IronQR은 QR 코드 읽기를 전례 없는 수준으로 향상시켰습니다.

이미지, 비디오 또는 실시간 카메라 피드에서 QR 코드를 스캔하든 ML 기반 솔루션은 신속하고 신뢰할 수 있는 정보 검색을 보장합니다.

이 혁신적인 접근 방식은 데이터 추출을 간소화할 뿐만 아니라, 진정한 QR 코드와 잠재적인 위협을 구분하여 보안을 강화합니다. 직관적인 API로 개발자는 몇 분 만에 .NET 프로젝트에 QR 코드 기능을 원활하게 통합할 수 있습니다.

IronQR은 .NET Core (8, 7, 6, 5, 3.1+), .NET Standard (2.0+), 및 .NET Framework (4.6.2+)와 완벽하게 통합됩니다. 현재 .NET Core 버전은 리눅스, 유닉스, macOS와 같은 클라이언트 운영 체제에 대한 지원을 확장하며, 모바일 앱 개발과의 호환성을 제공합니다.

필수 조건

  1. Visual Studio: Visual Studio나 다른 .NET 개발 환경이 설치되어 있는지 확인하세요.
  2. 호환되는 카메라: 카메라가 장치에 연결되어 있는지 확인하세요.
  3. NuGet 패키지 관리자: 프로젝트에서 NuGet을 사용하여 패키지를 관리할 수 있는지 확인하세요.

단계 1: .NET Windows Forms 애플리케이션 템플릿으로 Visual Studio 프로젝트 만들기

카메라 비디오 스트림 또는 이미지 파일에서 QR 코드 바코드를 읽기 위한 Windows Forms .NET 애플리케이션을 만들어 보겠습니다. Visual Studio를 열고, 새 프로젝트 만들기를 선택한 후 .NET Windows Forms 애플리케이션 템플릿을 선택하십시오.

Visual Studio 설정

다음을 클릭하고 프로젝트 이름을 입력하세요.

프로젝트 명명

원하는 .NET 버전을 선택한 후 생성 버튼을 클릭하세요.

프로젝트 생성

단계 2: NuGet 패키지 관리자를 통해 IronQR 설치

IronQRNuGet 패키지 관리자 또는 Visual Studio 패키지 관리자를 통해 설치할 수 있습니다.

NuGet 설치

아래는 Visual Studio를 사용하는 방법을 보여줍니다.

Visual Studio NuGet

단계 3: AForge 라이브러리를 사용하여 카메라에서 QR 코드를 이미지로 얻기

카메라 장치에서 QR 코드를 스캔하려면 AForge.Video.DirectShow 라이브러리를 설치해야 합니다. 이 작업은 Visual Studio 패키지 관리자를 사용하여 수행할 수 있습니다. 솔루션 탐색기를 마우스 오른쪽 버튼으로 클릭하고 패키지 관리자를 엽니다.

AForge 설치 1단계

이 라이브러리는 아래와 같이 NuGet 패키지 콘솔을 사용하여 설치할 수도 있습니다. 라이브러리를 설치하려면 설치 버튼을 클릭하세요.

AForge 설치 2단계

단계 4: IronQR을 사용하여 QR 코드 읽기

다음 단계는 폼에 PictureBox 구성 요소를 생성하는 것입니다. 이는 기계에 연결된 카메라 장치에서 QR 코드 이미지를 스캔하는 데 필요합니다.

이는 도구 상자에서 끌어서 작업할 수 있습니다. 이 PictureBox는 카메라 장치에서 QR 코드 데이터를 읽는 데 필요합니다.

사진 상자 추가

다음으로, 읽은 QR 코드를 표시하기 위해 텍스트 상자를 끌어다 놓으세요.

텍스트 상자 추가

IronQR을 사용하여 QR 코드를 읽고 디코드하려면 아래 코드를 추가하세요.

using AForge.Video.DirectShow;
using AForge.Video;
using System;
using System.Collections.Generic;
using System.Drawing;
using System.Linq;
using System.Windows.Forms;
using IronQR;

namespace ReadQR
{
    public partial class Form1 : Form
    {
        // Declare a video capture device
        private VideoCaptureDevice videoSource;

        public Form1()
        {
            InitializeComponent();
            this.Load += Form1_Load;
            this.FormClosing += Form1_FormClosing;
        }

        private void Form1_FormClosing(object sender, FormClosingEventArgs e)
        {
            // Stop the video source when the form is closing
            if (videoSource != null && videoSource.IsRunning)
            {
                videoSource.SignalToStop();
                videoSource.WaitForStop();
            }
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            // Retrieve video input devices connected to the machine
            FilterInfoCollection videoDevices = new FilterInfoCollection(FilterCategory.VideoInputDevice);

            if (videoDevices.Count > 0)
            {
                // Use the first available video device
                videoSource = new VideoCaptureDevice(videoDevices[0].MonikerString);
                videoSource.NewFrame += VideoSource_NewFrame;
                videoSource.Start();
            }
            else
            {
                MessageBox.Show("No video devices found.");
                Close();
            }
        }

        private void VideoSource_NewFrame(object sender, NewFrameEventArgs eventArgs)
        {
            // Update the PictureBox with the new frame from the camera
            pictureBox1.Image = (Bitmap)eventArgs.Frame.Clone();

            var image = (Bitmap)eventArgs.Frame.Clone();

            // Set the license key for IronQR. Replace "YourKey" with your actual key
            License.LicenseKey = "YourKey";

            // Prepare the image for QR code reading
            QrImageInput imageInput = new QrImageInput(image);

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

            // Read QR codes from the image
            IEnumerable<QrResult> results = reader.Read(imageInput);

            // Display the first QR code result in a MessageBox
            if (results.Any())
            {
                MessageBox.Show(results.First().Value);
            }
        }
    }
}
using AForge.Video.DirectShow;
using AForge.Video;
using System;
using System.Collections.Generic;
using System.Drawing;
using System.Linq;
using System.Windows.Forms;
using IronQR;

namespace ReadQR
{
    public partial class Form1 : Form
    {
        // Declare a video capture device
        private VideoCaptureDevice videoSource;

        public Form1()
        {
            InitializeComponent();
            this.Load += Form1_Load;
            this.FormClosing += Form1_FormClosing;
        }

        private void Form1_FormClosing(object sender, FormClosingEventArgs e)
        {
            // Stop the video source when the form is closing
            if (videoSource != null && videoSource.IsRunning)
            {
                videoSource.SignalToStop();
                videoSource.WaitForStop();
            }
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            // Retrieve video input devices connected to the machine
            FilterInfoCollection videoDevices = new FilterInfoCollection(FilterCategory.VideoInputDevice);

            if (videoDevices.Count > 0)
            {
                // Use the first available video device
                videoSource = new VideoCaptureDevice(videoDevices[0].MonikerString);
                videoSource.NewFrame += VideoSource_NewFrame;
                videoSource.Start();
            }
            else
            {
                MessageBox.Show("No video devices found.");
                Close();
            }
        }

        private void VideoSource_NewFrame(object sender, NewFrameEventArgs eventArgs)
        {
            // Update the PictureBox with the new frame from the camera
            pictureBox1.Image = (Bitmap)eventArgs.Frame.Clone();

            var image = (Bitmap)eventArgs.Frame.Clone();

            // Set the license key for IronQR. Replace "YourKey" with your actual key
            License.LicenseKey = "YourKey";

            // Prepare the image for QR code reading
            QrImageInput imageInput = new QrImageInput(image);

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

            // Read QR codes from the image
            IEnumerable<QrResult> results = reader.Read(imageInput);

            // Display the first QR code result in a MessageBox
            if (results.Any())
            {
                MessageBox.Show(results.First().Value);
            }
        }
    }
}
$vbLabelText   $csharpLabel

입력 이미지 파일

QR 코드에 인코딩된 텍스트는 다음과 같습니다: I Love IronQR

QR 코드 예제

산출

QR 코드 결과

예시 코드 설명

  1. Windows Forms에 두 개의 이벤트를 등록했습니다: Form1_LoadForm1_FormClosing.
  2. 또한 AForge.Video.DirectShow 라이브러리의 videoSource 인스턴스에 VideoSource_NewFrame를 등록했습니다.
  3. 실시간 비디오 스트림에서 QR 코드를 읽습니다.
  4. QR 코드가 감지되면, 해독된 텍스트와 함께 MessageBox를 표시합니다.

라이센스 (무료 체험 가능)

IronQR에는 라이선스 키가 필요합니다. 체험 키는 여기에서 얻을 수 있습니다. 이 키는 appsettings.json에 배치해야 합니다.

{
    "IronQr.LicenseKey": "MYLICENSE.KEY.TRIAL"
}

체험판 라이선스를 받으려면 이메일 ID를 제공하고, 제출 후 이메일로 키가 전송됩니다.

라이선스 키

결론

결론적으로, QR 코드는 기원에서 벗어나 우리의 디지털 생태계에서 필수적인 요소가 되었습니다. IronQR을 사용하면 C# 개발자는 QR 코드 인식의 힘을 활용하여 다양한 종류의 QR 코드를 쉽게 해독하고, 여러 도메인에서 혁신할 수 있습니다.

QR 코드가 계속 진화하고 새로운 기술에 통합됨에 따라, 원활한 데이터 교환을 촉진하고 사용자 경험을 개선하는 데 있어 그 중요성은 더욱 커질 것입니다. IronQR으로 QR 코드의 잠재력을 받아들이고, C# 개발에서의 혁신과 효율성의 여정을 시작하세요.

자주 묻는 질문

C# 프로젝트에서 QR 코드를 읽도록 설정하려면 어떻게 해야 하나요?

QR 코드 읽기용 C# 프로젝트를 설정하려면 먼저 Visual Studio에서 새 Windows Forms 애플리케이션을 만드세요. NuGet 패키지 관리자에서 IronQR 라이브러리를 설치하고, 카메라에서 비디오 피드를 캡처하기 위해 AForge.Video.DirectShow 라이브러리가 설치되어 있는지 확인하세요.

IronQR QR 코드 판독에 사용하면 어떤 이점이 있나요?

IronQR 고급 머신러닝 모델을 활용하여 강력한 QR 코드 판독 기능을 제공합니다. 까다로운 환경에서도 정확한 디코딩을 보장하며 다양한 .NET Framework 및 운영 체제를 지원합니다.

C# 애플리케이션에서 IronQR 사용하여 QR 코드를 디코딩하는 방법은 무엇인가요?

C# 애플리케이션에서 IronQR 사용하여 QR 코드를 디코딩하려면 AForge를 사용하여 카메라 피드에서 이미지를 캡처한 다음 IronQR 라이브러리를 사용하여 캡처된 이미지에서 QR 코드를 처리하고 디코딩합니다.

IronQR 실시간 영상에서 QR 코드를 해독할 수 있습니까?

네, IronQR AForge.Video.DirectShow 라이브러리와 통합하여 프레임을 캡처하고 실시간으로 처리함으로써 라이브 비디오 피드에서 QR 코드를 디코딩할 수 있습니다.

C#으로 QR 코드 리더를 구축하는 데 필수적인 라이브러리는 무엇인가요?

C#으로 QR 코드 리더를 구축하는 데 필요한 필수 라이브러리로는 QR 코드 디코딩을 위한 IronQR 과 카메라에서 비디오 피드를 캡처하는 AForge.Video.DirectShow가 있습니다.

IronQR QR 코드 디코딩 과정에서 데이터 무결성을 어떻게 보장합니까?

IronQR 정상적인 QR 코드와 잠재적 위협을 정확하게 구분하여 보안을 강화하고 데이터 무결성을 보장함으로써 디코딩된 정보의 신뢰성을 유지합니다.

IronQR 사용하여 이미지에서 QR 코드를 스캔할 수 있습니까?

네, IronQR 실시간 영상뿐만 아니라 정지 이미지에서도 QR 코드를 스캔할 수 있어 다양한 애플리케이션 요구 사항에 유연하게 대응할 수 있습니다.

IronQR 평가판 라이선스는 어떻게 받을 수 있나요?

IronQR 의 평가판 라이선스는 Iron Software 웹사이트에서 구입할 수 있으며, 평가판 키를 애플리케이션의 appsettings.json 파일에 추가하면 라이브러리의 기능을 테스트할 수 있습니다.

QR 코드 판독기 애플리케이션에서 PictureBox 구성 요소는 어떤 역할을 합니까?

QR 코드 리더 애플리케이션에서 PictureBox 구성 요소는 카메라의 실시간 비디오 피드를 표시하여 IronQR 수신되는 프레임에서 QR 코드를 캡처하고 디코딩할 수 있도록 합니다.

C#에서 QR 코드 디코딩 관련 문제를 어떻게 해결할 수 있나요?

QR 코드 디코딩에 문제가 발생하는 경우 IronQR 및 AForge 라이브러리가 올바르게 설치되었는지 확인하고, 카메라 피드가 제대로 통합되었는지 확인하고, 애플리케이션이 비디오 프레임을 올바르게 캡처하고 처리하는지 확인하십시오.

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

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

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

Iron Support Team

We're online 24 hours, 5 days a week.
Chat
Email
Call Me