핵심 요약
우아한형제들이 카카오톡 교환권 바코드 인식 이슈를 ZXing.js 기반으로 해결하고, 노란 테두리로 인한 이진화 임계값 문제를 분석해 중앙값 이진화와 128 임계값 이진화를 조합하는 듀얼 디코딩으로 안정성을 높였습니다.
구현 방법
- Canvas에서 ImageData를 추출하고 RGB 밝기를 (R+2G+B)/4로 계산
- 이진화는 128 임계값으로 고정하고 중앙값 이진화를 우선 시도한 뒤 실패 시 HybridBinarizer 재시도
- 문제 원인 분석으로 노란 테두리의 영향 가능성을 확인하고, 본질적 해결에 집중
- zxing.js 기반 디코더를 바코드 중앙 행부터 차례로 스캔하는 흐름
주요 결과
- 다양한 교환권 이미지에서 바코드 번호를 안정적으로 추출
- 듀얼 이진화 전략으로 재현성과 처리 신뢰성을 높임


