본문 바로가기

Dev/기타

[Yolo_v2] 샘플 코드 해석

깃헙에서 욜로와 안드로이드를 연동한 코드를 찾았다. 어떻게 생겼나 구경좀 하자

 model, util, view, config, tesorflow image recognizer, yolo classifier가 있다. 일단 눈에 보이는 xml을 보겠다.ㅋㅋㅋ

1. activity_camera.xml

이 xml은 CameraActivity.java와 연결되어 있다.

2. CameraActivity.java

getWindgetwindow().addflags(windowmanager.layoutparams.flag_keep_screen_on) : 유저의 입력을 받지 않아도 계속 화면이 켜져 있도록 해야 하는 경우 설정해준다.

hasPersmission() : 모르겠으면 ctrl+b를 눌러보면 메소드가 정의된 곳으로 화면이 이동된다. 보니 카메라 접근 권한과 관련된 메소드다. 카메라 접근 권한 설정이 되어 있으면, cameraConnectionFragment를 호출한다.

3. cameraConnectionragment.java

4. camera_connection_fragment

5. AutoFitTextureView.java

6. OverlayView.java

멤버 변수에 callbacks, results, colors 등의 List 객체가 있는 걸 볼 수 있다. 이것들은 model 패키지에 존재한다.

result에 값들이 있으면 박스를 그린다.

getLocation()을 통해 박스 모양을 설정한다.

getTitle()이 이미지 인식 결과이고, getConfidenc()가 정확도 인것 같다.

그 뒤에 canvas에 붙이는 과정이다.

results 는 List<Recognition> 객체인데 어떤 모양인지 보자.

7. Recognition.java

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

다음 포스팅에서는 캔버스에 그려진 사각형을 클릭할 수 있는 기능을 추가해보겠다!