2012-05-05 2 views
4

QR 코드가 있다고 가정하면 타이밍 정보를 찾는 방법 (코드의 버전 및 크기를 결정하는 방법)은 어떻게됩니까?QR 코드에서 타이밍 정보를 찾는 방법은 무엇입니까?

코드를 감지하면 세 개의 검은 색 사각형 인 정렬 정보를 찾습니다. 그런 다음 그림을 변형하여 그림이 모든 가장자리와 모듈이 동일한 크기와 올바른 방향으로 똑바로되도록 만듭니다. 다음 단계는 타이밍 정보를 찾는 것이므로 코드 디코딩을 시작할 수 있습니다. 하지만 어떻게 찾습니까? 나는 얼마나 많은 모듈이 한 줄에 있는지 알지 못하기 때문에 정확한 위치를 모른다. 타이밍 라인을 어떻게 감지합니까?

라이브러리를 사용하여 사진 정보를 디코딩 할 수 없습니다. 아이디어는 그림 정보를 인식하는 것입니다.

답변

2

모듈 크기를 예측할 수있는 방법은 여러 가지가 있습니다.

ZXing은 파인더의 1-1-3-1-1 링 패턴을 기반으로 추정합니다.

실제로 위치를 정확하게 알고있는 경우 파인더 사이에 타이밍 패턴이 설정되어 있습니다. 픽셀을 걷고 흰색과 검정색 영역의 평균 길이를 계산하는 것입니다.

ZXing 견적은 조금 더 까다 롭지 만 꽤 잘 작동합니다. 타이머 패턴을 따라 가면 아마도 제거 될 것이라는 잘못된 추정이 나오는 경우가 있습니다. 그러나 ZXing의 일반적인 사용 사례는 이미지의 실시간 스트림이며 잘못된 추정치는별로 중요하지 않습니다.

+0

음, 나는 정렬 패턴 (세 개의 큰 점들) 사이의 타이밍 패턴에 대해 이야기하고있었습니다. 문제는 정렬 패턴을 찾으면 그 패턴을 어떻게 찾습니까? 정렬 링의 링 크기를 검사해야합니까? – polemon

+0

그래, 내가 그럴거야. 파인더 패턴을 기반으로 몇 가지 초기 견적을 작성한 다음 타이밍 마크를 통해 확인/수정하십시오. 이론 상으로는 가능한 가장 높은 주파수, 즉 가장 작은 모듈 크기를 찾는 것과 같은 더 많은 신호 처리를 할 수 있지만 비교적 빠르게 복잡해지며 단순한 경험적 방법이 적절하게 작동하지 않는다는 것은 분명하지 않습니다. – smparkes

관련 문제