2014-06-07 3 views
1

Android에서 사진의 유사성을 감지 할 수있는 앱을 만들려고합니다. 나는 OpenCV와 SurfFeatureDetector으로하려고하고있다. 하지만 지금 OpenCV의에서이 nonfree 패키지 아니에요 내가이 튜토리얼 https://sites.google.com/site/wghsite/technical-notes/sift_surf_opencv_android에 따라 이동하기 위해 노력하고있어하지만 문제는군요 :OpenCV Android with nonfree package (SURF)

설명을 자원 경로 위치를 입력합니다 * [OBJ/지역/ 가 APPNAME 라인 588 실패/libmixed_sample.so 'armeabi-V7A/libmixed_sample.so] 오류 1 APPNAME의 C/C++

타겟

문제점 레시피'OBJ/지방/armeabi-V7A 외부 위치 : C : \ NVPACK \ android-ndk-r9d \ build \ core \ build-binary.mk C/C++

문제가 정의되지 않음 'cv :: SURF :: SURF (double, int, int, bool, bool)'appname 행 54, 외부 위치 : C : \ NVPACK \ android-ndk-r9d \ toolchains \ arm -linux-androideabi-4.6 \ prebuilt \ windows \ arm-linux-androideabi \ bin \ ld.exe : \ obj \ local \ armeabi-v7a \ objs-debug \ mixed_sample \ jni_part.o : 함수 Java_sk_appname_MyOpenCVActivity_MojaSkuska : JNI \ jni_part.cpp C APPNAME 선 107 'CV : SURF위한 VTT'로/C++

문제 정의 참조 외부 위치 : C : \ NVPACK \ 안드로이드 NDK-r9d \ 툴체인 \ 아암 linux- androideabi-4.6 \ prebuilt \ windows \ arm-linux-androideabi \ bin \ ld.exe :디버그 \ mixed_sample \ jni_part.o : 함수 cv :: SURF :: ~ SURF() : sdk \ native \ jni \ include \ opencv2 \ nonfree \ features2d. \ obj \ local \ armeabi-v7a \ APPNAME 라인 'CV : SURF위한 VTABLE'에 HPP C는/C++

문제 정의 참조 (107) 외부의 위치 : C : \ NVPACK \ 안드로이드 NDK-r9d의 \ 툴체인 \ 아암 리눅스 androideabi-4.6 \ 디버그 \ mixed_sample \ jni_part.o : 에서 함수 cv :: SURF :: ~ SURF (빌드 된 \ windows \ arm-linux-androideabi \ bin \ ld.exe : ) \ obj \ local \ armeabi-v7a \ objs-) : sdk \ native \ jni \ include \ opencv2 \ nonfree \ features2d.hpp C/C++ 문제

나는 정말로 필사적이다, 나는 3 일 동안 많은 튜토리얼로이 작업을 시도하지만 아무것도 작동하지 않는다. 하지만/libs가에/armeabi-V7A는 비 자유 라이브러리가 지은된다 - 내가 제대로 삽입 라이브러리가 있다면 내가 아무 생각이

LOCAL_PATH := $(call my-dir) 

include $(CLEAR_VARS) 

OPENCV_CAMERA_MODULES:=on 
OPENCV_INSTALL_MODULES:=on 
#include ./sdk/native/jni/OpenCV-tegra3.mk 
include ./sdk/native/jni/OpenCV.mk 

LOCAL_MODULE := mixed_sample 
LOCAL_SRC_FILES := jni_part.cpp 
LOCAL_LDLIBS += -llog -ldl 

include $(BUILD_SHARED_LIBRARY) 


#pridane 

include $(CLEAR_VARS) 
LOCAL_MODULE := nonfree_prebuilt 
LOCAL_SRC_FILES := libnonfree.so 
include $(PREBUILT_SHARED_LIBRARY) 

include $(CLEAR_VARS) 
LOCAL_MODULE := opencv_java_prebuilt 
LOCAL_SRC_FILES := libopencv_java.so 
include $(PREBUILT_SHARED_LIBRARY) 

:이 Android.mk입니다. 또한 jni_part.cpp (SURF를 사용하려는 곳)에서 가져올 때 #include <opencv2/nonfree/features2d.hpp>, erros없이 괜찮습니다. 제발 도와주세요, 제게 조언을 해줄 수 있다면 정말 좋을 것입니다. 고맙습니다.

답변

0

주요 문제는 Android.mk입니다.

2 개의 LOCAL_SRC_FILES를 추가 할 수 없습니다 (이유는 모르겠지만 실제로는 멍청한 것입니다).

LOCAL_PATH := $(call my-dir) 

include $(CLEAR_VARS) 

OPENCV_CAMERA_MODULES:=on 
OPENCV_INSTALL_MODULES:=on 
include ./sdk/native/jni/OpenCV.mk 

LOCAL_MODULE := mixed_sample 
LOCAL_SRC_FILES := jni_part.cpp \ 
    nonfree_init.cpp \ 
precomp.cpp \ 
sift.cpp \ 
surf.cpp 
LOCAL_LDLIBS += -llog -ldl 
include $(BUILD_SHARED_LIBRARY) 

LOCAL_C_INCLUDES:= ./sdk/native/jni/include 
LOCAL_MODULE := nonfree 
LOCAL_CFLAGS := -Werror -O3 -ffast-math 
LOCAL_LDLIBS += -llog 

그것은 정말 이상한 문제가 있었다,하지만 지금은 모든 것이 잘 작동하는 것 같다 :

그래서이 최종 버전이었다.

관련 문제