서적에 관한 질문 및 오류 등을 문의 할 수 있으며, 저자로부터 직접 답변을 받을 수 있습니다.

큰 어려움을 통과하고 나니 자꾸 욕심이 드네요.. --;;;

 

오늘 질문만 세개째입니다...

 

너무 많이 질문드려 죄송한 마음 금할 길이 없습니다.....

 

다름이 아니오라 NDK를 이용하여 camera 제어를 해 보고 싶어 여기저기 자료를 찾고 있는 중인데 

 

적절한 예제를 찾지 못하였습니다..

 

제가 작년 중반기에 카메라 관련하여 새로운 영상처리 알고리즘을 하나 개발하였는데 이를 안드로이드에 넣어 보고 싶습니다.

 

카메라로부터 흘러 나오는 프래임 데이터(bayer 든 YUV, bitmap 데이터건 상관 없습니다.)를 직접

 

받아서 처리해 보고 싶은데 안드로이드 자바의 SurfaceView 클래스 예제들에서는 이런 기능을 하는 예제가 보이지 않습니다.

 

따라서 혹시 NDK를 이용하여 camera 제어를 해 보신 분이나 예제를 가지고 계신 분이 있으시면

 

염치없습니다만, 공유해 주실 수 있는 지요?

 

염치없는 제 글 끝까지 읽어 주셔서 감사합니다.

 

즐거운 저녁 보내십시오.


전호철

2013.01.11 07:12:34
*.35.2.206

가장 심플하게 접근하는 방법은

JAVA에서 camera를 구동시켜 얻은 화상데이터를 NDK로 처리하는 것 같습니다.

카메라 데이터 얻는 방법은 인터넷에 많이 있습니다. 바코드스캐너라던지.... 훨씬 더 간단한 샘플도 많이 있을겁니다.


native에서 camera 에 직접 접근하는것은....가능하긴 한데 좀 복잡스러워서....

고도리

2013.01.11 08:42:42
*.111.12.170

음......전호철님 말대로 복잡스럽습니다.


왜냐하면 커널 내에 있는 데이터 형태로 넘어오기 때문에 부가적으로 해야할 일이 많을 수 있습니다.

즉, 데이터를 얻어오는 것도 힘들 수 있다는 얘기입니다.


일단 소스를 보시는데 큰 문제가 없다면.......libstagefright/CameraSource.cpp 를 참고하시는게 가장 좋을겁니다.


저도 근래 프로젝트를 저 소스를 가지고 진행하려고 하고 있습니다.

파란새

2013.01.11 11:09:12
*.178.131.160

삼성에서 NDA 를 통해 제공하는 ICS 소스를 찬찬히 살펴 보시면

카메라에서 YUV 형태로 입력영상을 읽어들이는 부분이 있었던걸로 기억 합니다 ...

카메라 입력영상을 사용해서 코덱구동 부분까지 제공했던것으로 파악하고 있읍니다 ...

 

카메라 HAL 쪽 관련부분에 개발자가 응용 가능하도록 이미 관련소스를 삼성에서 제공했던것으로 기억합니다 ....

 

ICS 소스를 세밀히 살펴 보시기를 ....

 

 

죽유

2013.01.11 18:00:27
*.95.154.133

답변 감사합니다. 전호철님, 고도리님, 파란새님.

 

첫번째로 전호철님 말씀대로 JAVA에서 camera를 구동시켜 얻은 화상데이터를 NDK로 처리하는 것을

 

시도해 보아야겠습니다.

 

그런데  전호철님께서 말씀하신  JAVA에서 camera를 구동시켜 화상데이터를 얻어 영상처리하고 다시 이를 실시간 디스플래이하는 예제가 잘 않보입니다.. ^^;;;

 

어떤 키워드로 찾아 보아야 합니까?

 

알려주시면 감사하겠습니다.

 

도와주십시오.

 

두번째로 제 주종목이 영상 디바이스의 pre-processing(3A, IPC)을 하는 모듈을 설계 및 컨설팅하는 것입니다.

 

제 전 직장이 디지털 카메라를 만드는 부서여서 제가 맡은 분야가 카메라의 pre-processing(3A, IPC) 였습니다.

 

지금도 현 직장에서 영상 디바이스의 pre-processing(3A, IPC)을 수행하고 있습니다.

 

따라서 현재 제가 안드로이드 NDK를 배우는 이유는 여러 다른 이유가 있습니다만,

 

주로  실시간 및 대용량 영상 데이터 처리에 한계점을 가진 자바 계열 언어를 가지고 개발하다 포기했던, C/C++로 구현된 제 영상처리 모듈을 JNI를 통해 안드로이드 시스템에 발현하는 것과

 

카메라 디바이스 드라이버(책에 보면 GPIO 컨트롤부분을 감명깊게 읽었습니다. ^^)를 제어해 보고 싶은 것 때문이었습니다.

 

그리고 안드로이드로 카메라 디바이스 드라이버를 제어만 할 수 있다면,

 

제가 몸담고 있는 분야 (영상처리 분야. 특히, 3A[AE/AWB/AF])에서 큰 이슈가 될 것이고 많은 일거리가 창출될 것으로 사료됩니다.

 

고도리님 말씀대로  제 스스로 CameraSource.cpp를 공부해 볼 필요가 있겠습니다.

 

고도리님께서 간략하게 파일 패스를 말씀해 주셨는데 CameraSource.cpp의 풀 파일 패스를 알고 싶습니다.

 

세번째로 파란새님께서 말씀하신 ICS 라 하심은 안드로이드의 IceCreamSandwich를 말씀하시는 겁니까?

 

그것이 맞다면 안드로이드 4.0 소스의 어느 부분을 살펴 보면 되는지요?

파란새

2013.01.11 18:38:31
*.178.131.160

ICS 소스의 device 디렉토리를 살펴 보세요

 

 

죽유

2013.01.11 21:23:26
*.95.154.133

답변 감사합니다. 파란새님.

 

말씀해 주신 부분 살펴보도록 하겠습니다.

 

알려주셔서 감사합니다.

 

그리고 첫번째로 전호철님이 조언해 주신 방법을 해보려고 여기저기 인터넷 문서를 찾아 보니

 

OpenCV에 nativePreviwer라는 클래스가 있습니다.

 

이것이 제가 첫번째로 시도해 해보려고 하는 기능인 것같아 보입니다.

 

그런데 제가 원하는 기능은 카메라로부터 프래임 버퍼 얻어와서

 

데이터 처리 후 (이부분은 제가 하면 됩니다.)

 

다시 프리뷰로 반환해 주는 기능만  있으면 되는데 

 

OpenCV가 영상처리하는 라이브러리라 저에게는 쓸데 없는 기능이 많이

 

들어 있어 많이 복잡해 보이네요.. ^^;;;

 

소스만 보고 다시 리빌딩(grab preview frame data -> process grabbed frame data -> preview processed data)하는데 시간이 제법 많이 걸릴 것 같습니다.

 

혹시 OpenCV의 camera 핸들링하는 것에 대한 좋은 문서를 가지고 계시거나

 

OpenCV보다 간단하게 카메라의 프래임 버퍼만를 얻어서 데이터처리하고 

 

이를 다시 프리뷰로 돌려 놓는 방법을 아시는 분이 계시면 알려 주시면 너무 감사하겠습니다.

 

예제가 아니더라도 방법만이라도 알려 주십시오.

 

제가 grab preview frame data & preview processed data 하는 기능을 완료하면

 

간단한 예제 소스는 공개하도록 하겠습니다.. ^^

 

도와 주십시오.

 

즐거운 하루 보내십시오.

 

감사합니다.

죽유

2013.01.11 23:32:30
*.95.154.133

문의 드린 내용을 stack overlow에서 OpenCV의 nativePreviwer 보다 간단한

 

예제를 찾기는 하였습니다.

 

그런데 화면 drawing 모듈이 비트맵으로 되어 있어서 실시간 디스플래이가 되는 지 궁금합니다..--;;

 

다음주까지 테스트해 보고 유용하면 예제 소스를 이곳에 올려 놓겠습니다.

 

혹시라도 문의 드린 내용 grab preview frame data & preview processed data에 대해 좋은 조언이나

 

방법이 있으시면 계속적인 조언 부탁 드리겠습니다.

 

제가 계속 모니터링하겠습니다.

 

즐거운 주말 보내십시오.

 

감사합니다.

 

 

 

List of Articles
번호 제목 글쓴이 날짜 조회 수
83 ffmpeg HOPLAY [3] 네이쳐 2013-12-01 4792
82 안드로이드의 모든 것NDK (고현철,전호철 지음) 책 실습 중 문제에... [1] 어떤이의꿈 2013-10-02 5398
81 init: sys_prop: unable to stop service ctl [DVBService] ... [2] 제임스59 2013-09-22 5480
80 NDK 책내용중에 3.11 외부 라이브러리 활용하기 에서 질문 드립니... file [5] 엽스 2013-08-30 5590
79 ndk 38페이지 질문_repo file [1] 제임스59 2013-08-28 12060
78 여러 분들이 말씀하신 것처럼 책(NDK)의 예제코드를 올려주실 수 없... [2] 트론 2013-08-24 5255
77 surfaceflinger에서 화면을 dump뜨는 메카니즘에 대해서... 김바람 2013-08-19 5134
76 안드로이드 4.2 프레임버퍼 접근 질문드려요~! [6] 범내 2013-07-30 5947
75 [압축된 07-TestSkia 예제파일 올려주세요] [1] 밥줘잉 2013-05-23 5664
74 MediaServer 에 관련해서 질문드려요 [10] 김바람 2013-03-27 6580
73 3rd party app에서 프레임워크 수정된 걸 적용시키려면 어떻게 해야... [3] 김바람 2013-03-17 4838
72 [예제12.SDL] Android 에서 SDL 사용하는 예제 실행 안됨 문의... [7] 둘리 2013-03-12 5609
71 PDK를 이용하여 안드로이드 프레임워크 so파일 참조에 관해서 질문있... [7] 김바람 2013-03-07 26815
70 예제를 따라하던 중 Android.mk 파일로 APK파일 생성 후 설치시 ... [6] 김바람 2013-03-05 12338
69 네이티브 스레드로 자바 콜백 만들기 질문드립니다. [2] 조재영 2013-02-14 5661
68 GPIO 컨트롤 하기 예제 중 insmod에 관하여 문의드립니다. [2] 미누유희 2013-02-13 5126
67 OpenGL 책p168 예제 질문드립니다. Android홀릭 2013-02-06 5413
66 카메라로부터 프래임 데이터 추출하는 예제 입니다. file [1] 죽유 2013-01-24 5383
» NDK를 이용한 camera 제어 예제에 대해 문의 드립니다. [7] 죽유 2013-01-11 8050
64 NEON관련 좋은 참고 문서가 있을까요? [7] 죽유 2013-01-10 5392

사용자 로그인