안녕하세요.
다름이 아니고, 현재 영상처리를 통해 얻어낸 정보(색이라던가 움직임이라던가) 등등으로 폰 UI를 자동적으로 조작하는 앱을 개발하고 있는 학생입니다.(공모전용)
그런데, 현재 제가 원하는 기능을 실현하기 위해서는
1. 카메라가 백그라운드에서 동작해서
2. 다른 앱을 구동하던가, 다른 Activity가 켜지던가, 홈버튼을 눌러서 메인으로 빠지던가 그런거 상관없이 실시간으로 얻어낸 영상데이터를 처리해서
3. 데이터를 실시간으로 얻어내야 합니다.(여기서 UI 조작은 성공했네요)
그래서 Service 상에서 카메라를 구동하여 실시간으로 영상을 얻어내는 방법을 고려하고 있습니다.
하지만, 실질적으로 Android 상에서 SurfaceView(같은 Preview를 보여주는 무언가)가 없으면 카메라 영상 데이터에 접근을 못하는 것을 알게 되었습니다.
현재 해외 포럼을 검색해서 얻은 결과는
Dummy SurfaceView를 사용하는 것 : 안됩니다 ㅠㅠ(기종 별로 다른 것 같네요)
아주 아주 작게(1x1로) SurfaceView를 만드는 방법 : 이건 그 activity를 빠져나가면 surfaceDestroy 땜에 녹화가 중단됩니다.
OpenCV의 NativeCamera : 이건 제 기종에선 안된다고 하네요(Galaxy S4 LTE-A)
혹시 방법 알고 계시면 답변 부탁드립니다.
PS. 혹시 Linux에서 바로 camera 데이터를 뽑아버리는 방법은 있을까요? 조금 무리수이기는 한데 그나마 문제가 덜할 것 같습니다. 혹시 그리고 이 경우에는 데이터 포맷은 어떻게 되는가요?