분류
1. 개요
구글에서 제공하는 오픈소스로 Zebra Crossing의 약자. QR코드 스캔 애플리케이션의 대다수가 이 애플리케이션을 이용했다고 해도 과언이 아닐정도로 널리 쓰이고 있는 코드다. 다양한 바코드를 인식할 수 있다. 인식할 수 있는 바코드 종류는 총 15가지.
2. 구성
3. 알고리즘
기본적인 흐름은 다음 형식을 따른다.
말 자체는 간단하게 했지만 QR코드 패턴을 찾아내서 데이터에 저장하는게 말처럼 쉽지만은 않다.
이미지 매트릭스나 QR코드정보를 저장하는 매트릭스는 Hashtable과 Vector를 이용하는 듯.
4. 기타
- 카메라 해상도가 고정되어있다. 때문에 QR 스캔에 있어 카메라 성능은 초점이 빨리 잡히고 안잡히고 말고는 의미가 없다.
5. 바깥고리
[1] 에뮬레이터에서 카메라 촬영이 안되므로 샘플 이미지를 통해 스캔할 수 있도록하는 코드.[2] 에뮬레이터에서 카메라 촬영이 안되므로 샘플 이미지를 통해 스캔할 수 있도록하는 코드.[3] 단, 바코드를 스캔하여 결과를 보여주는 동안에는 영상 수입을 중단한다.[4] 카메라에서 얻는 영상은 YCbCr포맷이기 때문에 여기서 Y(명도)만 빼오면 된다.[5] 한마디로 흑백으로 바꾼다는 소리.[6] 단, 바코드를 스캔하여 결과를 보여주는 동안에는 영상 수입을 중단한다.[7] 카메라에서 얻는 영상은 YCbCr포맷이기 때문에 여기서 Y(명도)만 빼오면 된다.[8] 한마디로 흑백으로 바꾼다는 소리.