인터넷을 일주일동안 찾아봤는데도 감이 안잡히네요.
하고싶은 것은 openGL 을 뷰에 추가하고 거길 통해서 카메라의 프리뷰를 보여주는 겁니다.
그럴려면 PreviewCallback에서 데이터를 뽑아오면 되는거 같은데 인터넷에서 예제 찾아서 아무리 해도 안되더군요.
opengl es1.0을 이용해서 하고 있습니다만 프리뷰를 콜백으로 받으면 텍스쳐로 입히는 형식으로 하려고 했었습니다.
이 방식 말고 더 좋은 방식이 있나요?
도움 좀 부탁드립니다.
안녕하세요.
저도 관련 고민을 현재 하고 있는데요.
일단 아직 저도 구현은 안해보았지만 다음과 같이 구현을 하려고 계획 중입니다.
1. PreviewCallback을 이용하여 Preview 영상을 얻어온다.
* PreviewCallback말고도 preview 데이터를 얻어 올 수 있는 함수가 총 3가지가 됩니다.
성능 향상을 위해서는 어떤 것을 사용해야 할지 잘 결정이 필요할 것 같습니다.
2. PreviewCallback으로 넘어온 데이터를 bitmap 영상으로 전환한다.
(일반적으로 YUV 포멧 형식으로 넘어오기 때문에...)
3. 변환된 이미지를 glsurfaceview에 텍스쳐를 입혀 이미지를 그린다.
단 java에서 yuv 포멧을 bitmap으로 전환시 일부 디바이스에서는 성능이 나오지 않습니다.
저 같은 경우에는 ndk를 이용하여 처리를 하려고 하고 있습니다.
(참고로 android 2.3 버젼에서는 NativeActivity를 이용하여 바로 이미지를 opengl을 이용하여 화면에 노출 시킬 수 있습니다.)
좀더 프레임을 많이 얻어오기 위해서는 2, 3번 과정을 얼마나 속도를 향상 시킬수 있느냐가 관건인 것 같습니다.
다른 좋은 방법 있으시면 공유 부탁드립니다. ^^
검색해서 나오는 방법들도 다 비슷한것 같은데 대부분은 그런식인 거군요.
다 해봐도 결과물이 나오지 않아 뭐가 문제인지 몰랐었습니다. 지금도 마찬가지고요.
아무래도 기기의 성능때문으로 생각되네요. 다른 기기로 해봐야겠습니다.
친절한 답변 감사합니다.^^
로그인 유지
안녕하세요.
저도 관련 고민을 현재 하고 있는데요.
일단 아직 저도 구현은 안해보았지만 다음과 같이 구현을 하려고 계획 중입니다.
1. PreviewCallback을 이용하여 Preview 영상을 얻어온다.
* PreviewCallback말고도 preview 데이터를 얻어 올 수 있는 함수가 총 3가지가 됩니다.
성능 향상을 위해서는 어떤 것을 사용해야 할지 잘 결정이 필요할 것 같습니다.
2. PreviewCallback으로 넘어온 데이터를 bitmap 영상으로 전환한다.
(일반적으로 YUV 포멧 형식으로 넘어오기 때문에...)
3. 변환된 이미지를 glsurfaceview에 텍스쳐를 입혀 이미지를 그린다.
단 java에서 yuv 포멧을 bitmap으로 전환시 일부 디바이스에서는 성능이 나오지 않습니다.
저 같은 경우에는 ndk를 이용하여 처리를 하려고 하고 있습니다.
(참고로 android 2.3 버젼에서는 NativeActivity를 이용하여 바로 이미지를 opengl을 이용하여 화면에 노출 시킬 수 있습니다.)
좀더 프레임을 많이 얻어오기 위해서는 2, 3번 과정을 얼마나 속도를 향상 시킬수 있느냐가 관건인 것 같습니다.
다른 좋은 방법 있으시면 공유 부탁드립니다. ^^