콘텐츠로 건너뛰기
STAGING SERVER
DEVELOPMENT SERVER

QR Code Reader vTool#

QR Code Reader vTool을 사용하면 이미지에서 QR 코드를 감지하고 디코딩할 수 있습니다.

QR Code Reader는 Image 입력 핀을 통해 수신한 이미지에서 QR 코드를 감지하고 디코딩할 수 있습니다. 결과는 Regions 및 Texts 출력 핀을 통해 출력됩니다.

영역 출력에는 QR 코드가 발견된 영역이 포함됩니다. 텍스트 출력은 QR 코드로 인코딩된 텍스트 문자열입니다.

ROI Creator vTool을 사용하여 감지 전에 관심 영역을 지정하면, QR Code Reader는 Roi 입력 핀을 통해 ROI 데이터를 수락합니다. 이를 통해 QR Code Reader가 QR 코드를 검색하는 이미지 영역이 줄어들어 오탐지를 제거하는 데 도움이 됩니다. 부수적인 효과로 처리 속도가 빨라지고 더욱 안정적이게 됩니다.

QR Code Reader vTool은 단일 라이선스(Basic 또는 Pro)로 구매하거나 Code Reader Bundle 라이선스의 일부로 구매할 수 있습니다. 라이선스를 구매하려면 Basler 웹사이트를 방문하세요.

QR Code Reader vTool

QR Code Reader Versions#

QR Code Reader는 세 가지 버전으로 제공됩니다. 다음 표는 버전 간의 차이점을 보여줍니다. 이 항목의 관련 섹션으로 바로 이동하려면 표 머리글에서 버전을 클릭하세요.

Starter Basic Pro
감지할 수 있는 QR 코드의 수는 얼마나 되나요? 3 3 무제한
GS1 및 Micro QR 코드를 감지할 수 있나요? No Yes Yes
감지에 대한 시간 초과(timeout)를 지정할 수 있나요? No Yes Yes
어떤 모듈 크기가 허용되나요? 2~80픽셀 사이의 변 길이 변 길이는 6~20픽셀 사이입니다. 1~100픽셀의 한 변 길이
모듈 간 간격이 허용되나요? 예, 작은 간격 예, 작은 간격 예, 큰 간격
보여야 하는 finder pattern의 개수는 몇 개인가요?
(QR 코드에만 적용되며, Micro QR 코드에는 적용되지 않습니다.)
모두 3개 모두 3개 2
light-on-dark QR 코드를 감지할 수 있나요? 아니요
전처리 단계가 필요합니다.
아니요
전처리 단계가 필요합니다.
Yes
mirrored QR 코드를 감지할 수 있나요? Yes Yes Yes
이미지의 contrast와 관련하여 제한 사항이 있나요? 어둡고 밝은 이미지 영역 간의 충분한 contrast가 필요합니다. 어둡고 밝은 이미지 영역 간의 충분한 contrast가 필요합니다. 이미지의 밝은 부분과 어두운 부분의 차이는 최소 10 gray values 이상이어야 합니다.
Enhanced 감지 모드를 사용할 수 있습니까? No No Yes
Maximum 감지 모드를 사용할 수 있습니까? No No Yes
Roi 입력 핀에 유효한 데이터 형식 RectangleF RectangleF, RectangleF Array, Region, Region Array RectangleF, RectangleF Array, Region, Region Array
라이선스 구매 pylon Software Suite에 포함됨 Basler 웹사이트 방문 Basler 웹사이트 방문

작동 원리#

정보

QR Code Reader Starter vTool은 GS1 또는 Micro QR 코드 감지를 지원하지 않습니다.

QR Code Reader 버전에 따라 이미지에서 최대 3개 또는 무제한의 QR 코드를 감지할 수 있습니다.

Basic 및 Pro 버전에서는 일정 시간이 지난 후 감지를 종료하도록 타임아웃을 지정할 수 있습니다. 이미지에 QR 코드가 하나만 포함되어 있다는 것을 아는 경우, QR Code Reader가 하나의 코드만 찾도록 구성하면 처리 시간을 절약할 수 있습니다.

일반적인 사용 사례#

  • QR 코드 Reading: 이 경우 디코딩된 문자열을 출력하려면 Texts 출력 핀만 연결하면 됩니다.
  • QR 코드의 positions 결정: 후속 처리를 위해 Regions 출력 핀이 반환하는 QR 코드의 위치와 크기를 사용합니다.

QR Code Reader Starter#

이미지에서 최대 3개의 QR 코드를 감지할 수 있습니다. 이미지에 예상되는 코드 수로 수를 제한하면 처리 시간을 절약할 수 있습니다. GS1 또는 Micro QR 코드 감지는 지원되지 않습니다. 이를 위해서는 vTool의 Basic 또는 Pro 버전이 필요합니다.

검출 기준#

QR 코드가 감지되고 디코딩되려면 다음 기준을 충족해야 합니다.

  • Code structure: QR Code Reader Starter는 21 x 21에서 최대 177 x 177 모듈에 해당하는 1~40개의 표준 심볼 범위를 지원합니다.
  • Module size: 코드 내 개별 모듈의 변 길이는 2~80픽셀 사이여야 합니다.
  • 모듈 간 간격: 모듈 간의 작은 간격이 허용됩니다.
  • Number of finder patterns: QR 코드에는 3개의 finder pattern이 포함되어 있습니다. 코드를 읽으려면 3개 모두 보여야 합니다.
  • Polarity: QR 코드는 dark-on-light 패턴이어야 합니다. light-on-dark 패턴의 경우, 예를 들어 Gray Value Transformer vTool을 사용하여 입력 이미지를 반전하는 전처리 단계를 실행하세요.
  • Mirroring: 수직, 수평 또는 둘 다로 미러링된 QR 코드를 감지할 수 있습니다.
  • Contrast: 어둡고 밝은 이미지 영역 간의 충분한 contrast가 필요합니다.
  • Legibility: 코드는 반사나 얼룩 등의 시각적 결함이 없어야 하며, 충분한 해상도와 contrast를 갖추어야 합니다.

vTool 설정하기#

QR Code Reader Starter vTool을 구성하려면:

QR Code Reader Starter vTool 설정

  1. vTool Settings 영역의 Recipe Management 창에서 Open Settings를 클릭하거나 vTool을 더블 클릭합니다.
    QR Code Reader Starter 대화상자가 열립니다.
  2. Number of QR Codes 영역에서 감지할 QR 코드 개수를 선택합니다.

QR Code Reader Starter의 결과는 pin data view에서 확인할 수 있습니다. 여기에서 표시할 출력 항목을 선택할 수 있습니다.

QR Code Reader Basic#

이미지에서 최대 3개의 QR 코드를 감지할 수 있습니다. 개수를 이미지에 있는 예상 코드 수로 제한하면 처리 시간을 절약할 수 있습니다.

검출 기준#

QR 코드가 감지되고 디코딩되려면 다음 기준을 충족해야 합니다.

  • Code structure: QR Code Reader Basic은 1~40개의 표준 심볼 범위를 지원하며, 이는 21 x 21부터 최대 177 x 177 모듈에 해당합니다.
  • Module size: 코드 내 개별 모듈의 변 길이는 2~100픽셀 사이여야 합니다.
  • 모듈 간 간격: 모듈 간의 작은 간격이 허용됩니다.
  • Number of finder patterns: QR 코드에는 3개의 finder pattern이 포함되어 있습니다. 코드를 읽으려면 3개 모두 보여야 합니다.
  • Polarity: QR 코드는 dark-on-light 패턴이어야 합니다. light-on-dark 패턴의 경우, 예를 들어 Gray Value Transformer vTool을 사용하여 입력 이미지를 반전하는 전처리 단계를 실행하세요.
  • Mirroring: 수직, 수평 또는 둘 다로 미러링된 QR 코드를 감지할 수 있습니다.
  • Contrast: 어둡고 밝은 이미지 영역 간의 충분한 contrast가 필요합니다.
  • Legibility: 코드는 반사나 얼룩 등의 시각적 결함이 없어야 하며, 충분한 해상도와 contrast를 갖추어야 합니다.

데이터 코드 유형#

Data Code Type 드롭다운 목록에서 찾으려는 데이터 코드 유형을 선택할 수 있습니다.

  • QR Codes
  • GS1 QR Codes
  • Micro QR Codes

QR 코드와 GS1 QR 코드의 심볼 구조는 동일하지만 코딩 방식은 다릅니다.

표준 QR 코드를 디코딩할 때 QR Code Reader Basic은 원시 문자열을 출력합니다. GS1 QR 코드를 선택하면 QR Code Reader Basic은 GS1 표준을 준수하는 형식으로 문자열을 디코딩합니다.

타임아웃#

시간이 중요한 애플리케이션의 경우 타임아웃을 지정할 수 있습니다. 타임아웃은 이미지에 QR 코드가 포함되지 않은 경우 등 처리 시간이 다양하거나 예측할 수 없는 상황에 유용합니다. 지정된 타임아웃을 초과하면 감지 프로세스가 중지되고 다음 이미지로 넘어갑니다.

Basler는 원하는 시간 제한보다 약간 낮게 타임아웃을 설정할 것을 권장합니다. 이는 vTool이 감지 프로세스를 즉시 중단하지 않기 때문입니다. 따라서 타임아웃을 원하는 시간 제한의 70~80%로 설정하세요.

vTool 설정하기#

QR Code Reader Basic vTool을 구성하려면:

QR Code Reader Basic vTool 설정

  1. vTool Settings 영역의 Recipe Management 창에서 Open Settings를 클릭하거나 vTool을 더블 클릭합니다.
    QR Code Reader Basic 대화상자가 열립니다.
  2. Data Code Type 드롭다운 목록에서 원하는 data code type을 선택합니다.
  3. Number of QR Codes 영역에서 감지할 QR 코드 개수를 선택합니다.
  4. Timeout 영역에서 특정 시간이 지난 후 감지를 종료할지 여부를 지정합니다. 타임아웃을 지정하려면 No timeout 확인란의 선택을 해제하고 입력란에 원하는 타임아웃을 입력합니다.

QR Code Reader Basic의 결과는 pin data view에서 확인할 수 있습니다. 여기에서 표시할 출력 항목을 선택할 수 있습니다.

QR Code Reader Pro#

이미지에서 무제한의 QR 코드를 감지할 수 있습니다. 개수를 이미지에 있는 예상 코드 수로 제한하면 처리 시간을 절약할 수 있습니다.

검출 기준#

QR 코드가 감지되고 디코딩되려면 다음 기준을 충족해야 합니다.

  • Code structure: QR Code Reader Pro는 1~40개의 표준 심볼 범위를 지원하며, 이는 21 x 21부터 최대 177 x 177 모듈에 해당합니다.
  • Module size: Enhanced detection mode에서는 개별 모듈의 변 길이가 2~100픽셀 사이여야 합니다. Maximum detection mode에서는 개별 모듈의 변 길이가 1~100픽셀 사이여야 합니다.
  • Gaps between modules: 모듈 사이의 간격이 넓어도 허용됩니다.
  • Number of finder patterns: QR 코드에는 3개의 파인더 패턴이 포함되어 있습니다. 코드를 읽으려면 이 중 2개가 보여야 합니다.
  • Polarity: QR 코드는 어두운 배경 위의 밝은 패턴, 밝은 배경 위의 어두운 패턴 또는 이 둘의 혼합일 수 있습니다.
  • Mirroring: 수직, 수평 또는 둘 다로 미러링된 QR 코드를 감지할 수 있습니다.
  • Contrast: 이미지의 밝은 부분과 어두운 부분 사이의 차이는 최소 10개의 회색조 값이어야 합니다.
  • Legibility: 반사나 얼룩 등의 시각적 결함이 있거나 해상도 및 대비가 낮은 코드도 감지할 수 있습니다.

데이터 코드 유형#

Data Code Type 드롭다운 목록에서 찾으려는 데이터 코드 유형을 선택할 수 있습니다.

  • QR Codes
  • GS1 QR Codes
  • Micro QR Codes

QR 코드와 GS1 QR 코드의 심볼 구조는 동일하지만 코딩 방식은 다릅니다.

표준 QR 코드를 디코딩할 때 QR Code Reader Pro는 원본 문자열을 출력합니다. GS1 QR 코드를 선택하면 QR Code Reader Pro는 GS1 표준을 준수하는 형식으로 문자열을 디코딩합니다.

검출 모드#

Standard: 빠른 감지 모드이지만 변형되었거나 저해상도의 데이터 코드는 감지되지 않습니다.

Enhanced: 이 감지 모드에서 QR Code Reader Pro는 QR 코드의 Quality에 대해 더 높은 허용 오차를 가집니다. 즉, 모든 감지 조건을 충족하지 않는 코드도 감지할 수 있습니다. 이 옵션을 활성화하면 감지 프로세스가 느려집니다.

Maximum: 이 감지 모드에서는 Enhanced 감지 모드의 장점 외에도 QR Code Reader Pro가 더 작은 모듈 크기를 허용하며 더 작은 모듈 감지에서 더 높은 안정성을 제공합니다. 즉, 모든 감지 조건을 충족하지 않는 더 많은 코드를 감지할 수 있습니다. 이 옵션을 활성화하면 감지 프로세스가 느려집니다.

타임아웃#

시간이 중요한 애플리케이션의 경우 타임아웃을 지정할 수 있습니다. 타임아웃은 이미지에 QR 코드가 포함되지 않은 경우 등 처리 시간이 다양하거나 예측할 수 없는 상황에 유용합니다. 지정된 타임아웃을 초과하면 감지 프로세스가 중지되고 다음 이미지로 넘어갑니다.

Basler는 원하는 시간 제한보다 약간 낮게 타임아웃을 설정할 것을 권장합니다. 이는 vTool이 감지 프로세스를 즉시 중단하지 않기 때문입니다. 따라서 타임아웃을 원하는 시간 제한의 70~80%로 설정하세요.

vTool 설정하기#

QR Code Reader Pro vTool을 구성하려면:

QR Code Reader Pro vTool Settings

  1. vTool Settings 영역의 Recipe Management 창에서 Open Settings를 클릭하거나 vTool을 더블 클릭합니다.
    이면 QR Code Reader Pro 대화상자가 열립니다.
  2. Data Code Type 드롭다운 목록에서 원하는 data code type을 선택합니다.
  3. Number of QR Codes 영역에서 감지할 QR 코드의 개수를 선택합니다. 감지할 코드의 최대 개수를 알 수 없는 경우 Unlimited를 선택합니다.
  4. Detection Mode 영역에서 원하는 감지 모드를 선택합니다.
  5. Polarity 드롭다운 목록에서 애플리케이션에 적합한 옵션을 선택합니다.
    애플리케이션의 코드가 특정 극성을 가지고 있는 경우 그에 따라 설정을 선택합니다. 이미지 내 코드의 극성을 알 수 없거나 극성이 다른 여러 코드가 발생하는 경우 Any를 선택합니다.
  6. Timeout 영역에서 특정 시간이 지난 후 감지를 종료할지 여부를 지정합니다. 타임아웃을 지정하려면 No timeout 확인란의 선택을 해제하고 입력란에 원하는 타임아웃을 입력합니다.

QR Code Reader Pro의 결과는 pin data view에서 확인할 수 있습니다. 여기에서 표시할 출력을 선택할 수 있습니다.

입력#

이미지#

Camera vTool 또는 이미지를 출력하는 vTool(예: Image Format Converter vTool)에서 직접 이미지를 허용합니다.

  • 데이터 형식: 이미지
  • Image format: 8비트 모노 또는 컬러 이미지. 컬러 이미지는 내부적으로 모노 이미지로 변환됩니다.

ROI#

ROI Creator vTool 또는 영역이나 직사각형을 출력하는 기타 vTool에서 관심 영역을 수신합니다. 여러 직사각형이나 영역은 내부적으로 병합되어 단일 관심 영역을 형성합니다. Starter 버전은 RectangleF만 지원합니다.

  • Data type: RectangleF, RectangleF Array, Region, Region Array

출력#

텍스트#

QR 코드에 인코딩된 텍스트 문자열을 반환합니다.

  • 데이터 타입: String Array

Regions#

찾은 각 QR 코드에 대한 영역을 반환합니다. 영역은 사각형 모양입니다. 시각화 목적이나 후속 feature extraction에 사용할 수 있습니다.

  • 데이터 타입: Region Array

OrientedBoxes_px#

찾은 각 QR 코드에 대한 방향성 경계 상자를 반환합니다.

  • Data type: RectangleF Array

일반적인 선행 vTools#

Typical Successors#