멀티심볼 래스터 바코드 스캐닝

HPDFCreateBuiltInBarcodeDecoder는 네이티브 디코더가 지원하는 linear, QR Code, Data Matrix ECC 200, PDF417 심볼이 섞인 경우를 포함해, 같은 raster 안에서 떨어져 있는 심볼 여럿을 스캔합니다

기존 DecodeLoadedPageBarcodes overload는 이 스캐너를 자동으로 사용하고, 페이지 파이프라인이 PDF 좌표로 매핑하기 전까지 각 결과의 픽셀 경계를 유지합니다

결과는 top 위치, 그다음 left 위치 순으로 정렬됩니다. 중복 감지는 바코드 유형, 텍스트, raw 바이트, 겹치는 위치가 모두 일치할 때만 병합되고, 떨어진 위치의 동일 페이로드는 별개 결과로 남습니다

네이티브 헬퍼와 지오메트리

HPDFBarcodeRecognitionScan은 더 풍부한 THPDFBarcodeScanSymbols 배열과 THPDFBarcodeScanInfo 통계가 필요한 호출자를 위해 HPDFScanBarcodeBitmap을 export합니다

THPDFBarcodeDecodeRequest, HPDFCreateBuiltInSingleBarcodeDecoder, THPDFBarcodeScanOptions.Default를 넘기면 됩니다. 단일 심볼 팩토리는 애플리케이션별 region 선택을 위해 원본 디코더에 직접 접근하는 길도 그대로 열어 둡니다

HPDFCreateScanningBarcodeDecoder는 평범한 디코더 인터페이스만 필요한 애플리케이션을 위해, 넘겨받은 단일 심볼 IHPDFBarcodeDecoder를 같은 region 스캐닝, 중복 억제, 집계 예산으로 감쌉니다

각 THPDFBarcodeScanSymbol은 평범한 Barcode 레코드, 네 개의 raster Corners, HasPerspectiveGeometry, 심볼별 Diagnostic을 담습니다

Data Matrix 지오메트리는 전경 행 극값에서 컨벡스 헐을 구하고 네 개의 모서리 선을 복원한 뒤 인접 선을 교차시켜 8파라미터 호모그래피를 풀어, 5점 다수결로 모듈 중심을 샘플링합니다

디코더는 지원되는 정사각형 및 표준 직사각형 ECC 200 크기와 회전, 미러를 시도한 뒤 텍스트나 raw 바이트를 반환하기 전에 finder 경계와 Reed-Solomon 블록을 검증합니다. 회전과 사다리꼴 투영은 복구 가능한 데이터 모듈 손상과 겹쳐 나타날 수 있습니다

검증된 Data Matrix 지오메트리에서 OrientationDegrees는 raster 양의 x축 기준 시계 방향으로 정준 top 모서리 각도를 재고, Corners는 시작 코너가 정해지지 않은 채 감지된 헐을 시계 방향으로 따라갑니다

HPDFDataMatrixGeometry는 HPDFLocateDataMatrixQuadrilateral과 HPDFSampleBarcodeQuadrilateral을, HPDFDataMatrixDecoder는 HPDFDecodeDataMatrixQuadrilateral을 export하므로, 투영된 네 코너를 이미 아는 애플리케이션은 이들을 바로 쓸 수 있습니다

신뢰도 값은 보정된 통계 확률이 아니라 디코더의 검증 경로를 나타냅니다. 투시 샘플링한 ECC 200 결과는 현재 경계와 오류 정정 검증에 성공하면 0.90을 보고합니다

다른 네이티브 바코드 유형에서 헬퍼의 코너는 반환된 축 정렬 경계를 나타내고 HasPerspectiveGeometry는 false입니다. 기존 신뢰도와 방향 값은 그대로 유지됩니다

예산과 원자적 발행

스캐너는 Otsu binarization과 4픽셀 occupancy 타일을 쓴 뒤, 세 가지 유한 이웃 거리 중 가장 큰 값부터 작은 값 순으로 행렬 전경 region을 연결합니다. 덕분에 떨어져 있는 조각보다 회전된 심볼 전체를 먼저 시도하면서도, 분리된 심볼용 타이트한 재시도와 특이한 크기나 연결된 아트워크용 전체 raster 폴백을 함께 유지합니다

전경 타일이 이미 검증된 결과로 덮인 region은 디코딩 전에 건너뛰고, 호출자의 소스 bitmap 픽셀과 픽셀 형식은 그대로 보존됩니다

기본 한도는 후보 디코딩 256회, 총 후보 픽셀 67,108,864개, 예상 작업 바이트 268,435,456바이트, 2초 요청 데드라인입니다. 기존의 4096×4096 크기와 4,194,304 픽셀 입력 상한도 그대로 적용됩니다

요청의 MaxResults, MaxTextCodeUnits, MaxRawBytes는 다른 위치의 반복 페이로드를 포함해 발행된 전체 결과 집합에 적용됩니다

THPDFBarcodeScanInfo는 시도한 후보 수, 누적 디코딩 픽셀, 기각된 후보, 겹치는 중복 결과를 보고합니다

취소는 EHPDFOperationCancelled로 전파됩니다. 예산 소진이나 디코더 오류는 진단 정보와 함께 false를 반환하고, 모든 실패는 앞선 후보가 성공적으로 디코딩됐더라도 심볼 배열을 빈 채로 둡니다

비어 있거나 균일하게 저대비인 입력은 빈 배열로 성공하고, 지원되지 않는 고대비 아트워크는 추측한 심볼을 반환하지 않습니다

인식 범위

행렬 스캐닝은 타이트한 조각보다 큰 연결 그룹을 먼저 시도하며, 분리 심볼 재시도와 원래 데드라인을 유지합니다. 네이티브 QR 지오메트리는 전체 후보 그리드를 할당하고 샘플링하기 전에 정확한 finder 패턴을 검증합니다

여러 심볼을 읽으려면 region 그룹핑을 위해 눈에 띄는 배경 분리가 충분해야 합니다. 맞닿은 심볼, 겹친 심볼, 주변의 촘촘한 아트워크, 심하게 훼손된 locator 경계, 아주 작은 투영 모듈, 극단적 투시는 위치 파악을 막을 수 있습니다

DMRE, 곡면, 사진 착광 복구, 기존 네이티브 디코더 세트 이외의 추가 바코드 유형은 이 프로파일 범위 밖입니다

독립 픽스처는 반복 QR 페이로드가 있는 6심볼 콜라주, 회전 및 사다리꼴 Data Matrix 이미지, 직사각형 ECC 200, 복구 가능한 데이터 모듈 손상과 결합된 투시를 커버합니다

지원되는 페이로드 모드는 내장 OCR 및 바코드 인식에서, 페이지-raster 좌표 매핑은 로드된 페이지 바코드 디코딩을 참고하세요