[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
다음 포스팅에서는 캔버스에 그려진 사각형을 클릭할 수 있는 기능을 추가해보겠다!