您的位置:首页 > 移动开发 > Android开发

Android Native源码中使用 openCV

2016-09-08 00:00 225 查看

步骤:

下载sdk :我下载的是 OpenCV-3.1.0-android-sdk
http://opencv.org/downloads.html 中选择android版本即可,下载后解压

2. 把解压了 OpenCV-3.1.0-android-sdk中OpenCV_android_sdk\sdk\native\libs下根据CPU类型复制 32位和64位的libopencv_java3.so到android源码的external目录下新建的openCV_libs\arm32和 openCV_libs\arm64下

(armeabi就是针对普通的或旧的arm cpu,armeabi-v7a是针对有浮点运算或高级扩展功能的arm cpu。arm64-v8a为 64位ARM设备,我这边复制的是 armeabi 和arm64-v8a目录下的库)

3. 把OpenCV_android_sdk\sdk\native\jni\include (头文件)目录也复制到openCV_libs下

4. 把libopencv_java3.so编译到系统lib下 ,即写Android.mk文件

别忘了编译成功后 push到手机系统的 /system/lib/ 和system/lib64/下

LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)
LOCAL_MODULE := libopencv_java3
LOCAL_SRC_FILES_32 := openCVlibs/arm32/libopencv_java3.so
LOCAL_MULTILIB := 32
LOCAL_MODULE_CLASS := SHARED_LIBRARIES
LOCAL_MODULE_SUFFIX := .so
include $(BUILD_PREBUILT)

include $(CLEAR_VARS)
LOCAL_MODULE := libopencv_java3
LOCAL_SRC_FILES_64 := openCVlibs/arm64/libopencv_java3.so
LOCAL_MULTILIB := 64
LOCAL_MODULE_CLASS := SHARED_LIBRARIES
LOCAL_MODULE_SUFFIX := .so
include $(BUILD_PREBUILT)

5. 在使用openCV库地方地方引入库和头文件即可,使用的openCV相关xxx.cpp文件的

目录的 Android,mk(编译xxx.cpp)中查看是否有这两个变量:

LOCAL_SHARED_LIBRARIES

LOCAL_C_INCLUDES

如果已经存在就在LOCAL_SHARED_LIBRARIES 后面添加 libopencv_java3

存在 LOCAL_C_INCLUDES 就在后面追加 $(TOP)\external\openCV_libs\include

不存在的话:添加以下两句

LOCAL_SHARED_LIBRARIES := \

libopencv_java3

LOCAL_C_INCLUDES := \

$(TOP)\external\openCV_libs\include

6 . 此时配置都已经可以了 在使用openCV API的xxx.cpp里面加入
#include "opencv2/opencv.hpp"

就可以是使用openCV中的API了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息