各种教学视频或文档资料 +QQ:635992897
-
准备Android-ndk Android-sdk eclipse(ADT+CDT) Java-JDK opencv android SDK软件包并配置好Java环境
-
将opencv android SDK拷贝到Android工程目录下,将OpenCV-2.4.10-android-sdk\sdk\java导入到项目
-
配置NDK
-
新建一个调用opencv的Android项目,让此项目支持JNI(eclipse直接编译so,之前写错了,应该是加载native的support)
-
添加opencv依赖库
-
添加opencv头文件
-
将Android opencv SDK armeabi-v7a中的libopencv_java.so拷贝到JNI目录下并在Android.mk中添加
#OpenCV_INSTALL_MODULES:=on
#OPENCV_CAMERA_MODULES:=off
OPENCV_LIB_TYPE:=SHARE
ifeq ("$(wildcard $(OPENCV_MK_PATH))","")
#try to load OpenCV.mk from default install location
include D:/Ovationsoft/Android/lxctest/OpenCV-2.4.10-android-sdk/sdk/native/jni/OpenCV.mk
else
include $(OPENCV_MK_PATH)
endif
include $(CLEAR_VARS)
LOCAL_MODULE := opencv_java
LOCAL_SRC_FILES := libopencv_java.so
include $(PREBUILT_SHARED_LIBRARY) -
创建Java调用JNI的类
-
在OnClickListener添加: static {
System.loadLibrary("TongueProcess");
if (!OpenCVLoader.initDebug()) {
// Log.i("test", "OpenCVLoader.initDebug() 失败");
} else {
System.loadLibrary("opencv_java");
}
} -
-
进入到项目bin/classes目录,javah包名+类名生成头文件并将头文件拷贝到JNI目录
-
创建CPP文件,并在Android.mk中添加
LOCAL_MODULE := ImgFun
LOCAL_SRC_FILES :=com_ovation_healthmirror_utils_TestOpencv.cpp
include$(BUILD_SHARED_LIBRARY)
-
直接Build Project即可生成so(build前要把引用的第三方so库拷贝到JNI目录下做备份并在Android.mk中配置
include$(CLEAR_VARS)
LOCAL_MODULE := BaiduMapSDK_base_v3_7_0
LOCAL_SRC_FILES :=libBaiduMapSDK_base_v3_7_0.so
include$(PREBUILT_SHARED_LIBRARY))