마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

안드로이드 QR코드를 스캔이 아닌 촬영 한다음 디코딩이 가능할까요?

0 추천

zxing library를 이용하여 QR코드 생성 및 스캔하는 어플을 만들었습니다. 추가로 여기에 QR코드를 스캔이 아닌 카메라로 촬영한다음 QR코드 부분만 크롭하여 디코딩하려고 시도중입니다.

관련 자료를 찾다가 아래의 정보를 찾게 되었고 시도해 보았으나 실패했습니다.

https://stackoverflow.com/questions/32120988/qr-code-decoding-images-using-zxing-android

 

안되는 원인을 찾기 힘들어 github의 이슈에 글을 등록하였더니 

That means that the approach of trying to take a photo and scanning a single image like you tried will not work well, since the library is not designed for that use case.

(구글 번역 : 즉, 사진을 찍고 시도한 것처럼 하나의 이미지를 스캔하려는 접근 방식은 라이브러리가 해당 사용 사례를 위해 설계되지 않았기 때문에 잘 작동하지 않습니다.)

라는 답변을 얻었습니다. 

다른 방법이 없을까요?

익명사용자 님이 2018년 5월 17일 질문
single image를 스캔하는 건 잘 동작 하지 않을수 있다는 답변이니, 여러장 사진을 인식 시키는 것도 방법이고,

간단하진 않겠지만. open source니 직접 코드를 튜닝 해 보시는 것도 방법일 듯 합니다.

아래의 과정을 통해 인식한다는데, Detector 쪽을 튜닝해야 할 듯 합니다.
- 카메라를 연 후 프리뷰를 가동한다.
- 카메라로부터 지속적으로 영상을 받아들인다.
- 영상에서 밝기값만 추출하여 이를 기반으로 이진화를 수행한다.
- Detector 클래스를 통해 QR코드 영역을 찾아냈다.
- 찾아낸 영역을 Decoder 클래스를 통해 해석한다.
- 결과 값과 결과 영상을 리턴
- 결과 값을 분석하여 URL일 경우 탭하면 인터넷으로 연결되도록 한다.
- 화면에 결과 영상과 결과 값을 출력한다.
코드를 튜닝해서 해결했습니다. ㅎ

답변 달기

· 글에 소스 코드 보기 좋게 넣는 법
· 질문에 대해 추가적인 질문이나 의견이 있으면 답변이 아니라 댓글로 달아주시기 바랍니다.
표시할 이름 (옵션):
개인정보: 당신의 이메일은 이 알림을 보내는데만 사용됩니다.
스팸 차단 검사:
스팸 검사를 다시 받지 않으려면 로그인하거나 혹은 가입 하세요.
...