바코드 스캔 애플리케이션에서는 속도가 매우 중요합니다. 창고에서 카메라로 제품을 스캔하든, 생산 라인에서 부품을 스캔하든, 계산대에서 상품을 스캔하든 마찬가지입니다.
VintaSoft Barcode .NET SDK는 기본적으로 사용되는 자동 바코드 인식 모드를 제공합니다. 자동 바코드 인식 모드는 모든 조건에서 바코드 인식 품질을 최적화하도록 설계되었습니다.
또한
VintaSoft Barcode .NET SDK는 다양한 특수 설정을 통해 각 상황에 맞는 최적의 성능 및/또는 바코드 인식 품질을 달성할 수 있는 수동 바코드 인식 모드도 제공합니다.
아래에서는
VintaSoft Barcode .NET SDK 설정을 세밀하게 조정하여 다양한 환경에서 빠른 바코드 판독을 달성하는 방법을 살펴보겠습니다.
1단계. 기본(일반) 스캔 설정 정의
이 설정은 모든 유형의 바코드 인식 속도에 영향을 미칩니다.
바코드 유형 설정
바코드 유형 또는 바코드 하위 집합 유형 설정:
reader.Settings.ScanBarcodeTypes = BarcodeType.QR | BarcodeType.DataMatrix;
reader.Settings.ScanBarcodeSubsets.Add(BarcodeSymbologySubsets.GS1_128);
예상 바코드 개수 설정
ReaderSettings.ExpectedBarcodes 속성을 사용하여 이미지에서 예상되는 바코드 개수를 설정하세요.
인식 모드 설정
인식 모드는 바코드 인식 속도에 가장 큰 영향을 미칩니다. VintaSoft 바코드 리더기는 다양한 상황에서 사용할 수 있는 네 가지 인식 모드를 제공합니다.
-
자동(기본값). 이 모드는 구성이 필요하지 않으며 인식 품질을 위해 속도를 희생합니다. 인식 속도는 바코드가 있는 이미지의 품질에 직접적으로 영향을 받습니다. 이 모드는 이미지 및 바코드의 매개변수를 알 수 없는 경우(조명 변화 또는 불균일, 흐림, 알 수 없는 바코드 크기 등)에 적합합니다.
reader.Settings.AutomaticRecognition = true;
-
반복. 이 모드는 바코드 조명이 변할 때 사용됩니다. 상위 및 하위 이진화 임계값과 반복 횟수를 설정하십시오. 인식 속도는 반복 횟수와 상위 및 하위 이진화 임계값의 적절한 선택에 따라 달라집니다.
reader.Settings.AutomaticRecognition = false;
reader.Settings.ThresholdMode = ThresholdMode.Iterations;
reader.Settings.ThresholdMin = 100;
reader.Settings.ThresholdMax = 600;
reader.Settings.ThresholdIterations = 6;
-
자동 임계값. 이 모드는 바코드의 조명이 변하지만 바코드가 일반적인 변조(흑백 색상으로 구성)를 가질 때 사용됩니다. 이미지 품질에 관계없이 인식 속도는 고정됩니다.
reader.Settings.AutomaticRecognition = false;
reader.Settings.ThresholdMode = ThresholdMode.Automatic;
-
수동 임계값. 이 모드는 바코드 조명이 변하지 않을 때, 예를 들어 카메라가 생산 라인에 설치된 경우에 사용해야 합니다. ReaderSettings.Threshold 속성을 사용하여 이진화 임계값을 설정하십시오. 이미지 품질과 관계없이 인식 속도는 고정됩니다.
reader.Settings.AutomaticRecognition = false;
reader.Settings.ThresholdMode = ThresholdMode.Iterations;
reader.Settings.Threshold = 450;
이미지에서 바코드 크기 확인
1차원 바코드의 품질이 좋고 높이가 큰 경우
ReaderSettings.ScanInterval 속성을 사용하여 스캔 간격을 늘리십시오.
이미지에서 바코드 위치 지정
이미지에서 바코드가 위치할 수 있는 사각형 영역을 알고 있는 경우,그런 다음
ReaderSettings.ScanRectangle 속성을 사용하여 사각형의 좌표를 지정합니다.
2단계. 고급 설정.
VintaSoft는 바코드 인식 엔진에 대한 고급 제어 기능을 제공하여 다른 업체에서는 제공하지 않는 성능 우위를 확보하고 다양한 환경에서 탁월한 속도를 제공합니다.
바코드 모듈 크기 결정
이미지에 단일 모듈의 크기가 6픽셀을 초과하는 바코드가 포함된 경우
ReaderSettings.ImageScaleFactor 속성을 사용하여 이미지 크기를 줄여 단일 모듈의 크기를 3~6픽셀 범위로 조정하십시오. 이렇게 하면 바코드 인식 속도가 크게 향상됩니다.
멀티스레드 처리
VintaSoft Barcode Reader는 기본적으로 멀티스레드 처리를 사용합니다.
ReaderSettings.MaximumThreadCount 속성을 사용하여 사용되는 스레드 수를 변경할 수 있습니다.
이진화 미세 조정
VintaSoft 바코드 리더는
빠른 모드와
고품질 모드(기본값)의 두 가지 적응형 이진화 모드를 제공합니다. 이미지의 바코드 조명이 균일한 경우, 적응형 이진화의 빠른 모드를 사용하십시오.
reader.Settings.AdaptiveBinarizationType = AdaptiveBinarizationType.Fast;
스캔할 바코드 유형에 따른 스캔 설정 정의
3단계: 최대 속도를 위한 추가 조치
- 바코드 인식 시간을 제한하려면 ReaderSettings.RecognitionTimeout 속성을 사용하십시오.
- 인식용으로 BarcodeReader 클래스의 인스턴스를 하나만 생성하고 여러 번 사용하십시오. 여러 스레드에서 서로 다른 이미지 인식을 수행하는 경우 각 스레드에 대해 BarcodeReader 클래스의 인스턴스를 하나씩 사용하십시오.
- 가능한 경우 이미지 인코딩/디코딩을 피하십시오. 이미지 픽셀 데이터가 메모리에 있는 경우(예: 카메라에서) 다음을 이미지 인식 소스로 사용하십시오.
- 귀사의 업무에 맞춘 VintaSoft 바코드 리더기 맞춤 설정에 대한 개별적인 권장 사항은 당사 전문가 팀에 문의하십시오.
결론: 어떤 환경에서도 빠른 바코드 스캔
VintaSoft 바코드 리더는 조명이 어둡거나 고르지 않은 환경, 흐릿한 이미지, 복잡한 레이아웃 또는 왜곡된 이미지와 같은 까다로운 환경에서도 빠르게 작동하도록 설계되었습니다. 바코드 스캔 프로세스에 대한 다양한 설정 옵션을 통해 애플리케이션에서 다음과 같은 이점을 누릴 수 있습니다.
- 더 나은 사용자 경험을 위한 즉각적인 스캔 제공
- 일관된 바코드 인식 품질 유지
- 필요에 따라 스캔 속도 조정
- 모바일, 임베디드 또는 고성능 시스템에 중요한 하드웨어 부하 감소