android-opencv로 포팅후 코딩해보셨던분 계신가요?^^;



android-opencv포팅이 성공적으로 되고 CVCamera 예제를 돌려봤습니다.

거기에는 FAST,STAR,SURF등의 알고리즘을 이용하여 추출점을 뽑아내는 소스가 작성되있더군요.


특히 알고리즘이 구현되어있는 소스를 알아보려 따라가다보니 라이브러리 파일뒤로 숨더군요^^;

이 라이브러리에 구현되어있는 함수들을 이용하여 SURF나 FAST특징점을 추출하고 있었습니다.



예를들어 CVCamera.java를 살펴보면 

processor.detectAndDrawFeatures(idx, pool, cvcamera.DETECT_FAST);

라는 코드가 있고 이 코드는 Processor.java파일의 

cvcameraJNI.Processor_detectAndDrawFeatures(swigCPtr, this, idx, image_pool.getCPtr(pool), pool, feature_type);


이는 또 cvcameraJNI.java의 public final static native int DETECT_FAST_get(); 으로 네이티브 함수를 호출하고있었습니다.

제가 이해한 바로는 DETECT_FAST_get() 이부분이 android-opencv 라이브러리에 이 정보들이 집약되어있고 $sh build.sh 명령을 내릴때

생기는걸로 알고있습니다. 그리고 이 라이브러리 파일은 빌드시에 JNI파일을 컴파일,빌드하는걸로 알고있구요.


문제는 이 네이티브 함수가 호출되는 cpp나 c파일로 가서 어떤형식으로 구현되있는지 알고싶은데

어딨는지 모르겠습니다...ㅠ_ㅠ




 하물며 android-opencv포팅시 어디에 이러한 네이티브 함수가 위치해있는지,

그리고 어떤 파라미터를 받고 넘기는지에대한 레퍼런스를 보고싶은데 구글링해봐도 어딨는지 모르겠습니다 ㅠ

혹시 이 문제에 대해 알고계시면 답변부탁드립니다.ㅠ_ㅠ



제가 궁극적으로 만들고싶은 프로젝트는 opencv를 이용한 객체추적인데 SURF는 너무 느리더군요ㅠ

그래서 FAST알고리즘을 사용하려 하는데 FAST알고리즘으로 객체추적이 가능할까요?




질문을 요약해보자면




1.public final static native int DETECT_FAST_get();

으로 선언되있는 부분을 제가 작성해야하나요?

제가 생각하기론 포팅시에 생기는 라이브러리인 libopencv.so 파일에 그 정보가 다 담겨져있고 가져다가 쓰는걸로 아는데

제가 잘못알고있는건가요?^^; 

분명 코드어딘가에 작성되있을텐데 그부분은 어디있나요?JNI파일 다 뒤져서 찾아봐도 없네요ㅠ_ㅠ


2.안드로이드하고는 관계없지만 SURF알고리즘대신 FAST알고리즘으로 객체추적이 가능할까요?









긴글 읽어주셔서 감사합니다.~!

답변 감사히 받겠습니다~!^^